

Le traduzioni sono generate tramite traduzione automatica. In caso di conflitto tra il contenuto di una traduzione e la versione originale in Inglese, quest'ultima prevarrà.

# Esecuzione di operazioni sugli oggetti in blocco con le operazioni in batch
<a name="batch-ops"></a>

È possibile utilizzare Operazioni in batch S3 per eseguire operazioni in batch su larga scala su oggetti Amazon S3. Le operazioni in batch S3 possono eseguire una singola operazione su elenchi di oggetti Amazon S3 specificati. Un solo processo può eseguire l'operazione specificata su miliardi di oggetti contenenti exabyte di dati. Amazon S3 tiene traccia dei progressi, invia notifiche e archivia un report dettagliato sul completamento di tutte le azioni, offrendo un'esperienza completamente gestita, verificabile e serverless. Puoi utilizzare S3 Batch Operations tramite la console Amazon S3 AWS Command Line Interface ,AWS CLI() o l'API AWS SDKs REST di Amazon S3.

Usa S3 Batch Operations per copiare oggetti, aggiornare la crittografia lato server degli oggetti e impostare tag di oggetto o liste di controllo degli accessi (). ACLs Puoi anche avviare il ripristino degli oggetti da S3 Glacier Flexible Retrieval o richiamare una funzione per eseguire azioni personalizzate utilizzando i tuoi oggetti. AWS Lambda Puoi eseguire queste operazioni su un elenco personalizzato di oggetti oppure utilizzare un report di Amazon S3 Inventory per generare facilmente liste di oggetti. Operazioni in batch Amazon S3 utilizza le stesse operazioni API di Amazon S3 già utilizzate con Amazon S3. 

**Nota**  
Per ulteriori informazioni sull'uso della classe di storage Amazon S3 Express One Zone con i bucket di directory, consulta [S3 Express One Zone](directory-bucket-high-performance.md#s3-express-one-zone) e [Operazioni con i bucket di directory](directory-buckets-overview.md). Per ulteriori informazioni sull'utilizzo delle Operazioni in batch con S3 Express One Zone e bucket di directory, consulta [Utilizzo di Operazioni in batch con i bucket di directory](directory-buckets-objects-Batch-Ops.md).

## Nozioni di base sulle operazioni in batch S3
<a name="batch-ops-basics"></a>

È possibile utilizzare Operazioni in batch S3 per eseguire operazioni in batch su larga scala su oggetti Amazon S3. Le operazioni in batch S3 possono eseguire una singola operazione su elenchi di oggetti Amazon S3 specificati. 

### Terminologia
<a name="batch-ops-terminology"></a>

In questa sezione si utilizzano i termini *manifesto*, *processo*, *operazione* e *attività*, definiti come segue:

**Manifesto**  
Un manifesto è un oggetto Amazon S3 che contiene le chiavi dell'oggetto su cui si desidera che Amazon S3 agisca. Se si desidera creare un processo di Operazioni in batch, è necessario fornire un manifesto. Il manifesto generato dall'utente deve contenere il nome del bucket, la chiave dell'oggetto e, facoltativamente, la versione dell'oggetto per ogni oggetto. Se si fornisce un manifesto generato dall'utente, deve essere sotto forma di un report di Inventario Amazon S3 o di un file CSV.   
È anche possibile fare in modo che Amazon S3 generi automaticamente un manifesto in base ai criteri di filtro degli oggetti specificati durante la creazione del processo. Questa opzione è disponibile per i job Batch Operations creati utilizzando la console Amazon S3 o per qualsiasi tipo di processo creato utilizzando AWS Command Line Interface (AWS CLI) o l'API REST AWS SDKs di Amazon S3. 

**Processo**  
Un processo è l'unità di lavoro di base per le operazioni in batch S3. Un processo include tutte le informazioni necessarie per eseguire l'operazione specificata sugli oggetti elencati nel file manifest Una volta fornite queste informazioni e richiesto l'inizio del processo, il processo esegue l'operazione specificata su ciascun oggetto del manifest. 

**Operazione**  
L'operazione è il tipo di [operazione](https://docs.aws.amazon.com/AmazonS3/latest/API/API_Operations.html) API, ad esempio la copia di oggetti, che desideri venga eseguita dal processo Batch Operations. Ogni processo esegue un singolo tipo di operazione in tutti gli oggetti specificati nel manifest.

**Attività**  
Un'attività è l'unità di esecuzione per un processo. Un'attività rappresenta una singola chiamata a un'operazione Amazon S3 o AWS Lambda API per eseguire l'operazione del processo su un singolo oggetto. Nel corso del ciclo di vita di un processo, le operazioni in batch S3 creano un'unica attività per ogni oggetto specificato nel manifest.

### Funzionamento di un processo Batch S3 Operations
<a name="batch-ops-basics-how-it-works"></a>

Un processo è l'unità di lavoro di base per le operazioni in batch S3. Un processo include tutte le informazioni necessarie per eseguire l'operazione specificata su un elenco di oggetti. Per creare un processo, devi fornire alle operazioni in batch S3 un elenco di oggetti e specificare l'operazione da eseguire su tali oggetti. Per informazioni sulle operazioni in batch supportate da S3, consulta [Operazioni supportate dalle operazioni in batch S3](batch-ops-operations.md).

Un processo batch esegue un'operazione specifica su ogni oggetto incluso nel suo *manifesto*. Un manifest elenca gli oggetti che si desidera elaborare con un processo batch e viene memorizzato come oggetto in un bucket. Puoi utilizzare report in formato CSV (comma-separated values, valori separati da virgola) [Catalogazione e analisi dei dati con Inventario S3](storage-inventory.md) come manifest per semplificare la creazione di elenchi di oggetti di grandi dimensioni presenti in un bucket. È anche possibile specificare un manifest in un formato CSV semplice che consente di eseguire operazioni batch su un elenco personalizzato di oggetti contenuti in un singolo bucket. 

Dopo aver creato un processo, Amazon S3 elabora l'elenco di oggetti nel manifest ed esegue l'operazione specificata su ogni oggetto. Durante l'esecuzione di un processo, puoi monitorarne lo stato a livello di programmazione o tramite la console Amazon S3. È anche possibile configurare un processo affinché generi un rapporto di completamento al termine della sua esecuzione. Il rapporto di completamento descrive i risultati di ciascuna attività eseguita dal processo. Per ulteriori informazioni sul monitoraggio dei processi, consulta [Gestione dei processi di operazioni in batch Amazon S3](batch-ops-managing-jobs.md). 

Operazioni in batch S3 prevede dei costi. Ti viene addebitato il costo della creazione dei processi Operazioni in batch, inclusi quelli che vengono annullati prima del completamento. Per ulteriori informazioni, consulta [Prezzi di Amazon S3](https://aws.amazon.com/s3/pricing/).

Per impostazione predefinita, i processi Operazioni in batch S3 possono elaborare fino a 4 miliardi di oggetti per tutte le operazioni. In particolare, i job Copy, Object Tagging, Object Lock, invocazione di una AWS Lambda funzione e Batch Replication possono supportare fino a 20 miliardi di oggetti. È previsto un limite di 6 processi di replica in batch attivi per AWS account. Per iniziare a creare un processo Operazioni in batch S3, consulta [Creazione di un processo Operazioni in batch S3](https://docs.aws.amazon.com/AmazonS3/latest/userguide/batch-ops-create-job.html).

## Tutorial su Operazioni in batch S3
<a name="batch-ops-basics-tutorial"></a>

Il seguente tutorial presenta end-to-end le procedure complete per alcune attività di Batch Operations.
+ [Tutorial: transcodifica in batch dei video con Operazioni in batch S3](tutorial-s3-batchops-lambda-mediaconvert-video.md)

# Concessione di autorizzazioni per le operazioni in batch
<a name="batch-ops-iam-role-policies"></a>

Prima di creare ed eseguire processi operazioni in batch S3, è necessario concedere le autorizzazioni necessarie. Per creare un processo di operazioni in batch Amazon S3, è necessaria l'autorizzazione utente `s3:CreateJob`. La stessa entità che crea il job deve inoltre avere l'`iam:PassRole`autorizzazione a passare il ruolo AWS Identity and Access Management (IAM) specificato per il job a Batch Operations.

Nelle sezioni seguenti vengono fornite informazioni sulla creazione di un ruolo IAM e sul collegamento delle policy. Per informazioni generali sulla specificazione delle risorse IAM, consulta [IAM JSON Policy elements: Resource](https://docs.aws.amazon.com/IAM/latest/UserGuide/reference_policies_elements_resource.html) in the *IAM User Guide*.

**Topics**
+ [

## Creazione di un ruolo IAM di operazioni in batch S3
](#batch-ops-iam-role-policies-create)
+ [

## Allegare policy di autorizzazione
](#batch-ops-iam-role-policies-perm)

## Creazione di un ruolo IAM di operazioni in batch S3
<a name="batch-ops-iam-role-policies-create"></a>

Perché Amazon S3 possa eseguire operazioni in batch S3 per tuo conto, occorre concedergli le opportune autorizzazioni. Concedi queste autorizzazioni tramite un ruolo AWS Identity and Access Management (IAM). Quando crei un job S3 Batch Operations, specifichi il ruolo IAM che desideri venga utilizzato dal job. Questo può essere un ruolo IAM esistente. Oppure, se utilizzi la console Amazon S3 per creare il lavoro, può trattarsi di un ruolo IAM creato da Amazon S3 per te.

Se scegli di lasciare che Amazon S3 crei il ruolo IAM per te, crea e associa automaticamente policy di fiducia e autorizzazioni al ruolo. La policy di fiducia consente al service principal (`batchoperations.s3.amazonaws.com`) di S3 Batch Operations di assumere il ruolo. La politica di autorizzazione consente tutte le azioni necessarie per l'esecuzione del lavoro, in base alle impostazioni specificate per il lavoro. Ad esempio, se si configura un processo per copiare oggetti da un bucket a un altro bucket del proprio Account AWS, la politica delle autorizzazioni consente azioni come e. `s3:GetObject` `s3:PutObject` È possibile rivedere le politiche di fiducia e autorizzazioni per il ruolo prima di inviare il lavoro. Questa opzione è disponibile solo se utilizzi la console Amazon S3 per creare un job e configuri il job per utilizzare un elenco di oggetti generato da S3 che utilizza filtri o si basa su una configurazione di replica. Dopo aver inviato il lavoro, il ruolo IAM persiste nel tuo account. Puoi quindi riutilizzarlo per i lavori successivi che eseguono la stessa operazione o eliminarlo al termine dell'esecuzione del lavoro.

Se preferisci creare il ruolo IAM manualmente, gli esempi di policy in questa sezione possono aiutarti a creare il ruolo. Per ulteriori informazioni sulla creazione e la configurazione dei ruoli, consulta i [ruoli IAM](https://docs.aws.amazon.com/IAM/latest/UserGuide/id_roles.html) nella *Guida per l'utente IAM*. Per informazioni sulle autorizzazioni per le operazioni dell'API S3 in base al tipo di risorsa S3, consulta. [Autorizzazioni necessarie per le operazioni API di Amazon S3](using-with-s3-policy-actions.md) Per ulteriori esempi, consulta e. [Controllo delle autorizzazioni per le operazioni in batch utilizzando i tag di processo](batch-ops-job-tags-examples.md) [Copia di oggetti mediante operazioni in batch S3](batch-ops-examples-copy.md)

Nelle policy IAM è inoltre possibile utilizzare le chiavi di condizione per filtrare le autorizzazioni di accesso per i processi di operazioni in batch Amazon S3. Per ulteriori informazioni e per un elenco completo delle chiavi di condizione specifiche per Amazon S3, consulta [Azioni, risorse e chiavi di condizione per Amazon S3](https://docs.aws.amazon.com/service-authorization/latest/reference/list_amazons3.html) in *Riferimento alle autorizzazioni di servizio*.

Per ulteriori informazioni sulle autorizzazioni alle operazioni API S3 per tipi di risorse S3, consulta [Autorizzazioni necessarie per le operazioni API di Amazon S3](using-with-s3-policy-actions.md).

Il video seguente mostra come configurare le autorizzazioni IAM per i job Batch Operations utilizzando la console Amazon S3.

[![AWS Videos](http://img.youtube.com/vi/https://www.youtube.com/embed/qpwHUrwAiUI//0.jpg)](http://www.youtube.com/watch?v=https://www.youtube.com/embed/qpwHUrwAiUI/)


### Policy di trust
<a name="batch-ops-iam-role-policies-trust"></a>

Per consentire al principale del servizio di operazioni in batch S3 di assumere il ruolo IAM, collega la seguente policy di attendibilità al ruolo.

------
#### [ JSON ]

****  

```
{
   "Version":"2012-10-17",		 	 	 
   "Statement":[
      {
         "Effect":"Allow",
         "Principal":{
            "Service":"batchoperations.s3.amazonaws.com"
         },
         "Action":"sts:AssumeRole"
      }
   ]
}
```

------

## Allegare policy di autorizzazione
<a name="batch-ops-iam-role-policies-perm"></a>

A seconda del tipo di operazioni, puoi collegare una delle policy seguenti.

Prima di configurare le autorizzazioni, tieni presente quanto segue:
+ A prescindere dall'operazione, Amazon S3 necessita delle autorizzazioni per leggere l'oggetto manifest dal bucket S3 e, facoltativamente, per scrivere un report nel bucket. Quindi, tutte le policy seguenti includono queste autorizzazioni.
+ Per i manifest di report di Amazon S3 Inventory, S3 Batch Operations richiede l'autorizzazione per leggere l'oggetto manifest.json e tutti i file di dati CSV associati.
+ Autorizzazioni specifiche della versione come `s3:GetObjectVersion` sono richieste solo quando si specifica l'ID versione degli oggetti.
+ Se esegui S3 Batch Operations su oggetti crittografati, il ruolo IAM deve avere accesso anche alle AWS KMS chiavi utilizzate per crittografarli.
+ Se invii un manifesto del rapporto di inventario crittografato con AWS KMS, la tua policy IAM deve includere le autorizzazioni `"kms:GenerateDataKey"` per l'oggetto manifest.json `"kms:Decrypt"` e tutti i file di dati CSV associati.
+ Se il processo Batch Operations genera un manifest in un bucket con le liste di controllo degli accessi (ACLs) abilitate e si trova in un altro Account AWS, è necessario concedere l'`s3:PutObjectAcl`autorizzazione nella policy IAM del ruolo IAM configurato per il processo batch. Se non si include questa autorizzazione, il processo batch fallisce con l'errore `Error occurred when preparing manifest: Failed to write manifest`.

### Copia gli oggetti: PutObject
<a name="batch-ops-put-copy-object-policy"></a>

------
#### [ JSON ]

****  

```
{
    "Version":"2012-10-17",		 	 	 
    "Statement": [
        {
            "Action": [
                "s3:PutObject",
                "s3:PutObjectAcl",
                "s3:PutObjectTagging"
            ],
            "Effect": "Allow",
            "Resource": "arn:aws:s3:::amzn-s3-demo-destination-bucket/*"
        },
        {
            "Action": [
                "s3:GetObject",
                "s3:GetObjectAcl",
                "s3:GetObjectTagging",
                "s3:ListBucket"
            ],
            "Effect": "Allow",
            "Resource": [
                "arn:aws:s3:::amzn-s3-demo-source-bucket",
                "arn:aws:s3:::amzn-s3-demo-source-bucket/*"
            ]
        },
        {
            "Effect": "Allow",
            "Action": [
                "s3:GetObject",
                "s3:GetObjectVersion"
            ],
            "Resource": [
                "arn:aws:s3:::amzn-s3-demo-manifest-bucket/*"
            ]
        },
        {
            "Effect": "Allow",
            "Action": [
                "s3:PutObject"
            ],
            "Resource": [
                "arn:aws:s3:::amzn-s3-demo-completion-report-bucket/*"
            ]
        }
    ]
}
```

------

### Sostituisci i tag degli oggetti: PutObjectTagging
<a name="batch-ops-put-object-tagging-policy"></a>

------
#### [ JSON ]

****  

```
{
  "Version":"2012-10-17",		 	 	 
  "Statement":[
    {
      "Effect":"Allow",
      "Action":[
        "s3:PutObjectTagging",
        "s3:PutObjectVersionTagging"
      ],
      "Resource": "arn:aws:s3:::amzn-s3-demo-destination-bucket/*"
    },
    {
      "Effect": "Allow",
      "Action": [
        "s3:GetObject",
        "s3:GetObjectVersion"
      ],
      "Resource": [
        "arn:aws:s3:::amzn-s3-demo-manifest-bucket/*"
      ]
    },
    {
      "Effect":"Allow",
      "Action":[
        "s3:PutObject"
      ],
      "Resource":[
        "arn:aws:s3:::amzn-s3-demo-completion-report-bucket/*"
      ]
    }
  ]
}
```

------

### Elimina l'etichettatura degli oggetti: DeleteObjectTagging
<a name="batch-ops-delete-object-tagging-policy"></a>

------
#### [ JSON ]

****  

```
{
    "Version":"2012-10-17",		 	 	 
    "Statement": [
        {
            "Effect": "Allow",
            "Action": [
              "s3:DeleteObjectTagging",
              "s3:DeleteObjectVersionTagging"
            ],
            "Resource": [
                "arn:aws:s3:::amzn-s3-demo-destination-bucket/*"
            ]
        },
        {
            "Effect": "Allow",
            "Action": [
                "s3:GetObject",
                "s3:GetObjectVersion"
            ],
            "Resource": [
                "arn:aws:s3:::amzn-s3-demo-manifest-bucket/*"
            ]
        },
        {
            "Effect": "Allow",
            "Action": [
                "s3:PutObject"
            ],
            "Resource": [
                "arn:aws:s3:::amzn-s3-demo-completion-report-bucket/*"
            ]
        }
    ]
}
```

------

### Sostituisci la lista di controllo degli accessi: PutObjectAcl
<a name="batch-ops-put-object-acl-policy"></a>

------
#### [ JSON ]

****  

```
{
  "Version":"2012-10-17",		 	 	 
  "Statement": [
    {
      "Effect": "Allow",
      "Action": [
        "s3:PutObjectAcl",
        "s3:PutObjectVersionAcl"
      ],
      "Resource": "arn:aws:s3:::amzn-s3-demo-destination-bucket/*"
    },
    {
      "Effect": "Allow",
      "Action": [
        "s3:GetObject",
        "s3:GetObjectVersion"
      ],
      "Resource": [
        "arn:aws:s3:::amzn-s3-demo-manifest-bucket/*"
      ]
    },
    {
      "Effect": "Allow",
      "Action": [
        "s3:PutObject"
      ],
      "Resource": [
        "arn:aws:s3:::amzn-s3-demo-completion-report-bucket/*"
      ]
    }
  ]
}
```

------

### Ripristina gli oggetti: RestoreObject
<a name="batch-ops-initiate-restore-policy"></a>

------
#### [ JSON ]

****  

```
{
  "Version":"2012-10-17",		 	 	 
  "Statement":[
    {
      "Effect":"Allow",
      "Action":[
          "s3:RestoreObject"
      ],
      "Resource": "arn:aws:s3:::amzn-s3-demo-destination-bucket/*"
    },
    {
      "Effect": "Allow",
      "Action": [
        "s3:GetObject",
        "s3:GetObjectVersion"
      ],
      "Resource": [
        "arn:aws:s3:::amzn-s3-demo-manifest-bucket/*"
      ]
    },
    {
      "Effect":"Allow",
      "Action":[
        "s3:PutObject"
      ],
      "Resource":[
        "arn:aws:s3:::amzn-s3-demo-completion-report-bucket/*"
      ]
    }
  ]
}
```

------

### Applica la conservazione Object Lock: PutObjectRetention
<a name="batch-ops-put-object-lock-policy"></a>

------
#### [ JSON ]

****  

```
{
    "Version":"2012-10-17",		 	 	 
    "Statement": [
        {
            "Effect": "Allow",
            "Action": "s3:GetBucketObjectLockConfiguration",
            "Resource": [
                "arn:aws:s3:::amzn-s3-demo-destination-bucket"
            ]
        },
        {
            "Effect": "Allow",
            "Action": [
                "s3:PutObjectRetention",
                "s3:BypassGovernanceRetention"
            ],
            "Resource": [
                "arn:aws:s3:::amzn-s3-demo-destination-bucket/*"
            ]
        },
        {
            "Effect": "Allow",
            "Action": [
                "s3:GetObject",
                "s3:GetObjectVersion"
            ],
            "Resource": [
                "arn:aws:s3:::amzn-s3-demo-manifest-bucket/*"
            ]
        },
        {
            "Effect": "Allow",
            "Action": [
                "s3:PutObject"
            ],
            "Resource": [
                "arn:aws:s3:::amzn-s3-demo-completion-report-bucket/*"
            ]
        }
    ]
}
```

------

### Applica il blocco legale Object Lock: PutObjectLegalHold
<a name="batch-ops-put-object-legal-hold-policy"></a>

------
#### [ JSON ]

****  

```
{
    "Version":"2012-10-17",		 	 	 
    "Statement": [
        {
            "Effect": "Allow",
            "Action": "s3:GetBucketObjectLockConfiguration",
            "Resource": [
                "arn:aws:s3:::amzn-s3-demo-destination-bucket"
            ]
        },
        {
            "Effect": "Allow",
            "Action": "s3:PutObjectLegalHold",
            "Resource": [
                "arn:aws:s3:::amzn-s3-demo-destination-bucket/*"
            ]
        },
        {
            "Effect": "Allow",
            "Action": [
                "s3:GetObject",
                "s3:GetObjectVersion"
            ],
            "Resource": [
                "arn:aws:s3:::amzn-s3-demo-manifest-bucket/*"
            ]
        },
        {
            "Effect": "Allow",
            "Action": [
                "s3:PutObject"
            ],
            "Resource": [
                "arn:aws:s3:::amzn-s3-demo-completion-report-bucket/*"
            ]
        }
    ]
}
```

------

### Replica gli oggetti esistenti: InitiateReplication con un manifesto generato da S3
<a name="batch-ops-batch-replication-policy"></a>

Usa questa policy se si utilizza e si memorizza un manifesto generato da S3. Per ulteriori informazioni sull'uso delle Operazioni in batch per replicare gli oggetti esistenti, consulta [Replica di oggetti esistenti con Replica in batch](s3-batch-replication-batch.md).

------
#### [ JSON ]

****  

```
{
   "Version":"2012-10-17",		 	 	 
   "Statement":[
      {
         "Action":[
            "s3:InitiateReplication"
         ],
         "Effect":"Allow",
         "Resource":[
            "arn:aws:s3:::amzn-s3-demo-source-bucket/*"
         ]
      },
      {
         "Action":[
            "s3:GetReplicationConfiguration",
            "s3:PutInventoryConfiguration"
         ],
         "Effect":"Allow",
         "Resource":[
            "arn:aws:s3:::amzn-s3-demo-source-bucket"
         ]
      },
      {
         "Action":[
            "s3:GetObject",
            "s3:GetObjectVersion"
         ],
         "Effect":"Allow",
         "Resource":[
            "arn:aws:s3:::amzn-s3-demo-manifest-bucket/*"
         ]
      },
      {
         "Effect":"Allow",
         "Action":[
            "s3:PutObject"
         ],
         "Resource":[
            "arn:aws:s3:::amzn-s3-demo-completion-report-bucket/*",
            "arn:aws:s3:::amzn-s3-demo-manifest-bucket/*"    
         ]
      }
   ]
}
```

------

### Replica gli oggetti esistenti: InitiateReplication con un manifesto utente
<a name="batch-ops-batch-replication-policy-user"></a>

Usa questa policy se si utilizza un manifesto fornito dall'utente. Per ulteriori informazioni sull'uso delle Operazioni in batch per replicare gli oggetti esistenti, consulta [Replica di oggetti esistenti con Replica in batch](s3-batch-replication-batch.md).

------
#### [ JSON ]

****  

```
{
   "Version":"2012-10-17",		 	 	 
   "Statement":[
      {
         "Action":[
            "s3:InitiateReplication"
         ],
         "Effect":"Allow",
         "Resource":[
            "arn:aws:s3:::amzn-s3-demo-source-bucket/*"
         ]
      },
      {
         "Action":[
            "s3:GetObject",
            "s3:GetObjectVersion"
         ],
         "Effect":"Allow",
         "Resource":[
            "arn:aws:s3:::amzn-s3-demo-manifest-bucket/*"
         ]
      },
      {
         "Effect":"Allow",
         "Action":[
            "s3:PutObject"
         ],
         "Resource":[
            "arn:aws:s3:::amzn-s3-demo-completion-report-bucket/*"    
         ]
      }
   ]
}
```

------

### Calcola checksum: consenti`GetObject`, e `GetObjectVersion` `RestoreObject` `PutObject`
<a name="batch-ops-compute-object-checksum-policies"></a>

Utilizza questa policy per utilizzare l’operazione **Calcola il checksum** con Operazioni in batch S3. Le autorizzazioni per `GetObject`, `GetObjectVersion` e `RestoreObject` sono necessarie per ottenere e leggere i byte dei dati archiviati. Sostituisci i segnaposto per l’input dell’utente con le informazioni appropriate. Per ulteriori informazioni su **Calcola il checksum**, consulta [Verifica dell’integrità degli oggetti per i dati a riposo in Amazon S3](checking-object-integrity-at-rest.md).

```
{
  "Version": "2012-10-17",		 	 	 
  "Statement": [
    {
      "Effect": "Allow",
      "Action": [
        "s3:GetObject",
        "s3:GetObjectVersion",
        "s3:RestoreObject"
      ],
      "Resource": [
        "arn:aws:s3:::amzn-s3-demo-bucket1/*"
      ]
    },
    {
      "Effect": "Allow",
      "Action": [
        "s3:GetObject",
        "s3:GetObjectVersion"
      ],
      "Resource": [
        "arn:aws:s3:::amzn-s3-demo-bucket2/*"
      ]
    },
    {
      "Effect": "Allow",
      "Action": [
        "s3:PutObject"
      ],
      "Resource": [
        "arn:aws:s3:::amzn-s3-demo-bucket3/*"
      ]
    }
  ]
}
```

### Aggiorna la crittografia degli oggetti
<a name="batch-ops-update-encryption-policies"></a>

È necessario allegare la seguente politica di autorizzazioni per consentire a Batch Operations di leggere un manifesto, aggiornare il tipo di crittografia degli oggetti e scrivere un rapporto di completamento. Per utilizzare questa politica di autorizzazioni, sostituiscila *`user input placeholders`* con le tue informazioni. Per ulteriori informazioni sull'utilizzo di questa operazione e sulle autorizzazioni da assegnare al ruolo utilizzato dal responsabile IAM, consulta. [Aggiorna la crittografia degli oggetti](batch-ops-update-encryption.md)

```
{
    "Version": "2012-10-17",		 	 	 
    "Statement": [{
            "Sid": "S3BatchOperationsUpdateEncryption",
            "Effect": "Allow",
            "Action": [
                "s3:GetObject",
                "s3:GetObjectVersion",
                "s3:PutObject",
                "s3:UpdateObjectEncryption"
            ],
            "Resource": [
                "arn:aws:s3:::amzn-s3-demo-bucket-target"
                "arn:aws:s3:::amzn-s3-demo-bucket-target/*"
            ]
        },
        {
            "Sid": "S3BatchOperationsPolicyForManifestFile",
            "Effect": "Allow",
            "Action": [
                "s3:PutObject",
                "s3:GetObject",
                "s3:GetObjectVersion"
            ],
            "Resource": [
                "arn:aws:s3:::amzn-s3-demo-bucket-manifest/*"
            ]
        },
        {
            "Sid": "S3BatchOperationsPolicyForCompletionReport",
            "Effect": "Allow",
            "Action": [
                "s3:PutObject"
            ],
            "Resource": [
                "arn:aws:s3:::amzn-s3-demo-bucket-completion-report/*"
            ]
        },
        {
            "Sid": "S3BatchOperationsPolicyManifestGeneration",
            "Effect": "Allow",
            "Action": [
                "s3:PutInventoryConfiguration"
            ],
            "Resource": [
                "arn:aws:s3:::amzn-s3-demo-bucket-target"
            ]
        }
        {
            "Sid": "AllowKMSOperationsForS3BatchOperations",
            "Effect": "Allow",
            "Action": [
                "kms:Decrypt",
                "kms:GenerateDataKey",
                "kms:Encrypt",
                "kms:ReEncrypt*"
            ],
            "Resource": [
                "arn:aws:kms:us-east-1:111122223333:key/01234567-89ab-cdef-0123-456789abcdef"
            ]
        }
    ]
}
```

# Creazione di un processo di operazioni in batch S3
<a name="batch-ops-create-job"></a>

Con Operazioni in batch Amazon S3, puoi eseguire operazioni in batch su larga scala su un elenco di oggetti Amazon S3 specifici. In questa sezione vengono descritte le informazioni necessarie per creare un processo S3 Batch Operations e i risultati di una richiesta `CreateJob`. Fornisce inoltre istruzioni per creare un processo Batch Operations utilizzando la console Amazon S3, AWS Command Line Interface (AWS CLI) e. AWS SDK per Java

Quando crei un job S3 Batch Operations, puoi richiedere un rapporto di completamento per tutte le attività o solo per le attività non riuscite. Se almeno un'attività è stata richiamata correttamente, Operazioni in batch S3 genera un report per i processi che sono stati completati, che non sono andati a buon fine o che sono stati annullati. Per ulteriori informazioni, consulta [Esempi: report di completamento delle operazioni in batch S3](batch-ops-examples-reports.md).

Il video seguente fornisce una breve dimostrazione su come creare un processo Operazioni in batch utilizzando la console Amazon S3.

[![AWS Videos](http://img.youtube.com/vi/https://www.youtube.com/embed/qpwHUrwAiUI//0.jpg)](http://www.youtube.com/watch?v=https://www.youtube.com/embed/qpwHUrwAiUI/)


**Topics**
+ [

## Elementi della richiesta di un processo di operazioni in batch
](#batch-ops-create-job-request-elements)
+ [

## Specifica di un manifest
](#specify-batchjob-manifest)
+ [

## Generazione automatica di un elenco di oggetti e salvataggio come file manifesto
](#automatically-generate-manifest-file)
+ [

## Creazione di un file manifesto
](#create-manifest-file)
+ [

## Utilizzo di un manifesto esistente
](#specify-existing-manifest-file)
+ [

## Creazione di un processo
](#to-create-batch-ops-job)
+ [

## Risposte di lavoro
](#batch-ops-create-job-response-elements)

## Elementi della richiesta di un processo di operazioni in batch
<a name="batch-ops-create-job-request-elements"></a>

Per creare un processo di operazioni in batch S3, è necessario fornire le seguenti informazioni:

**Operazione**  
Specifica l'operazione che vuoi far eseguire alle operazioni in batch S3 sugli oggetti nel manifest. Ogni tipo di operazione accetta parametri specifici di tale operazione. Con Batch Operations, è possibile eseguire un'operazione in blocco, con gli stessi risultati che si otterrebbe se si eseguisse tale operazione one-by-one su ciascun oggetto.

**Manifesto**  
Un *manifesto* è un elenco di oggetti Amazon S3 che contiene le chiavi degli oggetti su cui si desidera che Amazon S3 agisca. Per specificare un manifesto per un processo Operazioni in batch, puoi utilizzare i seguenti metodi:  
+ Configura Operazioni in batch per generare un elenco di oggetti basato sui metadati specificati. Puoi salvare questo elenco come file manifesto e utilizzarlo quando crei il processo. Questa opzione è disponibile per qualsiasi tipo di lavoro creato utilizzando la console Amazon S3 AWS SDKs, o l'API AWS CLI REST di Amazon S3.
+ Genera automaticamente un elenco di oggetti in base a una configurazione di replica esistente. Puoi salvare questo elenco come file manifesto e utilizzarlo nuovamente per processi futuri. 
+ Crea un nuovo file manifesto manualmente.
+ Utilizza un manifesto esistente. 
+ Indipendentemente da come si specificano gli oggetti da utilizzare, il manifesto deve essere archiviato in un bucket per uso generico. Operazioni in batch non è in grado di importare manifesti esistenti da bucket di directory, né salvare elenchi di oggetti generati come manifesti in bucket di directory. Gli oggetti descritti all'interno del manifesto, tuttavia, possono essere archiviati in bucket di directory. Per ulteriori informazioni, consulta [Directory buckets](https://docs.aws.amazon.com//AmazonS3/latest/userguide/directory-buckets-overview.html).
+ Se gli oggetti nel manifesto si trovano in un bucket con versioni, specificando la versione IDs per gli oggetti si indica a Batch Operations di eseguire l'operazione su una versione specifica. Se non IDs viene specificata alcuna versione, Batch Operations esegue l'operazione sulla versione più recente degli oggetti. Se il manifesto include un campo ID versione, è necessario fornire un ID versione per tutti gli oggetti del manifesto.
Per ulteriori informazioni, consulta [Specifica di un manifest](#specify-batchjob-manifest).

**Priorità**  
Utilizza le priorità del processo per indicarne la priorità rispetto agli altri processi in esecuzione sul tuo account. Numeri maggiori indicano una priorità più alta.  
Le priorità del lavoro hanno un significato solo rispetto alle priorità stabilite per altri lavori nello stesso account e nella stessa regione. Pertanto puoi scegliere qualsiasi sistema di numerazione utile. Ad esempio, potreste voler assegnare a tutti i job **Restore** (`RestoreObject`) una priorità di 1, a tutti i job **Copy** (`CopyObject`) una priorità di 2 e a tutti i job di **Replace access control lists (ACLs`PutObjectAcl`)** () una priorità di 3.   
Operazioni in batch S3 assegna la priorità ai processi in base ai numeri di priorità ma non è garantito un ordinamento rigoroso. Pertanto, si consiglia di non utilizzare le priorità dei processi per accertarsi che un processo inizi o termini prima di un altro. Per essere certo che l'ordine venga rigidamente rispettato, attendi che un processo sia terminato prima di iniziare quello successivo. 

**RoleArn**  
Specificate un ruolo AWS Identity and Access Management (IAM) per eseguire il job. Il ruolo IAM che utilizzi deve disporre di autorizzazioni sufficienti per eseguire l'operazione specificata nel job. Ad esempio, per eseguire un processo `CopyObject`, il ruolo IAM deve disporre dell'autorizzazione `s3:GetObject` per il bucket di origine e dell'autorizzazione `s3:PutObject` per il bucket di destinazione. Il ruolo necessita anche delle autorizzazioni per leggere il manifesto e scrivere il report di completamento.  
Il ruolo IAM può essere un ruolo esistente. Oppure, se utilizzi la console Amazon S3 per creare il lavoro, può trattarsi di un ruolo IAM che Amazon S3 crea automaticamente per te. Per ulteriori informazioni, consulta [Concessione di autorizzazioni per le operazioni in batch](batch-ops-iam-role-policies.md).  
Per ulteriori informazioni sui ruoli IAM, consulta [Ruoli IAM](https://docs.aws.amazon.com/IAM/latest/UserGuide/id_roles.html) nella *Guida per l'utente di IAM*. Per ulteriori informazioni sulle autorizzazioni di Amazon S3, consulta la sezione [Azioni di policy per Amazon S3](security_iam_service-with-iam.md#security_iam_service-with-iam-id-based-policies-actions).  
I processi Operazioni in batch che eseguono azioni su bucket di directory richiedono autorizzazioni specifiche. Per ulteriori informazioni, consulta [AWS Identity and Access Management (IAM) for S3 Express One Zone](https://docs.aws.amazon.com//AmazonS3/latest/userguide/s3-express-security-iam.html).

**Report**  
Specifica se desideri che le operazioni in batch S3 generino un report di completamento. Se richiedi un report di completamento, dovrai inserire i parametri per il report in questo elemento. Sono necessarie le seguenti informazioni:  
+ Il bucket in cui desideri archiviare il report
**Nota**  
Il report deve essere archiviato in un bucket per uso generico. Operazioni in batch non può salvare report in bucket di directory. Per ulteriori informazioni, consulta [Directory buckets](https://docs.aws.amazon.com//AmazonS3/latest/userguide/directory-buckets-overview.html).
+ Il formato del report
+ Se desideri che il report includa i dettagli di tutte le attività o solo di quelle fallite
+ Una stringa di prefisso (facoltativa)
Se il campo `CreateJob.Report.ExpectedBucketOwner` viene specificato, deve corrispondere al proprietario del bucket del report di completamento. Se non corrisponde, il processo non riesce.  
I report di completamento sono sempre crittografati con crittografia lato server con chiavi gestite da Amazon S3 (SSE-S3).

**Tag (opzionali)**  
È possibile etichettare e controllare l'accesso ai processi di Operazioni in batch S3 aggiungendo *tag*. Puoi utilizzare tag per identificare il responsabile del processo Operazioni in batch o controllare in che modo gli utenti interagiscono con processi Operazioni in batch. La presenza dei tag dei lavori può consentire o limitare la capacità di un utente di cancellare un lavoro, attivare un lavoro in stato di conferma o cambiare il livello di priorità di un lavoro. Ad esempio, puoi concedere a un utente l'autorizzazione per richiamare l'operazione `CreateJob`, purché il processo venga creato con il tag `"Department=Finance"`.   
È possibile creare lavori con tag ad essi associati e aggiungere tag ai lavori dopo averli creati.   
Per ulteriori informazioni, consulta [Controllo dei lavori di accesso ed etichettatura mediante tag](batch-ops-job-tags.md).

**Descrizione (facoltativa)**  
Per tenere traccia e monitorare il processo, è anche possibile fornire una descrizione di un massimo di 256 caratteri. Amazon S3 include questa descrizione ogni volta che restituisce informazioni su un processo o visualizza i dettagli del processo nella console di Amazon S3. Puoi quindi ordinare e filtrare i processi con facilità in base alle descrizioni che hai assegnato loro. Le descrizioni non devono necessariamente essere univoche, quindi puoi utilizzarle come categorie (ad esempio, "Registro settimanale dei processi Copy") per aiutarti a tenere traccia dei gruppi di processi simili.

## Specifica di un manifest
<a name="specify-batchjob-manifest"></a>

Un *manifesto* è un elenco di oggetti Amazon S3 che contiene le chiavi degli oggetti su cui si desidera che Amazon S3 agisca. Per specificare un manifesto per un processo Operazioni in batch, puoi utilizzare i seguenti metodi:
+ Configura Operazioni in batch per generare un elenco di oggetti basato sui metadati specificati. Puoi salvare questo elenco come manifesto e utilizzarlo quando crei il processo. Questa opzione è disponibile per qualsiasi tipo di lavoro creato utilizzando la console Amazon S3 AWS SDKs, o l'API AWS CLI REST di Amazon S3.
+ Genera automaticamente un elenco di oggetti in base a una configurazione di replica esistente. Puoi salvare questo elenco come manifesto e utilizzarlo nuovamente per processi futuri. 
+ Crea un nuovo file manifesto manualmente.
+ Utilizza un manifesto esistente. 

**Nota**  
Operazioni in batch Amazon S3 non supporta la generazione di elenchi di oggetti multi-Regione. 
Indipendentemente da come si specificano gli oggetti da utilizzare, il manifesto deve essere archiviato in un bucket per uso generico. Operazioni in batch non è in grado di importare manifesti esistenti da bucket di directory, né salvare elenchi di oggetti generati come manifesti in bucket di directory. Gli oggetti descritti all'interno del manifesto, tuttavia, possono essere archiviati in bucket di directory. Per ulteriori informazioni, consulta [Directory buckets](https://docs.aws.amazon.com//AmazonS3/latest/userguide/directory-buckets-overview.html).

## Generazione automatica di un elenco di oggetti e salvataggio come file manifesto
<a name="automatically-generate-manifest-file"></a>

Puoi utilizzare Amazon S3 per generare un elenco di oggetti automaticamente in base ai metadati specificati. Puoi salvare questo elenco come manifesto e utilizzarlo quando crei il processo. Questa opzione è disponibile per qualsiasi tipo di lavoro creato utilizzando la console Amazon S3 AWS SDKs, o l'API AWS CLI REST di Amazon S3. 

Per generare automaticamente un elenco di oggetti e salvarlo come file manifesto, è necessario specificare i seguenti elementi come parte della richiesta di creazione del processo:
+ Informazioni sul bucket contenente gli oggetti di origine, inclusi il proprietario del bucket e il nome della risorsa Amazon (ARN).
+ Informazioni sull’output del manifesto, incluso un flag per creare un file manifesto, il proprietario del bucket di output, l’ARN, il prefisso, il formato del file e il tipo di crittografia.
+ Criteri opzionali per filtrare gli oggetti in base alla data di creazione, al nome della chiave, alla dimensione, al tipo di crittografia, all’ARN della chiave KMS, alla chiave del bucket e alla classe di archiviazione. Nel caso di processi di replica, è anche possibile utilizzare i tag per filtrare gli oggetti. 

### Criteri di filtro degli oggetti
<a name="manifest-generator-filter-criteria"></a>

Per filtrare l’elenco degli oggetti da includere in un elenco di oggetti generato automaticamente, è possibile specificare i seguenti criteri. Per ulteriori informazioni, consulta [https://docs.aws.amazon.com/AmazonS3/latest/API/API_control_JobManifestGeneratorFilter.html](https://docs.aws.amazon.com/AmazonS3/latest/API/API_control_JobManifestGeneratorFilter.html) nella *documentazione di riferimento delle API di Amazon S3*.

**CreatedAfter**  
Se fornito, il manifesto generato include solo oggetti del bucket di origine creati dopo questo periodo.

**CreatedBefore**  
Se fornito, il manifesto generato include solo oggetti del bucket di origine creati prima di questo periodo.

**EligibleForReplication**  
Se fornito, il manifesto generato include oggetti solo se sono idonei alla replica in base alla configurazione di replica sul bucket di origine.

**KeyNameConstraint**  
Se fornito, il manifesto generato include solo oggetti bucket di origine le cui chiavi oggetto corrispondono ai vincoli di stringa specificati per, e. **MatchAnySubstring**MatchAnyPrefix**MatchAnySuffix******  
**MatchAnySubstring**— Se fornito, il manifesto generato include oggetti se la stringa specificata appare in un punto qualsiasi della stringa chiave dell'oggetto.  
**MatchAnyPrefix**— Se fornito, il manifesto generato include oggetti se la stringa specificata appare all'inizio della stringa chiave dell'oggetto.  
**MatchAnySuffix**— Se fornito, il manifesto generato include oggetti se la stringa specificata appare alla fine della stringa chiave dell'oggetto.

**MatchAnyObjectEncryption**  
 Se fornito, l’elenco di oggetti generato salvato come file manifesto include solo oggetti del bucket di origine con il tipo di crittografia lato server indicato (SSE-S3, SSE-KMS, DSSE-KMS, SSE-C o NOT-SSE). Se si seleziona SSE-KMS o DSSE-KMS, è possibile filtrare ulteriormente i risultati specificando l’ARN di una chiave KMS. Se si seleziona SSE-KMS, è anche possibile facoltativamente filtrare ulteriormente i risultati in base allo stato di abilitazione della chiave del bucket.   
Per migliorare le prestazioni di generazione del manifesto quando si utilizza il `KmsKeyArn` filtro, è possibile utilizzare il filtro con altri filtri per i metadati degli oggetti, ad esempio `MatchAnyPrefix``CreatedAfter`, o`MatchAnyStorageClass`.

**MatchAnyStorageClass**  
Se fornito, il manifesto generato include solo oggetti del bucket di origine archiviati con la classe di archiviazione specificata.

**ObjectReplicationStatuses**  
Se fornito, il manifesto generato include solo oggetti del bucket di origine che dispongono di uno degli stati di replica specificati.

**ObjectSizeGreaterThanBytes**  
Se fornito, il manifesto generato include solo oggetti del bucket di origine la cui dimensione file è maggiore del numero di byte specificato.

**ObjectSizeLessThanBytes**  
Se fornito, il manifesto generato include solo oggetti del bucket di origine la cui dimensione file è minore del numero di byte specificato.

**Nota**  
Non è possibile clonare la maggior parte dei processi che hanno generato automaticamente elenchi di oggetti che sono stati salvati come manifesti. I processi di replica batch possono essere clonati, tranne quando utilizzano i criteri di filtro del manifesto `KeyNameConstraint`, `MatchAnyStorageClass`, `ObjectSizeGreaterThanBytes` o `ObjectSizeLessThanBytes`.

La sintassi per specificare i criteri del manifesto varia a seconda del metodo utilizzato per creare il processo. Per alcuni esempi, consulta [Creazione di un processo](#to-create-batch-ops-job).

## Creazione di un file manifesto
<a name="create-manifest-file"></a>

Per creare manualmente un file manifesto, specificate la chiave dell'oggetto manifesto, ETag (tag di entità) e l'ID di versione opzionale in un elenco in formato CSV. I contenuti del manifesto devono essere codificati in formato URL. 

Per impostazione predefinita, Amazon S3 utilizza automaticamente la crittografia lato server con chiavi gestite da Amazon S3 (SSE-S3) per crittografare un manifesto caricato in un bucket Amazon S3. I manifesti che utilizzano la crittografia lato server con chiavi fornite dal cliente (SSE-C) non sono supportati. I manifesti che utilizzano la crittografia lato server con chiavi AWS Key Management Service (AWS KMS) (SSE-KMS) sono supportati solo quando si utilizzano report di inventario in formato CSV. L'utilizzo di un manifesto creato manualmente con non è supportato. AWS KMS 

Il manifest deve contenere il nome del bucket, la chiave dell'oggetto e, facoltativamente, la versione dell'oggetto per ciascun oggetto. Gli altri campi nel manifest non vengono utilizzati dalle operazioni in batch S3.

**Nota**  
Se gli oggetti nel manifesto si trovano in un bucket con versioni, specificando la versione IDs per gli oggetti si indica a Batch Operations di eseguire l'operazione su una versione specifica. Se non IDs viene specificata alcuna versione, Batch Operations esegue l'operazione sulla versione più recente degli oggetti. Se il manifesto include un campo ID versione, è necessario fornire un ID versione per tutti gli oggetti del manifesto.

Di seguito è riportato un esempio di manifesto in formato CSV senza versione IDs.

```
amzn-s3-demo-bucket1,objectkey1
amzn-s3-demo-bucket1,objectkey2
amzn-s3-demo-bucket1,objectkey3
amzn-s3-demo-bucket1,photos/jpgs/objectkey4
amzn-s3-demo-bucket1,photos/jpgs/newjersey/objectkey5
amzn-s3-demo-bucket1,object%20key%20with%20spaces
```

Di seguito è riportato un manifesto di esempio in formato CSV che include la versione. IDs

```
amzn-s3-demo-bucket1,objectkey1,PZ9ibn9D5lP6p298B7S9_ceqx1n5EJ0p
amzn-s3-demo-bucket1,objectkey2,YY_ouuAJByNW1LRBfFMfxMge7XQWxMBF
amzn-s3-demo-bucket1,objectkey3,jbo9_jhdPEyB4RrmOxWS0kU0EoNrU_oI
amzn-s3-demo-bucket1,photos/jpgs/objectkey4,6EqlikJJxLTsHsnbZbSRffn24_eh5Ny4
amzn-s3-demo-bucket1,photos/jpgs/newjersey/objectkey5,imHf3FAiRsvBW_EHB8GOu.NHunHO1gVs
amzn-s3-demo-bucket1,object%20key%20with%20spaces,9HkPvDaZY5MVbMhn6TMn1YTb5ArQAo3w
```

## Utilizzo di un manifesto esistente
<a name="specify-existing-manifest-file"></a>

È possibile specificare un manifesto esistente per creare un processo Operazioni in batch utilizzando uno dei due formati seguenti:
+ **Report di Inventario Amazon S3**: deve essere un report di Inventario Amazon S3 in formato CSV. Devi specificare il file `manifest.json` associato al report di inventario. Per ulteriori informazioni sui report di inventario, consulta [Catalogazione e analisi dei dati con Inventario S3](storage-inventory.md). Se il rapporto di inventario include la versione IDs, S3 Batch Operations opera sulle versioni specifiche dell'oggetto.
**Nota**  
Operazioni in batch S3 supporta *report di inventario* CSV con crittografia SSE-KMS.
Se si invia un manifesto del report di inventario con crittografia SSE-KMS, la policy IAM deve includere le autorizzazioni `"kms:Decrypt"` e `"kms:GenerateDataKey"` per l'oggetto `manifest.json` e tutti i file di dati CSV associati.
+ **File CSV**: ogni riga nel file deve includere il nome del bucket, la chiave dell'oggetto e, facoltativamente, la versione dell'oggetto. Le chiavi degli oggetti devono essere codificate in formato URL, come mostrato nei seguenti esempi. Il manifesto deve includere la versione IDs per tutti gli oggetti o omettere la versione IDs per tutti gli oggetti. Per ulteriori informazioni sul formato CSV del manifesto, consulta [https://docs.aws.amazon.com/AmazonS3/latest/API/API_control_JobManifestSpec.html](https://docs.aws.amazon.com/AmazonS3/latest/API/API_control_JobManifestSpec.html) nella *Documentazione di riferimento delle API Amazon Simple Storage Service*.
**Nota**  
Operazioni in batch S3 non supporta *file manifesto* in formato CSV con crittografia SSE-KMS.

**Importante**  
Quando utilizzi un manifest creato manualmente e un bucket con versione, ti consigliamo di specificare la versione IDs per gli oggetti. Quando crei un processo, S3 Batch Operations analizza l'intero manifest prima di eseguire il processo. Tuttavia, non esegue una "snapshot" dello stato del bucket.  
Poiché i manifesti possono contenere miliardi di oggetti, l'esecuzione dei processi potrebbe richiedere molto tempo, influenzando la versione di un oggetto su cui agisce il processo. Supponi di sovrascrivere un oggetto con una nuova versione durante l'esecuzione di un processo e di non aver specificato un ID versione per tale oggetto. In questo caso, Amazon S3 esegue l'operazione sulla versione più recente dell'oggetto, non sulla versione che esisteva al momento della creazione del processo. L'unico modo per evitare questo comportamento è specificare la versione IDs per gli oggetti elencati nel manifesto.

## Creazione di un processo
<a name="to-create-batch-ops-job"></a>

 Puoi creare job S3 Batch Operations utilizzando la console Amazon S3 o l'API AWS CLI AWS SDKs REST di Amazon S3. 

Per ulteriori informazioni sulla creazione di una richiesta di processo, consulta la sezione [Elementi della richiesta di un processo di operazioni in batch](#batch-ops-create-job-request-elements). 

**Prerequisiti**  
Prima di creare un processo Operazioni in batch, conferma di aver configurato le autorizzazioni pertinenti. Per ulteriori informazioni, consulta [Concessione di autorizzazioni per le operazioni in batch](batch-ops-iam-role-policies.md).

### Utilizzo della console S3
<a name="batch-ops-create-job-console"></a>

**Come creare un processo Operazioni in batch utilizzando la console S3**

1. Accedi a Console di gestione AWS e apri la console Amazon S3 all'indirizzo. [https://console.aws.amazon.com/s3/](https://console.aws.amazon.com/s3/)

1. Scegli **Operazioni in batch** nel pannello di navigazione sinistro della console Amazon S3.

1. Scegli **Crea processo**.

1. In **Scegli la regione e l'ambito**, scegli e visualizza la AWS regione in cui desideri creare la tua offerta di lavoro.
**Nota**  
Per le operazioni di copia, è necessario creare il processo nella stessa Regione del bucket di destinazione. Per tutte le altre operazioni, è necessario creare il processo nella stessa Regione degli oggetti del manifesto.

1. Per **Ambito**, specifica l’elenco di oggetti su cui agirà il processo Operazioni in batch.

   In **Elenco oggetti**, puoi scegliere di generare un manifesto utilizzando un elenco di oggetti, generare un manifesto utilizzando una configurazione di replica o utilizzare un manifesto esistente.
   + Se scegli **Genera un elenco di oggetti**, viene generato automaticamente un elenco di oggetti in base alla posizione di origine e ai metadati specificati. Puoi salvare questo elenco come manifesto e utilizzarlo nuovamente per processi futuri.
**Nota**  
Per generare un elenco di oggetti, è necessario disporre dell'`s3:PutInventoryConfiguration`autorizzazione. Il bucket di origine deve essere un bucket per uso generico.
   + Se scegli **Usa un file manifesto esistente**, puoi importare un elenco di oggetti da un manifesto esistente. Un manifesto è un report o un file CV di Inventario S3 che elenca gli oggetti specifici su cui desideri che Operazioni in batch agisca.
   + Se scegli **Usa una configurazione di replica**, puoi generare automaticamente un elenco di oggetti in base a una configurazione di replica esistente. Puoi salvare questo elenco come manifesto e utilizzarlo nuovamente per processi futuri. 

      Per questo esempio, scegli **Genera un elenco di oggetti**.

1. Per **Account di origine**, scegli l’account proprietario degli oggetti di origine.

1. In **Origine**, inserisci il percorso dell’origine, ad esempio `s3://`*amzn-s3-demo-bucket*.

1. In **Filtri oggetto**, puoi utilizzare i filtri per filtrare in base a qualsiasi parte della chiave dell’oggetto o in base alla fine della chiave dell’oggetto. I **Filtri chiave oggetto** aiutano a rifinire l’elenco degli oggetti da utilizzare nel manifesto. Per **Filtri dei metadati degli oggetti**, scegli i filtri per definire ulteriormente l’ambito degli oggetti da includere nel manifesto.

1. In **Scegli operazione** scegli l’operazione che desideri eseguire su tutti gli oggetti elencati nel manifesto. Se il manifesto fa riferimento a oggetti memorizzati in un bucket di directory, usa solo le operazioni della funzione copy o invoke AWS Lambda. Tutte le altre operazioni non sono supportate.

1. Dopo aver selezionato un tipo di operazione, scegli **Successivo**.

1. Compila le informazioni per **Configura opzioni aggiuntive**.

   Per **Autorizzazioni**, specifica il ruolo AWS Identity and Access Management (IAM) che desideri venga utilizzato dal job. Può trattarsi di un ruolo esistente o di un ruolo che Amazon S3 crea automaticamente per te. Per ulteriori informazioni, consulta [Concessione di autorizzazioni per le operazioni in batch](batch-ops-iam-role-policies.md). Amazon S3 può creare il ruolo per te se hai configurato il job per utilizzare un elenco di oggetti generato da S3 con filtri o un elenco di oggetti basato su una configurazione di replica.

1. **Al termine della configurazione delle opzioni aggiuntive, scegli Avanti.**

1. Per **Review (Revisione)**, verificare le impostazioni. Se è necessario apportare modifiche, scegliere **Previous (Precedente)**. Altrimenti, puoi scegliere **Invia lavoro**.

### Usando il AWS CLI
<a name="batch-ops-example-cli-job-create"></a>

Per creare il processo Batch Operations con AWS CLI, scegliete uno dei seguenti esempi, a seconda che stiate specificando un manifesto esistente o generando un manifesto automaticamente. 

------
#### [ Specify manifest ]

L'esempio seguente mostra come utilizzare il AWS CLI per creare un `S3PutObjectTagging` job S3 Batch Operations che agisce sugli oggetti elencati in un file manifest esistente.

**Per creare un processo `S3PutObjectTagging` di Operazioni in batch specificando un manifesto**

1. Utilizza i seguenti comandi per creare un ruolo AWS Identity and Access Management (IAM), quindi crea una policy IAM per assegnare le autorizzazioni pertinenti. Il ruolo e la policy seguenti concedono l'autorizzazione Amazon S3 per aggiungere tag degli oggetti, necessari per creare il processo in una fase successiva.

   1. Utilizza il comando di esempio seguente per creare un ruolo IAM utilizzato da Operazioni in batch. Per utilizzare questo comando di esempio, sostituisci `S3BatchJobRole` con il nome che desideri assegnare al ruolo.

      ```
      aws iam create-role \
       --role-name S3BatchJobRole \
       --assume-role-policy-document '{
         "Version": "2012-10-17"		 	 	 ,
         "Statement":[
            {
               "Effect":"Allow",
               "Principal":{
                  "Service":"batchoperations.s3.amazonaws.com"
               },
               "Action":"sts:AssumeRole"
            }
         ]
      }'
      ```

      Registra il nome della risorsa Amazon (ARN) del ruolo. Quando si crea un processo sarà necessario specificare l'ARN.

   1. Utilizza il comando di esempio seguente per creare una policy IAM con le autorizzazioni necessarie e collegala al ruolo IAM creato nella fase precedente. Per ulteriori informazioni sulle autorizzazioni necessarie, consulta [Concessione di autorizzazioni per le operazioni in batch](batch-ops-iam-role-policies.md).
**Nota**  
I processi Operazioni in batch che eseguono azioni su bucket di directory richiedono autorizzazioni specifiche. Per ulteriori informazioni, consulta [AWS Identity and Access Management (IAM) for S3 Express One Zone](https://docs.aws.amazon.com//AmazonS3/latest/userguide/s3-express-security-iam.html).

      Per utilizzare questo comando di esempio, sostituisci `user input placeholders` come segue: 
      + Sostituisci `S3BatchJobRole` con il nome del ruolo IAM. Assicurati che questo nome corrisponda al nome utilizzato in precedenza.
      + Sostituisci `PutObjectTaggingBatchJobPolicy` con il nome che desideri assegnare alla policy IAM.
      + Sostituisci `amzn-s3-demo-destination-bucket` con il nome del bucket contenente gli oggetti a cui desideri applicare i tag.
      + Sostituisci *`amzn-s3-demo-manifest-bucket`* con il nome del bucket contenente il manifesto.
      + Sostituisci *`amzn-s3-demo-completion-report-bucket`* con il nome del bucket a cui desideri venga consegnato il report di completamento. 

      ```
      aws iam put-role-policy \
        --role-name S3BatchJobRole \
        --policy-name PutObjectTaggingBatchJobPolicy \
        --policy-document '{
        "Version": "2012-10-17"		 	 	 ,		 	 	 TCX5-2025-waiver;,
        "Statement":[
          {
            "Effect":"Allow",
            "Action":[
              "s3:PutObjectTagging",
              "s3:PutObjectVersionTagging"
            ],
            "Resource": "arn:aws:s3:::amzn-s3-demo-destination-bucket/*"
          },
          {
            "Effect": "Allow",
            "Action": [
              "s3:GetObject",
              "s3:GetObjectVersion",
              "s3:GetBucketLocation"
            ],
            "Resource": [
              "arn:aws:s3:::amzn-s3-demo-manifest-bucket",
              "arn:aws:s3:::amzn-s3-demo-manifest-bucket/*"
            ]
          },
          {
            "Effect":"Allow",
            "Action":[
              "s3:PutObject",
              "s3:GetBucketLocation"
            ],
            "Resource":[
              "arn:aws:s3:::amzn-s3-demo-completion-report-bucket",
              "arn:aws:s3:::amzn-s3-demo-completion-report-bucket/*"
            ]
          }
        ]
      }'
      ```

1. Utilizza il comando di esempio seguente per creare un processo `S3PutObjectTagging`. 

   Il file `manifest.csv` fornisce un elenco di valori di bucket e chiave di oggetto. Il processo applica i tag specificati agli oggetti identificati nel manifesto. L'`ETag`è ETag l'`manifest.csv`oggetto, che puoi ottenere dalla console Amazon S3. Questa richiesta specifica il parametro `no-confirmation-required`, in modo da poter eseguire il processo senza doverlo confermare con il comando `update-job-status`. Per ulteriori informazioni, consulta [https://docs.aws.amazon.com/cli/latest/reference/s3control/create-job.html](https://docs.aws.amazon.com/cli/latest/reference/s3control/create-job.html) nella *documentazione di riferimento dei comandi della AWS CLI *.

   Per utilizzare questo comando di esempio, sostituisci `user input placeholders` con le tue informazioni. Sostituisci *`IAM-role`* con l'ARN del ruolo IAM creato in precedenza. 

   ```
   aws s3control create-job \
       --region us-west-2 \
       --account-id acct-id \
       --operation '{"S3PutObjectTagging": { "TagSet": [{"Key":"keyOne", "Value":"ValueOne"}] }}' \
       --manifest '{"Spec":{"Format":"S3BatchOperations_CSV_20180820","Fields":["Bucket","Key"]},"Location":{"ObjectArn":"arn:aws:s3:::amzn-s3-demo-manifest-bucket/manifest.csv","ETag":"60e460c9d1046e73f7dde5043ac3ae85"}}' \
       --report '{"Bucket":"arn:aws:s3:::amzn-s3-demo-completion-report-bucket","Prefix":"final-reports", "Format":"Report_CSV_20180820","Enabled":true,"ReportScope":"AllTasks"}' \
       --priority 42 \
       --role-arn IAM-role \
       --client-request-token $(uuidgen) \
       --description "job description" \
       --no-confirmation-required
   ```

   In risposta, Amazon S3 restituisce un ID processo, ad esempio, `00e123a4-c0d8-41f4-a0eb-b46f9ba5b07c`). L'ID processo è necessario per identificare, monitorare e modificare il processo.

------
#### [ Generate manifest ]

Nell'esempio seguente viene illustrato come creare un processo Operazioni in batch S3 `S3DeleteObjectTagging` che genera automaticamente un manifesto in base ai criteri di filtro degli oggetti. Questi criteri includono la data di creazione, il nome della chiave, le dimensioni, la classe di archiviazione e i tag.

**Per creare un processo `S3DeleteObjectTagging` di Operazioni in batch generando un manifesto**

1. Utilizza i seguenti comandi per creare un ruolo AWS Identity and Access Management (IAM), quindi crea una policy IAM per assegnare le autorizzazioni. Il ruolo e la policy seguenti concedono l'autorizzazione Amazon S3 per eliminare tag di oggetti, necessari quando si crea il processo in una fase successiva.

   1. 

      Utilizza il comando di esempio seguente per creare un ruolo IAM utilizzato da Operazioni in batch. Per utilizzare questo comando di esempio, sostituisci `S3BatchJobRole` con il nome che desideri assegnare al ruolo.

      ```
      aws iam create-role \
       --role-name S3BatchJobRole \
       --assume-role-policy-document '{
         "Version": "2012-10-17"		 	 	 ,		 	 	 TCX5-2025-waiver;,
         "Statement":[
            {
               "Effect":"Allow",
               "Principal":{
                  "Service":"batchoperations.s3.amazonaws.com"
               },
               "Action":"sts:AssumeRole"
            }
         ]
      }'
      ```

      Registra il nome della risorsa Amazon (ARN) del ruolo. Quando si crea un processo sarà necessario specificare l'ARN.

   1. Utilizza il comando di esempio seguente per creare una policy IAM con le autorizzazioni necessarie e collegala al ruolo IAM creato nella fase precedente. Per ulteriori informazioni sulle autorizzazioni necessarie, consulta [Concessione di autorizzazioni per le operazioni in batch](batch-ops-iam-role-policies.md).
**Nota**  
I processi Operazioni in batch che eseguono azioni su bucket di directory richiedono autorizzazioni specifiche. Per ulteriori informazioni, consulta [AWS Identity and Access Management (IAM) for S3 Express One Zone](https://docs.aws.amazon.com//AmazonS3/latest/userguide/s3-express-security-iam.html).

      Per utilizzare questo comando di esempio, sostituisci `user input placeholders` come segue: 
      + Sostituisci `S3BatchJobRole` con il nome del ruolo IAM. Assicurati che questo nome corrisponda al nome utilizzato in precedenza.
      + Sostituisci `DeleteObjectTaggingBatchJobPolicy` con il nome che desideri assegnare alla policy IAM.
      + Sostituisci `amzn-s3-demo-destination-bucket` con il nome del bucket contenente gli oggetti a cui desideri applicare i tag.
      + Sostituisci `amzn-s3-demo-manifest-bucket` con il nome del bucket in cui desideri salvare il manifesto.
      + Sostituisci `amzn-s3-demo-completion-report-bucket` con il nome del bucket a cui desideri venga inviato il report di completamento. 

      ```
      aws iam put-role-policy \
        --role-name S3BatchJobRole \
        --policy-name DeleteObjectTaggingBatchJobPolicy \
        --policy-document '{
        "Version": "2012-10-17"		 	 	 ,		 	 	 TCX5-2025-waiver;,
        "Statement":[
          {
            "Effect":"Allow",
            "Action":[
              "s3:DeleteObjectTagging",
              "s3:DeleteObjectVersionTagging"
            ],
            "Resource": "arn:aws:s3:::amzn-s3-demo-destination-bucket/*"
          },
          {
            "Effect":"Allow",
            "Action":[
              "s3:PutInventoryConfiguration"
            ],
            "Resource": "arn:aws:s3:::amzn-s3-demo-destination-bucket"
          },
          {
            "Effect": "Allow",
            "Action": [
              "s3:GetObject",
              "s3:GetObjectVersion",
              "s3:ListBucket"
            ],
            "Resource": [
              "arn:aws:s3:::amzn-s3-demo-manifest-bucket",
              "arn:aws:s3:::amzn-s3-demo-manifest-bucket/*"
            ]
          },
          {
            "Effect":"Allow",
            "Action":[
              "s3:PutObject",
              "s3:ListBucket"
            ],
            "Resource":[
              "arn:aws:s3:::amzn-s3-demo-completion-report-bucket",
              "arn:aws:s3:::amzn-s3-demo-completion-report-bucket/*",
              "arn:aws:s3:::amzn-s3-demo-manifest-bucket/*"
            ]
          }
        ]
      }'
      ```

      

1. Utilizza il comando di esempio seguente per creare il processo `S3DeleteObjectTagging`.

   In questo esempio, i valori nella sezione `--report` specificano il bucket, il prefisso, il formato e l'ambito del report del processo che verrà generato. Nella sezione `--manifest-generator` vengono specificate le informazioni sul bucket di origine contenente gli oggetti su cui agirà il processo, informazioni sull'elenco di output del manifesto che verrà generato per il processo e i criteri di filtro per restringere l'ambito degli oggetti da includere nel manifesto in base a data di creazione, vincoli di nome, dimensioni e classe di archiviazione. Il comando specifica, inoltre, la priorità del processo, il ruolo IAM e la Regione AWS.

   Per ulteriori informazioni, consulta [https://docs.aws.amazon.com/cli/latest/reference/s3control/create-job.html](https://docs.aws.amazon.com/cli/latest/reference/s3control/create-job.html) nella *documentazione di riferimento dei comandi della AWS CLI *.

   Per utilizzare questo comando di esempio, sostituisci `user input placeholders` con le tue informazioni. Sostituisci *`IAM-role`* con l'ARN del ruolo IAM creato in precedenza. 

   ```
   aws s3control create-job \
       --account-id 012345678901 \
       --operation '{
           "S3DeleteObjectTagging": {}
       }' \
       --report '{
           "Bucket":"arn:aws:s3:::amzn-s3-demo-completion-report-bucket",
           "Prefix":"reports", 
           "Format":"Report_CSV_20180820",
           "Enabled":true,
           "ReportScope":"AllTasks"
       }' \
       --manifest-generator '{
           "S3JobManifestGenerator": {
             "ExpectedBucketOwner": "012345678901",
             "SourceBucket": "arn:aws:s3:::amzn-s3-demo-source-bucket",
             "EnableManifestOutput": true,
             "ManifestOutputLocation": {
               "ExpectedManifestBucketOwner": "012345678901",
               "Bucket": "arn:aws:s3:::amzn-s3-demo-manifest-bucket",
               "ManifestPrefix": "prefix",
               "ManifestFormat": "S3InventoryReport_CSV_20211130"
             },
             "Filter": {
               "CreatedAfter": "2023-09-01",
               "CreatedBefore": "2023-10-01",
               "KeyNameConstraint": {
                 "MatchAnyPrefix": [
                   "prefix"
                 ],
                 "MatchAnySuffix": [
                   "suffix"
                 ]
               },
               "ObjectSizeGreaterThanBytes": 100,
               "ObjectSizeLessThanBytes": 200,
               "MatchAnyStorageClass": [
                 "STANDARD",
                 "STANDARD_IA"
               ]
             }
           }
         }' \
        --priority 2 \
        --role-arn IAM-role \
        --region us-east-1
   ```

   In risposta, Amazon S3 restituisce un ID processo, ad esempio, `00e123a4-c0d8-41f4-a0eb-b46f9ba5b07c`). Questo ID processo è necessario per identificare, monitorare e modificare il processo.

------

### Usando il AWS SDK per Java
<a name="batch-ops-examples-java-create-job"></a>

Per creare il tuo job Batch Operations con l' AWS SDK for Java, puoi scegliere tra due approcci a seconda che tu stia specificando un manifest esistente o generando automaticamente un manifest:
+ *Specifica manifesto esistente*: crea un processo Operazioni in batch S3 (ad esempio `S3PutObjectTagging`) che agisce sugli oggetti elencati in un file manifesto esistente. Questo approccio richiede di fornire la posizione del manifesto e le ETag specifiche di formato.
+ *Genera manifesto automaticamente:* crea un processo Operazioni in batch S3 (ad esempio `s3PutObjectCopy`) che genera automaticamente un manifesto in base ai criteri di filtro degli oggetti, inclusi data di creazione, nome della chiave e vincoli di dimensione.

Entrambi gli approcci utilizzano il client S3Control per configurare le operazioni del processo, le specifiche del manifesto, i report del processo, i ruoli IAM e altri parametri del processo, inclusi i requisiti di priorità e conferma.

Per esempi di come creare job S3 Batch Operations con l' AWS SDK for Java, [consulta Creare un processo batch per copiare](https://docs.aws.amazon.com/AmazonS3/latest/API/s3-control_example_s3-control_CreateJob_section.html) oggetti nell'*Amazon S3* API Reference.

### Utilizzo della REST API
<a name="batch-ops-examples-rest-create-job"></a>

È possibile utilizzare l'API REST per creare un processo di operazioni in batch. Per ulteriori informazioni, consulta [https://docs.aws.amazon.com/AmazonS3/latest/API/API_control_CreateJob.html](https://docs.aws.amazon.com/AmazonS3/latest/API/API_control_CreateJob.html) in *Amazon Simple Storage Service API Reference* (Guida di riferimento per l'API di Amazon Simple Storage Service). 

## Risposte di lavoro
<a name="batch-ops-create-job-response-elements"></a>

Se la richiesta `CreateJob` ha esito positivo, Amazon S3 restituisce un ID processo. L'ID processo è un identificatore univoco che Amazon S3 genera automaticamente per permetterti di identificare il processo di operazioni in batch e di monitorarne lo stato.

Quando crei un lavoro tramite AWS CLI, o l'API REST AWS SDKs, puoi impostare S3 Batch Operations in modo che inizi a elaborare il lavoro automaticamente. Il processo viene eseguito appena è pronto anziché attendere in coda ad altri processi con priorità più alta.

Quando crei un processo con la console Amazon S3, devi rivedere i dettagli del processo e confermare che desideri eseguirlo prima che venga elaborato da Operazioni in batch. Se un processo rimane sospeso per più di 30 giorni, fallirà.

# Operazioni supportate dalle operazioni in batch S3
<a name="batch-ops-operations"></a>

È possibile utilizzare Operazioni in batch S3 per eseguire operazioni in batch su larga scala su oggetti Amazon S3. Le operazioni in batch S3 possono eseguire una singola operazione su elenchi di oggetti Amazon S3 specificati. Un solo processo può eseguire l'operazione specificata su miliardi di oggetti contenenti exabyte di dati. Amazon S3 tiene traccia dei progressi, invia notifiche e archivia un report dettagliato sul completamento di tutte le azioni, offrendo un'esperienza completamente gestita, verificabile e serverless. Puoi utilizzare S3 Batch Operations tramite la console Amazon S3 o l'API AWS CLI AWS SDKs REST di Amazon S3.

Le operazioni in batch S3 supportano le operazioni seguenti:

# Copia oggetti
<a name="batch-ops-copy-object"></a>

È possibile utilizzare Operazioni in batch Amazon S3 per eseguire operazioni in batch su larga scala su oggetti Amazon S3. L'operazione di **copia** di Operazioni in batch copia ogni oggetto specificato nel manifesto. Puoi copiare oggetti in un bucket nella stessa regione Regione AWS o in un bucket in un'altra regione. S3 Batch Operations supporta la maggior parte delle opzioni disponibili tramite Amazon S3 per la copia di oggetti. Queste opzioni includono l'impostazione dei metadati degli oggetti, l'impostazione delle autorizzazioni e la modifica di una classe di storage di un oggetto. 

È inoltre possibile utilizzare l'operazione **Copia** per copiare gli oggetti esistenti non crittografati e riscriverli nello stesso bucket degli oggetti crittografati. Per ulteriori informazioni, consulta [Crittografia di oggetti con le operazioni in batch di Amazon S3](https://aws.amazon.com/blogs/storage/encrypting-objects-with-amazon-s3-batch-operations/).

Quando esegui la copia degli oggetti puoi modificare l'algoritmo di checksum utilizzato per calcolare il checksum dell'oggetto. Se gli oggetti non hanno un checksum aggiuntivo calcolato, puoi anche aggiungerne uno specificando l'algoritmo di checksum che Amazon S3 deve utilizzare. Per ulteriori informazioni, consulta [Verifica dell'integrità degli oggetti in Amazon S3](checking-object-integrity.md).

Per ulteriori informazioni sulla copia di oggetti in Amazon S3 e sui parametri richiesti e opzionali, consulta [Copia, spostamento e denominazione di oggetti](copy-object.md) in questa guida e [https://docs.aws.amazon.com/AmazonS3/latest/API/API_CopyObject.html](https://docs.aws.amazon.com/AmazonS3/latest/API/API_CopyObject.html) in *Riferimento API di Amazon Simple Storage Service*.

## Restrizioni e limitazioni
<a name="batch-ops-copy-object-restrictions"></a>

Quando si utilizza l'operazione di **copia** di Operazioni in batch, si applicano le seguenti restrizioni e limitazioni:
+ Tutti gli oggetti di origine devono trovarsi in un bucket.
+ Tutti gli oggetti di destinazione devono trovarsi in un bucket.
+ È necessario disporre delle autorizzazioni di lettura per il bucket di origine e delle autorizzazioni di scrittura per il bucket di destinazione.
+ Gli oggetti da copiare non possono avere dimensioni superiori a 5 GB.
+ Se si tenta di copiare oggetti dalle classi Recupero flessibile S3 Glacier o S3 Glacier Deep Archive alla classe di storage S3 Standard, è necessario prima ripristinare tali oggetti. Per ulteriori informazioni, consulta [Ripristino di un oggetto archiviato](restoring-objects.md).
+ È necessario creare i processi di **copia** di Operazioni in batch nella Regione di destinazione, ovvero la Regione in cui si intende copiare gli oggetti.
+ Tutte le `CopyObject` opzioni sono supportate ad eccezione dei controlli condizionali sui tag di entità (ETags) e della crittografia lato server con chiavi di crittografia fornite dal cliente (SSE-C).
+ Se il bucket di destinazione non è aggiornato, si sovrascriveranno gli oggetti che hanno gli stessi nomi di chiave.
+ Gli oggetti non sono necessariamente copiati nello stesso ordine in cui appaiono nel manifesto. Per i bucket con controllo delle versioni, se è importante mantenere l'ordine delle versioni correnti o non correnti, copiare prima tutte le versioni non correnti. Quindi, al termine del primo processo, copia le versioni correnti in un processo successivo. 
+ La copia di oggetti nella classe RRS (Reduced Redundancy Storage) non è supportata.
+ Un singolo processo di copia Operazioni in batch può supportare un manifesto con un massimo di 20 miliardi di oggetti.

# Copia di oggetti mediante operazioni in batch S3
<a name="batch-ops-examples-copy"></a>

È possibile utilizzare Operazioni in batch Amazon S3 per eseguire operazioni in batch su larga scala su oggetti Amazon S3. È possibile utilizzare Operazioni in batch S3 per creare un processo di **copia** (`CopyObject`) per copiare oggetti all'interno dello stesso account o in un account di destinazione diverso. 

Gli esempi seguenti mostrano come memorizzare e utilizzare un manifesto che si trova in un account diverso. Il primo esempio mostra come utilizzare Inventario Amazon S3 per consegnare il report di inventario all'account di destinazione e utilizzarlo durante la creazione del processo. Il secondo esempio mostra come utilizzare un manifesto di valori separati da virgole (CSV) nell'account di origine o di destinazione. Il terzo esempio mostra come utilizzare l'operazione di **Copia** per abilitare le chiavi S3 Bucket per gli oggetti esistenti che sono stati crittografati utilizzando la crittografia lato server con chiavi AWS Key Management Service (AWS KMS) (SSE-KMS).

**Topics**
+ [

# Utilizzo di un rapporto di inventario per copiare gli oggetti Account AWS
](specify-batchjob-manifest-xaccount-inventory.md)
+ [

# Utilizzo di un manifesto CSV per copiare oggetti Account AWS
](specify-batchjob-manifest-xaccount-csv.md)
+ [

# Utilizzo delle operazioni in batch per abilitare le chiavi S3 Bucket per SSE-KMS
](batch-ops-copy-example-bucket-key.md)

# Utilizzo di un rapporto di inventario per copiare gli oggetti Account AWS
<a name="specify-batchjob-manifest-xaccount-inventory"></a>

È possibile utilizzare Operazioni in batch Amazon S3 per eseguire operazioni in batch su larga scala su oggetti Amazon S3. È possibile utilizzare Operazioni in batch S3 per creare un processo di **copia** (`CopyObject`) per copiare oggetti all'interno dello stesso account o in un account di destinazione diverso.

È possibile utilizzare Inventario Amazon S3 per creare un report di inventario e utilizzare il report stesso per creare un elenco (manifesto) di oggetti da copiare con Operazioni in batch S3. Per maggiori informazioni sull'utilizzo di un manifest CSV nell'account di origine o di destinazione, consulta [Utilizzo di un manifesto CSV per copiare oggetti Account AWS](specify-batchjob-manifest-xaccount-csv.md).

L'inventario Amazon S3 genera inventari degli oggetti in un bucket. L'elenco risultante viene pubblicato in un file di output. Il bucket inventariato è chiamato bucket di origine, mentre il bucket dove viene memorizzato il file del rapporto di inventario è chiamato bucket di destinazione. 

Il report Amazon S3 Inventory può essere configurato per essere consegnato a un altro. Account AWS In questo modo, Operazioni in batch S3 può leggere il report di inventario quando il processo viene creato nell'account di destinazione.

Per ulteriori informazioni sui bucket di origine e di destinazione di Inventario Amazon S3, consulta [Bucket di origine e di destinazione](storage-inventory.md#storage-inventory-buckets).

Il modo più semplice per configurare un inventario è utilizzare la console Amazon S3, ma puoi anche utilizzare l'API REST di Amazon S3 AWS Command Line Interface ,AWS CLI() o. AWS SDKs

La procedura della console seguente contiene le fasi di livello elevato per la configurazione delle autorizzazioni per un processo di operazioni in batch S3. In questa procedura, si copiano gli oggetti da un account di origine a un account di destinazione, con il report di inventario archiviato nell'account di destinazione.

**Per configurare Amazon S3 Inventory per bucket di origine e di destinazione di proprietà di account diversi**

1. Accedi a Console di gestione AWS e apri la console Amazon S3 all'indirizzo. [https://console.aws.amazon.com/s3/](https://console.aws.amazon.com/s3/)

1. Nel pannello di navigazione a sinistra, scegli **Buckets** (Bucket).

1. Scegli (o crea) un bucket del manifesto di destinazione in cui archiviare il report di inventario. In questa procedura, l’*account di destinazione* è l’account che possiede sia il bucket manifest di destinazione sia il bucket in cui vengono copiati gli oggetti.

1. Configura un report di inventario per un bucket di origine. Per informazioni su come utilizzare la console per configurare un inventario o su come crittografare il file dell'elenco inventario, consulta [Configurazione di Amazon S3 Inventory](configure-inventory.md). 

   Quando si configura il report di inventario, si specifica il bucket di destinazione in cui si desidera memorizzare l'elenco. Il rapporto di inventario per il bucket di origine viene pubblicato nel bucket di destinazione. In questa procedura, l'*account di origine* è l'account che possiede il bucket di origine.

   Scegliere **CSV** come formato di output.

   Quando si inseriscono le informazioni per il bucket di destinazione, scegliere **Buckets in another account (Bucket in un altro account)**. Quindi inserire il nome del bucket manifest di destinazione. Facoltativamente, è possibile inserire l'ID account dell'account di destinazione.

   Una volta salvata la configurazione dell'inventario, la console visualizza un messaggio simile al seguente: 

   Amazon S3 could not create a bucket policy on the destination bucket. Ask the destination bucket owner to add the following bucket policy to allow Amazon S3 to place data in that bucket.

   La console visualizza quindi una policy di bucket che può essere usata per il bucket di destinazione.

1. Copiare la policy del bucket di destinazione visualizzata sulla console.

1. Nell'account di destinazione, aggiungere la policy di bucket copiata nel bucket manifesto di destinazione in cui è memorizzato il report di inventario.

1. Creare un ruolo nell'account di destinazione basato sulla policy di attendibilità delle operazioni in batch S3. Per ulteriori informazioni su questa policy di attendibilità, consulta [Policy di trust](batch-ops-iam-role-policies.md#batch-ops-iam-role-policies-trust).

   Per ulteriori informazioni sulla creazione di un ruolo, consulta [ Creazione di un ruolo per delegare le autorizzazioni a Servizio AWS](https://docs.aws.amazon.com/IAM/latest/UserGuide/id_roles_create_for-service.html) nella *Guida all'utente IAM*.

   Immetti un nome per il ruolo (il seguente esempio di ruolo utilizza il nome *`BatchOperationsDestinationRoleCOPY`*). Scegli il servizio **S3**, quindi scegli il caso d'uso **Operazioni in batch S3**, che applica la policy di attendibilità al ruolo. 

   Scegli quindi **Crea policy** per associare la seguente policy al ruolo. Per utilizzare questa policy, sostituisci *`user input placeholders`* con le tue informazioni. 

------
#### [ JSON ]

****  

   ```
   {
     "Version":"2012-10-17",		 	 	 
     "Statement": [
       {
         "Sid": "AllowBatchOperationsDestinationObjectCOPY",
         "Effect": "Allow",
         "Action": [
           "s3:PutObject",
           "s3:PutObjectVersionAcl",
           "s3:PutObjectAcl",
           "s3:PutObjectVersionTagging",
           "s3:PutObjectTagging",
           "s3:GetObject",
           "s3:GetObjectVersion",
           "s3:GetObjectAcl",
           "s3:GetObjectTagging",
           "s3:GetObjectVersionAcl",
           "s3:GetObjectVersionTagging"
         ],
         "Resource": [
           "arn:aws:s3:::amzn-s3-demo-destination-bucket/*",
           "arn:aws:s3:::amzn-s3-demo-source-bucket/*",
           "arn:aws:s3:::amzn-s3-demo-manifest-bucket/*"
         ]
       }
     ]
   }
   ```

------

   Il ruolo usa la policy per concedere l’autorizzazione `batchoperations.s3.amazonaws.com` per leggere il manifest nel bucket di destinazione. Concede inoltre autorizzazioni agli `GET` oggetti, alle liste di controllo degli accessi (ACLs), ai tag e alle versioni nel bucket degli oggetti di origine. Inoltre, concede le autorizzazioni agli `PUT` oggetti ACLs, ai tag e alle versioni nel bucket degli oggetti di destinazione.

1. Nell'account di origine, crea una policy per il bucket di origine che conceda le autorizzazioni del ruolo creato nel passaggio precedente agli `GET` oggetti ACLs, ai tag e alle versioni nel bucket di origine. Questa fase consente alle operazioni in batch S3 di ottenere oggetti dal bucket di origine tramite il ruolo trusted.

   Segue un esempio della policy di bucket per l’account di origine. Per utilizzare questa policy, sostituisci *`user input placeholders`* con le tue informazioni.

------
#### [ JSON ]

****  

   ```
   {
       "Version":"2012-10-17",		 	 	 
       "Statement": [
           {
               "Sid": "AllowBatchOperationsSourceObjectCOPY",
               "Effect": "Allow",
               "Principal": {
                   "AWS": "arn:aws:iam::111122223333:role/BatchOperationsDestinationRoleCOPY"
               },
               "Action": [
                   "s3:GetObject",
                   "s3:GetObjectVersion",
                   "s3:GetObjectAcl",
                   "s3:GetObjectTagging",
                   "s3:GetObjectVersionAcl",
                   "s3:GetObjectVersionTagging"
               ],
               "Resource": "arn:aws:s3:::amzn-s3-demo-source-bucket/*"
           }
       ]
   }
   ```

------

1. Una volta che il report di inventario è disponibile, crea un processo di **copia** (`CopyObject`) di Operazioni in batch S3 nell'account di destinazione e scegli il report di inventario dal bucket manifesto di destinazione. È necessario l'ARN del ruolo IAM creato nell'account di destinazione.

   Per informazioni generali sulla creazione di un processo, consultare [Creazione di un processo di operazioni in batch S3](batch-ops-create-job.md).

   Per informazioni sulla creazione di un processo tramite la console, consulta [Creazione di un processo di operazioni in batch S3](batch-ops-create-job.md).

# Utilizzo di un manifesto CSV per copiare oggetti Account AWS
<a name="specify-batchjob-manifest-xaccount-csv"></a>

È possibile utilizzare Operazioni in batch Amazon S3 per eseguire operazioni in batch su larga scala su oggetti Amazon S3. È possibile utilizzare Operazioni in batch S3 per creare un processo di **copia** (`CopyObject`) per copiare oggetti all'interno dello stesso account o in un account di destinazione diverso.

È possibile utilizzare un manifesto CSV memorizzato nell'account di origine per copiare gli oggetti su Account AWS con Operazioni in batch S3. Per utilizzare un report di Inventario S3 come manifesto, consulta [Utilizzo di un rapporto di inventario per copiare gli oggetti Account AWS](specify-batchjob-manifest-xaccount-inventory.md).

Per un esempio di formato CSV per i file manifesto, consulta [Creazione di un file manifesto](batch-ops-create-job.md#create-manifest-file).

La procedura seguente mostra come impostare le autorizzazioni quando si utilizza un processo di Operazioni in batch S3 per copiare oggetti da un account di origine a un account di destinazione con un file manifesto CSV memorizzato nell'account di origine.

**Per utilizzare un manifesto CSV su cui copiare oggetti Account AWS**

1. Crea un ruolo AWS Identity and Access Management (IAM) nell'account di destinazione basato sulla policy di fiducia di S3 Batch Operations. In questa procedura, l’*account di destinazione* è l’account in cui vengono copiati gli oggetti.

   Per ulteriori informazioni sulla policy di attendibilità, consultare [Policy di trust](batch-ops-iam-role-policies.md#batch-ops-iam-role-policies-trust).

   Per ulteriori informazioni sulla creazione di un ruolo, consulta [Creazione di un ruolo per delegare le autorizzazioni a Servizio AWS](https://docs.aws.amazon.com/IAM/latest/UserGuide/id_roles_create_for-service.html) nella *Guida all'utente IAM*.

   Se si crea il ruolo tramite la console, inserire un nome per il ruolo (l'esempio seguente utilizza il nome `BatchOperationsDestinationRoleCOPY`). Scegli il servizio **S3**, quindi scegli il caso d'uso **Operazioni in batch S3**, che applica la policy di attendibilità al ruolo.

   Scegli quindi **Crea policy** per associare la seguente policy al ruolo. Per utilizzare questa policy, sostituisci *`user input placeholders`* con le tue informazioni.

------
#### [ JSON ]

****  

   ```
   {
     "Version":"2012-10-17",		 	 	 
     "Statement": [
       {
         "Sid": "AllowBatchOperationsDestinationObjectCOPY",
         "Effect": "Allow",
         "Action": [
           "s3:PutObject",
           "s3:PutObjectVersionAcl",
           "s3:PutObjectAcl",
           "s3:PutObjectVersionTagging",
           "s3:PutObjectTagging",
           "s3:GetObject",
           "s3:GetObjectVersion",
           "s3:GetObjectAcl",
           "s3:GetObjectTagging",
           "s3:GetObjectVersionAcl",
           "s3:GetObjectVersionTagging"
         ],
         "Resource": [
           "arn:aws:s3:::amzn-s3-demo-destination-bucket/*",
           "arn:aws:s3:::amzn-s3-demo-source-bucket/*",
           "arn:aws:s3:::amzn-s3-demo-manifest-bucket/*"
         ]
       }
     ]
   }
   ```

------

   Usando la policy, il ruolo concede l’autorizzazione `batchoperations.s3.amazonaws.com` per leggere il manifest nel bucket manifest di origine. Concede le autorizzazioni agli `GET` oggetti, alle liste di controllo degli accessi (ACLs), ai tag e alle versioni nel bucket degli oggetti di origine. Concede inoltre le autorizzazioni per `PUT` oggetti ACLs, tag e versioni nel bucket degli oggetti di destinazione.

1. Nell'account di origine, crea una policy di bucket per il bucket che contiene il manifesto per concedere al ruolo creato nel passaggio precedente le autorizzazioni per gli oggetti e le versioni di `GET` nel bucket del manifesto di origine.

   Questo passaggio consente a Operazioni in batch S3 di leggere il manifesto utilizzando il ruolo di attendibilità. Applicare la policy di bucket al bucket che contiene il manifest.

   Segue un esempio della policy di bucket da applicare al bucket manifest di origine. Per utilizzare questa policy, sostituisci *`user input placeholders`* con le tue informazioni.

------
#### [ JSON ]

****  

   ```
   {
     "Version":"2012-10-17",		 	 	 
     "Statement": [
       {
         "Sid": "AllowBatchOperationsSourceManifestRead",
         "Effect": "Allow",
         "Principal": {
           "AWS": [
             "arn:aws:iam::111122223333:user/ConsoleUserCreatingJob",
             "arn:aws:iam::111122223333:role/BatchOperationsDestinationRoleCOPY"
           ]
         },
         "Action": [
           "s3:GetObject",
           "s3:GetObjectVersion"
         ],
         "Resource": "arn:aws:s3:::amzn-s3-demo-manifest-bucket/*"
       }
     ]
   }
   ```

------

   Questa policy inoltre concede le autorizzazioni per garantire a un utente della console che sta creando un processo nell’account di destinazione le stesse autorizzazioni nel bucket manifest di origine tramite la stessa policy di bucket.

1. Nell'account di origine, create una policy per il bucket di origine che conceda le autorizzazioni per il ruolo che avete creato agli `GET` oggetti ACLs, ai tag e alle versioni nel bucket degli oggetti di origine. Le operazioni in batch S3 possono quindi ottenere oggetti dal bucket di origine tramite il ruolo trusted.

   Segue un esempio della policy di bucket per il bucket che contiene gli oggetti di origine. Per utilizzare questa policy, sostituisci *`user input placeholders`* con le tue informazioni.

------
#### [ JSON ]

****  

   ```
   {
     "Version":"2012-10-17",		 	 	 
     "Statement": [
       {
         "Sid": "AllowBatchOperationsSourceObjectCOPY",
         "Effect": "Allow",
         "Principal": {
           "AWS": "arn:aws:iam::111122223333:role/BatchOperationsDestinationRoleCOPY"
         },
         "Action": [
           "s3:GetObject",
           "s3:GetObjectVersion",
           "s3:GetObjectAcl",
           "s3:GetObjectTagging",
           "s3:GetObjectVersionAcl",
           "s3:GetObjectVersionTagging"
         ],
         "Resource": "arn:aws:s3:::amzn-s3-demo-source-bucket/*"
       }
     ]
   }
   ```

------

1. Creare un processo di operazioni in batch S3 nell'account di destinazione. È necessario l’Amazon Resource Name (ARN) del ruolo creato nell'account di destinazione. Per ulteriori informazioni sulla creazione di un processo, consulta [Creazione di un processo di operazioni in batch S3](batch-ops-create-job.md).

# Utilizzo delle operazioni in batch per abilitare le chiavi S3 Bucket per SSE-KMS
<a name="batch-ops-copy-example-bucket-key"></a>

S3 Bucket Keys riduce il costo della crittografia lato server con AWS Key Management Service (AWS KMS) (SSE-KMS) diminuendo il traffico delle richieste da Amazon S3 a. AWS KMS Per ulteriori informazioni, consultare [Riduzione del costo di SSE-KMS con le chiavi bucket Amazon S3](bucket-key.md) e [Configurazione del bucket per utilizzare una chiave bucket S3 con SSE-KMS per nuovi oggetti](configuring-bucket-key.md). Quando esegui un'`CopyObject`operazione utilizzando l'API REST, oppure AWS SDKs AWS CLI, puoi abilitare o disabilitare una chiave S3 Bucket a livello di oggetto aggiungendo l'intestazione della richiesta con un valore or. `x-amz-server-side-encryption-bucket-key-enabled` `true` `false` 

Quando si configura una chiave S3 Bucket per un oggetto utilizzando un'operazione `CopyObject`, Amazon S3 aggiorna solo le impostazioni per quell'oggetto. Le impostazioni della chiave del bucket S3 per il bucket di destinazione non vengono modificate. Se si invia una richiesta `CopyObject` per un oggetto crittografato AWS KMS a un bucket con S3 Bucket Keys abilitate, l'operazione a livello di oggetto utilizzerà automaticamente S3 Bucket Keys, a meno che non si disabilitino le chiavi nell'intestazione della richiesta. Se non specifichi una chiave bucket S3 per il tuo oggetto, Amazon S3 applica le impostazioni della chiave bucket S3 per il bucket di destinazione all'oggetto.

Per crittografare gli oggetti Amazon S3 esistenti, è possibile utilizzare Operazioni in batch S3. È possibile utilizzare l'operazione di **copia delle operazioni in batch** per copiare gli oggetti non crittografati esistenti e scrivere i nuovi oggetti crittografati nello stesso bucket. Per ulteriori informazioni, [consulta Encrypting objects with Amazon S3 Batch](https://aws.amazon.com/blogs/storage/encrypting-objects-with-amazon-s3-batch-operations/) Operations AWS sul blog di storage.

Nell'esempio seguente, si utilizza l'operazione di **copia** Operazioni in batch per abilitare le chiavi bucket S3 per gli oggetti esistenti. Per ulteriori informazioni, consulta [Configurazione di una chiave bucket S3 a livello di oggetto](configuring-bucket-key-object.md).

**Topics**
+ [

## Considerazioni sull'utilizzo di Operazioni in batch S3 per crittografare gli oggetti con chiavi bucket S3 abilitate
](#bucket-key-ex-things-to-note)
+ [

## Prerequisiti
](#bucket-key-ex-prerequisites)
+ [

## Fase 1: Ottenimento dell'elenco di oggetti tramite Amazon S3 Inventory
](#bucket-key-ex-get-list-of-objects)
+ [

## Fase 2: Filtro dell'elenco degli oggetti con S3 Select
](#bucket-key-ex-filter-object-list-with-s3-select)
+ [

## Fase 3: Impostazione ed esecuzione del processo di operazioni in batch S3
](#bucket-key-ex-setup-and-run-job)

## Considerazioni sull'utilizzo di Operazioni in batch S3 per crittografare gli oggetti con chiavi bucket S3 abilitate
<a name="bucket-key-ex-things-to-note"></a>

Quando si usa Operazioni in batch S3 per crittografare gli oggetti con chiavi bucket S3 abilitate, si devono considerare i seguenti problemi:
+ Verranno addebitati i costi di processi, oggetti e richieste associati alla funzione Operazioni in batch Amazon S3, oltre ai costi associati all'operazione eseguita dalla funzione Operazioni in batch Amazon S3 per tuo conto, inclusi trasferimenti dati, richieste e altri addebiti. Per ulteriori informazioni, consulta [Prezzi di Amazon S3](https://aws.amazon.com/s3/pricing).
+ Se utilizzi un bucket con versioni, ogni processo di operazioni in batch S3 eseguito crea nuove versioni crittografate degli oggetti. Conserva anche le versioni precedenti configurate senza chiave di bucket S3. Per eliminare le versioni precedenti, imposta una policy di scadenza del ciclo di vita S3 per le versioni non correnti, come descritto in [Elementi della configurazione del ciclo di vita](intro-lifecycle-rules.md).
+ L'operazione di copia crea nuovi oggetti con nuove date di creazione, che possono influire sulle operazioni del ciclo di vita, come ad esempio l'archiviazione. Se copi tutti gli oggetti nel bucket, tutte le nuove copie avranno date di creazione identiche o simili. Per identificare ulteriormente questi oggetti e creare regole del ciclo di vita diverse per vari sottoinsiemi di dati, è consigliabile utilizzare i tag oggetto. 

## Prerequisiti
<a name="bucket-key-ex-prerequisites"></a>

Prima di configurare gli oggetti per l'utilizzo di una chiave S3 Bucket, consulta [Modifiche alla nota prima dell'abilitazione di una chiave bucket S3](bucket-key.md#bucket-key-changes). 

Per utilizzare questo esempio, devi disporre di un bucket S3 Account AWS e di almeno un bucket S3 per contenere i file di lavoro e i risultati crittografati. È inoltre possibile trovare utile buona parte della documentazione esistente delle operazioni in batch S3, inclusi i seguenti argomenti:
+ [Nozioni di base sulle operazioni in batch S3](batch-ops.md#batch-ops-basics)
+ [Creazione di un processo di operazioni in batch S3](batch-ops-create-job.md)
+ [Operazioni supportate dalle operazioni in batch S3](batch-ops-operations.md)
+ [Gestione dei processi di operazioni in batch Amazon S3](batch-ops-managing-jobs.md)

## Fase 1: Ottenimento dell'elenco di oggetti tramite Amazon S3 Inventory
<a name="bucket-key-ex-get-list-of-objects"></a>

Per iniziare, identifica il bucket S3 che contiene gli oggetti da crittografare e recupera un elenco del suo contenuto. Un report di inventario di Amazon S3 è il modo più conveniente per farlo. Il report fornisce l'elenco degli oggetti di un bucket con i relativi metadati. In questo passaggio, il bucket di origine è il bucket inventariato e il bucket di destinazione è il bucket in cui si memorizza il file del report di inventario. Per ulteriori informazioni sui bucket di origine e di destinazione di Inventario Amazon S3, consulta [Catalogazione e analisi dei dati con Inventario S3](storage-inventory.md).

Il modo più semplice per configurare un inventario consiste nell'utilizzare la Console di gestione AWS. Ma puoi anche usare l'API REST, AWS Command Line Interface (AWS CLI) o. AWS SDKs Prima di seguire questi passaggi, assicurati di accedere alla console e aprire la console Amazon S3 all'indirizzo. [https://console.aws.amazon.com/s3/](https://console.aws.amazon.com/s3/) Se si verificano errori di autorizzazione negata, aggiungi una policy bucket al bucket di destinazione. Per ulteriori informazioni, consulta [Concedere autorizzazioni per S3 Inventory e S3 Analytics](example-bucket-policies.md#example-bucket-policies-s3-inventory-1).

**Come ottenere un elenco di oggetti tramite Inventario S3**

1. Apri la console Amazon S3 all'indirizzo. [https://console.aws.amazon.com/s3/](https://console.aws.amazon.com/s3/)

1. Nel riquadro di navigazione a sinistra, scegli **Bucket** e seleziona un bucket contenente gli oggetti da crittografare.

1. Nella scheda **Gestione**, passa alla sezione **Configurazioni di inventario** e seleziona **Crea configurazione di inventario**.

1. Assegna un nome al tuo nuovo inventario, inserisci il nome del bucket S3 di destinazione e, facoltativamente, crea un prefisso di destinazione per Amazon S3 per assegnare gli oggetti in quel bucket.

1. Per **Formato di output**, seleziona **CSV**.

1. (Facoltativo) Nella sezione **Campi aggiuntivi - *facoltativi***, seleziona **Crittografia** e tutti gli altri campi del report che ti interessano. Imposta la frequenza per le consegne del report su **Giornaliero** in modo che il primo report venga consegnato al bucket quanto prima.

1. Seleziona **Crea** per salvare la configurazione.

Amazon S3 può richiedere fino a 48 ore per consegnare il primo report, quindi controlla quando arriva. Dopo aver ricevuto il primo report, procedi alla fase successiva per filtrare i contenuti del report di Inventario S3. Se non desideri più ricevere report di inventario per questo bucket, elimina la configurazione dell'inventario S3. Altrimenti, Amazon S3 continua a consegnare i report su base giornaliera o settimanale.

Un elenco di inventario non è una point-in-time visualizzazione singola di tutti gli oggetti. Gli elenchi di inventario sono uno snapshot in sequenza di voci del bucket, che sono a consistenza finale (cioè, l'elenco potrebbe non includere oggetti aggiunti o eliminati di recente). La combinazione di inventario S3 e operazioni in batch S3 funziona meglio quando si lavora con oggetti statici o con un set di oggetti creato due o più giorni prima. Per lavorare con dati più recenti, utilizza l'operazione API [https://docs.aws.amazon.com/AmazonS3/latest/API/API_ListObjectsV2.html](https://docs.aws.amazon.com/AmazonS3/latest/API/API_ListObjectsV2.html) (`GET` bucket) per costruire manualmente l'elenco di oggetti. Se necessario, ripeti la procedura per i giorni successivi o finché il report di inventario non mostra lo stato desiderato per tutti gli oggetti.

## Fase 2: Filtro dell'elenco degli oggetti con S3 Select
<a name="bucket-key-ex-filter-object-list-with-s3-select"></a>

Dopo aver ricevuto il report di Inventario S3, è possibile filtrare il contenuto del report per elencare solo gli oggetti che non sono crittografati con chiavi bucket S3 abilitate. Se si desidera che tutti gli oggetti del bucket siano crittografati con S3 Bucket Keys abilitate, si può ignorare questo passaggio. Tuttavia, filtrando il report di Inventario S3 in questa fase si risparmia il tempo e la spesa di una nuova crittografia degli oggetti precedentemente crittografati con chiavi del bucket S3 abilitate.

Sebbene i passaggi seguenti mostrino come filtrare utilizzando [Amazon S3 Select](https://aws.amazon.com/blogs/aws/s3-glacier-select/), è possibile utilizzare anche [Amazon Athena](https://aws.amazon.com/athena). Per decidere quale strumento utilizzare, dai un'occhiata al file `manifest.json` del report di inventario S3. Questo file riporta il numero di file di dati associati a tale report. Se il numero è grande, usa Amazon Athena perché viene eseguito su più oggetti S3, mentre S3 Select funziona su un oggetto alla volta. Per ulteriori informazioni sull'utilizzo congiunto di Amazon S3 e Athena, consulta [Esecuzione di query sull'inventario Amazon S3 con Amazon Athena](storage-inventory-athena-query.md) «Uso di Athena» nel post del blog di AWS storage Encrypting objects [with Amazon](https://aws.amazon.com/blogs/storage/encrypting-objects-with-amazon-s3-batch-operations) S3 Batch Operations.

**Per filtrare il report di Inventario S3 utilizzando S3 Select**

1. Apri il file `manifest.json` dal report di inventario e guarda la sezione `fileSchema` del JSON. Questa sezione informa la query che si esegue sui dati. 

   Il seguente JSON è un file `manifest.json` di esempio per un inventario in formato CSV su un bucket con il controllo delle versioni abilitato. A seconda di come hai configurato il report di inventario, il manifest potrebbe apparire diverso.

   ```
     {
       "sourceBucket": "batchoperationsdemo",
       "destinationBucket": "arn:aws:s3:::amzn-s3-demo-destination-bucket",
       "version": "2021-05-22",
       "creationTimestamp": "1558656000000",
       "fileFormat": "CSV",
       "fileSchema": "Bucket, Key, VersionId, IsLatest, IsDeleteMarker, BucketKeyStatus",
       "files": [
         {
           "key": "demoinv/batchoperationsdemo/DemoInventory/data/009a40e4-f053-4c16-8c75-6100f8892202.csv.gz",
           "size": 72691,
           "MD5checksum": "c24c831717a099f0ebe4a9d1c5d3935c"
         }
       ]
     }
   ```

   Se il controllo delle versioni non è attivato nel bucket o se hai deciso di eseguire il report per le versioni più recenti, la `fileSchema` è `Bucket`, `Key` e `BucketKeyStatus`. 

   Se il controllo delle versioni *è* attivato, a seconda di come è stato impostato il report di inventario, il `fileSchema` può includere quanto segue: `Bucket`, `Key`, `VersionId`, `IsLatest`, `IsDeleteMarker`, `BucketKeyStatus`. Quindi presta attenzione alle colonne 1, 2, 3 e 6 quando esegui la query. 

   Per eseguire il processo, la funzionalità Operazioni in batch Amazon S3 richiede come input il bucket, la chiave e l'ID versione, oltre al campo in base al quale eseguire la ricerca, ovvero `BucketKeyStatus`. Il campo `VersionID` non è necessario, ma è utile specificare il campo `VersionID` quando si opera su un bucket con controllo delle versioni. Per ulteriori informazioni, consulta [Utilizzo di oggetti in un bucket che supporta la funzione Controllo delle versioni](manage-objects-versioned-bucket.md).

1. Individua i file di dati per il report di inventario. L'oggetto `manifest.json` riporta i file di dati in **files**.

1. Dopo aver individuato e selezionato il file di dati nella console S3, seleziona **Operazioni** quindi scegli **Query con S3 Select**.

1. Mantieni i valori preimpostati per **CSV**, **virgola** e **GZIP** e seleziona **Successivo**.

1. Per rivedere il formato del report dell'inventario prima di procedere, scegli **Mostra anteprima file**.

1. Immetti le colonne a cui fare riferimento nel campo SQL expression (Espressione SQL), quindi seleziona **Run SQL (Esegui SQL)**. L'espressione seguente restituisce le colonne 1-3 per tutti gli oggetti senza chiave bucket S3 configurata.

   `select s._1, s._2, s._3 from s3object s where s._6 = 'DISABLED'`

   Di seguito sono riportati i risultati di esempio.

   ```
         batchoperationsdemo,0100059%7Ethumb.jpg,lsrtIxksLu0R0ZkYPL.LhgD5caTYn6vu
         batchoperationsdemo,0100074%7Ethumb.jpg,sd2M60g6Fdazoi6D5kNARIE7KzUibmHR
         batchoperationsdemo,0100075%7Ethumb.jpg,TLYESLnl1mXD5c4BwiOIinqFrktddkoL
         batchoperationsdemo,0200147%7Ethumb.jpg,amufzfMi_fEw0Rs99rxR_HrDFlE.l3Y0
         batchoperationsdemo,0301420%7Ethumb.jpg,9qGU2SEscL.C.c_sK89trmXYIwooABSh
         batchoperationsdemo,0401524%7Ethumb.jpg,ORnEWNuB1QhHrrYAGFsZhbyvEYJ3DUor
         batchoperationsdemo,200907200065HQ%7Ethumb.jpg,d8LgvIVjbDR5mUVwW6pu9ahTfReyn5V4
         batchoperationsdemo,200907200076HQ%7Ethumb.jpg,XUT25d7.gK40u_GmnupdaZg3BVx2jN40
         batchoperationsdemo,201103190002HQ%7Ethumb.jpg,z.2sVRh0myqVi0BuIrngWlsRPQdb7qOS
   ```

1. Scarica i risultati, salvali in un formato CSV e caricali in Amazon S3 come elenco di oggetti per il processo di operazioni in batch S3.

1. Se disponi di più file manifest, esegui **Query con S3 Select** anche su quelli. A seconda delle dimensioni dei risultati, è possibile combinare gli elenchi ed eseguire un singolo processo di operazioni in batch S3 oppure eseguire ogni elenco come processo separato. Per decidere il numero di processi da eseguire, considera il [prezzo](https://aws.amazon.com/s3/pricing/) dell'esecuzione di ciascun processo di Operazioni in batch S3.

## Fase 3: Impostazione ed esecuzione del processo di operazioni in batch S3
<a name="bucket-key-ex-setup-and-run-job"></a>

Ora che si dispone di elenchi CSV filtrati di oggetti S3, è possibile avviare il processo di Operazioni in batch S3 per crittografare gli oggetti con chiavi bucket S3 abilitate.

Un *processo* fa riferimento collettivamente all'elenco (manifest) degli oggetti forniti, all'operazione eseguita e ai parametri specificati. Il modo più semplice per crittografare questo insieme di oggetti con le chiavi bucket S3 abilitate è utilizzare l'operazione **Copia** e specificare lo stesso prefisso di destinazione degli oggetti elencati nel manifesto. In un bucket non convertito, questa operazione sovrascrive gli oggetti esistenti. In un bucket con il controllo delle versioni attivato, questa operazione crea una versione più recente e crittografata degli oggetti.

Durante la copia degli oggetti, specifica che Amazon S3 deve crittografare gli oggetti con la crittografia SSE-KMS. Questo processo copia gli oggetti, quindi tutti gli oggetti mostreranno una data di creazione aggiornata al momento del completamento, indipendentemente da quando sono stati aggiunti originariamente ad Amazon S3. Specifica inoltre le altre proprietà per l'insieme di oggetti come parte del processo di operazioni in batch S3, inclusi i tag oggetto e la classe di archiviazione.

**Topics**
+ [

### Impostazione della policy IAM
](#bucket-key-ex-set-up-iam-policy)
+ [

### Impostazione del ruolo IAM nelle operazioni in batch
](#bucket-key-ex-set-up-iam-role)
+ [

### Attivazione di S3 Bucket Keys per un bucket esistente
](#bucket-key-ex-enable-s3-bucket-key-on-a-bucket)
+ [

### Creazione di un processo di operazioni in batch S3
](#bucket-key-ex-create-job)
+ [

### Esecuzione del processo di operazioni in batch
](#bucket-key-ex-run-job)

### Impostazione della policy IAM
<a name="bucket-key-ex-set-up-iam-policy"></a>

1. Aprire la console IAM all'indirizzo [https://console.aws.amazon.com/iam/](https://console.aws.amazon.com/iam/).

1. Nel riquadro di navigazione a sinistra, scegli **Policy**, quindi scegli **Crea policy**.

1. Selezionare la scheda **JSON**. Seleziona **Modifica policy** e aggiungi la policy IAM di esempio visualizzata nel seguente blocco di codice. 

   Dopo aver copiato l'esempio di policy nella [Console IAM](https://console.aws.amazon.com/iam/), sostituisci quanto segue:

   1. Sostituisci `amzn-s3-demo-source-bucket` con il nome del bucket di origine da cui copiare gli oggetti.

   1. Sostituisci `amzn-s3-demo-destination-bucket` con il nome del bucket di destinazione in cui copiare gli oggetti.

   1. Sostituisci `amzn-s3-demo-manifest-bucket/manifest-key` con il nome del tuo oggetto manifesto.

   1. Sostituisci `amzn-s3-demo-completion-report-bucket` con il nome del bucket in cui si desidera salvare i report di completamento.

------
#### [ JSON ]

****  

   ```
     {
       "Version":"2012-10-17",		 	 	 
       "Statement": [
         {
           "Sid": "CopyObjectsToEncrypt",
           "Effect": "Allow",
           "Action": [
             "s3:PutObject",
             "s3:PutObjectTagging",
             "s3:PutObjectAcl",
             "s3:PutObjectVersionTagging",
             "s3:PutObjectVersionAcl",
             "s3:GetObject",
             "s3:GetObjectAcl",
             "s3:GetObjectTagging",
             "s3:GetObjectVersion",
             "s3:GetObjectVersionAcl",
             "s3:GetObjectVersionTagging"
           ],
           "Resource": [
             "arn:aws:s3:::amzn-s3-demo-source-bucket/*",
             "arn:aws:s3:::amzn-s3-demo-destination-bucket/*"
           ]
         },
         {
           "Sid": "ReadManifest",
           "Effect": "Allow",
           "Action": [
             "s3:GetObject",
             "s3:GetObjectVersion"
           ],
           "Resource": "arn:aws:s3:::amzn-s3-demo-manifest-bucket/manifest-key"
         },
         {
           "Sid": "WriteReport",
           "Effect": "Allow",
           "Action": [
             "s3:PutObject"
           ],
           "Resource": "arn:aws:s3:::amzn-s3-demo-completion-report-bucket/*"
         }
       ]
     }
   ```

------

1. Scegliere **Next: Tags (Successivo: Tag)**.

1. Aggiungi tutti i tag desiderati (facoltativo) e seleziona **Successivo: Rivedi**.

1. Aggiungi un nome per la policy, facoltativamente, una descrizione quindi scegli **Crea policy**.

1. Scegli **Esamina policy** e quindi **Salva modifiche**.

1. Una volta completata la policy per le operazioni in batch S3, la console ritorna alla pagina **Policy** di IAM. Filtra in base al nome della policy, scegli il pulsante a sinistra del nome della policy, seleziona **Operazioni di policy** e scegli **Collega**. 

   Per associare la nuova policy creata a un ruolo IAM, seleziona gli utenti, i gruppi o i ruoli appropriati nell'account e scegli **Collega policy**. In questo modo si ritorna alla console IAM.

### Impostazione del ruolo IAM nelle operazioni in batch
<a name="bucket-key-ex-set-up-iam-role"></a>

1. Nella [Console IAM](https://console.aws.amazon.com/iam/), nel riquadro di navigazione, scegli **Ruoli**, quindi scegli **Crea ruolo**.

1. Seleziona **Servizio AWS**, **S3** e **Operazioni in batch S3**. Quindi scegliere **Next: Permissions (Successivo: Autorizzazioni)**.

1. Inizia a inserire il nome della **policy** IAM che hai appena creato. Seleziona la casella di controllo in base al nome della policy quando viene visualizzata e scegli **Successivo: Tag**.

1. (Facoltativo) Aggiungi tag o mantieni vuoti i campi di chiave e valore per questo esercizio. Scegliere **Next:Review (Successivo:Rivedi)**.

1. Specifica un nome per il ruolo e accetta la descrizione predefinita o aggiungine una personalizzata. Seleziona **Create role** (Crea ruolo).

1. Assicurati che l'utente che crea il processo disponga delle autorizzazioni riportate nell'esempio seguente. 

   Sostituisci `account-id` con il tuo ID Account AWS e `IAM-role-name` con il nome che prevedi di applicare al ruolo IAM che verrà creato nel passaggio della creazione del processo Operazioni in batch più avanti. Per ulteriori informazioni, consulta [Concessione di autorizzazioni per le operazioni in batch](batch-ops-iam-role-policies.md).

   ```
               {
               "Sid": "AddIamPermissions",
               "Effect": "Allow",
               "Action": [
               "iam:GetRole",
               "iam:PassRole"
               ],
               "Resource": "arn:aws:iam::account-id:role/IAM-role-name"
               }
   ```

### Attivazione di S3 Bucket Keys per un bucket esistente
<a name="bucket-key-ex-enable-s3-bucket-key-on-a-bucket"></a>

1. Apri la console Amazon S3 all'indirizzo. [https://console.aws.amazon.com/s3/](https://console.aws.amazon.com/s3/)

1. Nell'elenco **Bucket** scegli il bucket per cui desideri abilitare una chiave bucket S3.

1. Scegliere **Properties (Proprietà)**.

1. In **Default encryption (Crittografia di default)**, scegliere **Edit (Modifica)**.

1. In **Tipo di crittografia**, scegli **Chiavi gestite da Amazon S3 (SSE-S3)** e **Chiave AWS Key Management Service (SSE-KMS)**. 

1. Se hai scelto **AWS Key Management Service la chiave (SSE-KMS)**, sotto **AWS KMS key**, puoi specificare la AWS KMS chiave tramite una delle seguenti opzioni.
   + Per effettuare una selezione in un elenco di chiavi KMS disponibili, seleziona **Scegli tra le chiavi AWS KMS **. Nell'elenco di chiavi disponibili, scegli una chiave KMS di crittografia simmetrica nella stessa regione del bucket. Nell'elenco vengono visualizzate sia la chiave AWS gestita (`aws/s3`) che le chiavi gestite dal cliente.
   + Per inserire l'ARN della chiave KMS, **scegli Inserisci AWS KMS la chiave ARN**, quindi inserisci la chiave KMS ARN nel campo visualizzato.
   + **Per creare una nuova chiave gestita dal cliente nella AWS KMS console, scegli Crea una chiave KMS.**

1. In **Chiave bucket**, seleziona **Abilita** quindi scegli **Salva modifiche**.

Ora che la chiave del bucket S3 è abilitata a livello di bucket, gli oggetti caricati, modificati o copiati in questo bucket erediteranno questa configurazione di crittografia per impostazione predefinita. Sono inclusi anche gli oggetti copiati tramite la funzionalità Operazioni in batch Amazon S3.

### Creazione di un processo di operazioni in batch S3
<a name="bucket-key-ex-create-job"></a>

1. Apri la console Amazon S3 all'indirizzo. [https://console.aws.amazon.com/s3/](https://console.aws.amazon.com/s3/)

1. Nel riquadro di navigazione seleziona **Operazioni in batch**, quindi scegli **Crea processo**.

1. Seleziona la **regione** in cui si trovano i tuoi oggetti e scegli **CSV** come tipo manifest.

1. Specifica il percorso o passare al file manifest CSV creato in precedenza dai risultati di S3 Select (o Athena). Se il manifesto contiene una versione IDs, seleziona quella casella. Scegli **Next (Successivo)**.

1. Seleziona **Copia** e scegli il bucket di destinazione della copia. Puoi mantenere la crittografia lato server disattivata. Finché nella destinazione del bucket sono abilitate le chiavi bucket S3, l'operazione di copia applica le chiavi bucket S3 al bucket di destinazione.

1. (Facoltativo) Scegli una classe di archiviazione e gli altri parametri come desiderato. I parametri specificati in questo passaggio si applicano a tutte le operazioni eseguite sugli oggetti riportati nel manifest. Scegli **Next (Successivo)**.

1. Per configurare la crittografia lato server, completa la seguente procedura: 

   1. In **Crittografia lato server** completa la seguente procedura:
      + Per conservare le impostazioni relative ai bucket per la crittografia predefinita degli oggetti lato server durante l'archiviazione in Amazon S3, scegli **Non specificare una chiave di crittografia**. Finché nella destinazione del bucket sono abilitate le chiavi bucket S3, l'operazione di copia applica la chiave bucket S3 al bucket di destinazione.
**Nota**  
Se la policy di bucket per la destinazione specificata richiede la crittografia degli oggetti prima di archiviarli in Amazon S3, è necessario specificare una chiave di crittografia. In caso contrario, la copia degli oggetti nella destinazione avrà esito negativo.
      + Per crittografare gli oggetti prima di archiviarli in Amazon S3, scegli **Specifica una chiave di crittografia**.

   1. In **Impostazioni di crittografia**, se scegli **Specifica una chiave di crittografia**, devi scegliere **Usa le impostazioni del bucket di destinazione per la crittografia predefinita** o **Ignora le impostazioni del bucket di destinazione per la crittografia predefinita**.

   1. Se scegli **Ignora le impostazioni del bucket di destinazione per la crittografia predefinita**, dovrai configurare le seguenti impostazioni di crittografia.

      1. In **Tipo di crittografia**, scegli **Chiavi gestite da Amazon S3 (SSE-S3)** o **Chiave AWS Key Management Service (SSE-KMS)**. Per crittografare gli oggetti, SSE-S3 utilizza una delle cifrature di blocco più complesse, lo standard di crittografia avanzata a 256 bit (AES-256). SSE-KMS garantisce un maggiore controllo sulla chiave. Per ulteriori informazioni, consultare [Uso della crittografia lato server con chiavi gestite da Amazon S3 (SSE-S3)](UsingServerSideEncryption.md) e [Utilizzo della crittografia lato server con chiavi (SSE-KMS) AWS KMS](UsingKMSEncryption.md).

      1. Se scegli **Chiave AWS Key Management Service (SSE-KMS)**, in **AWS KMS key** puoi specificare la chiave AWS KMS key tramite una delle seguenti opzioni.
         + Per scegliere da un elenco di chiavi KMS disponibili, **scegli tra le tue AWS KMS keys**, quindi scegli una chiave KMS con crittografia simmetrica nella stessa regione del bucket. Nell'elenco vengono visualizzate sia la chiave AWS gestita (`aws/s3`) che le chiavi gestite dal cliente.
         + Per inserire l'ARN della chiave KMS, **scegli Inserisci la AWS KMS chiave ARN** e inserisci l'ARN della chiave KMS nel campo visualizzato.
         + **Per creare una nuova chiave gestita dal cliente nella AWS KMS console, scegli Crea una chiave KMS.**

      1. In **Chiave bucket** scegli **Abilita**. L'operazione di copia applica una chiave bucket S3 al bucket di destinazione.

1. Assegna al processo una descrizione (o mantieni quella predefinita), impostane il livello di priorità, scegli un tipo di report e specifica il **Percorso di destinazione del report di completamento**.

1. Nella sezione **Autorizzazioni**, assicurati di scegliere il ruolo IAM delle operazioni in batch definito in precedenza. Scegli **Next (Successivo)**.

1. In **Rivedi**, verificare le impostazioni. Se è necessario apportare modifiche, seleziona **Precedente**. Dopo aver confermato le impostazioni delle operazioni in batch, seleziona **Crea processo**. 

   Per ulteriori informazioni, consulta [Creazione di un processo di operazioni in batch S3](batch-ops-create-job.md).

### Esecuzione del processo di operazioni in batch
<a name="bucket-key-ex-run-job"></a>

La procedura guidata di configurazione ti riporta automaticamente alla sezione Operazioni in batch S3 della console di Amazon S3. Le transizioni del tuo nuovo processo dallo stato **Nuovo**allo stato **Preparazione in corso** indicano come inizia il processo S3. Durante lo stato Preparazione in corso, S3 legge il manifest del processo, controlla la presenza di errori e calcola il numero di oggetti.

1. Scegli il pulsante Aggiorna nella console di Amazon S3 per verificare lo stato di avanzamento. A seconda delle dimensioni del manifest, la lettura può richiedere minuti o ore.

1. Dopo che S3 ha terminato la lettura del manifest del processo, il processo passa allo stato **In attesa di conferma**. Scegli il pulsante di opzione a sinistra dell'ID processo, quindi seleziona **Esegui processo**.

1. Controlla le impostazioni del processo e scegli **Esegui processo** nell'angolo in basso a destra.

   Dopo l'inizio dell'esecuzione del processo, puoi scegliere il pulsante di aggiornamento per verificarne l'avanzamento tramite la vista del pannello di controllo della console o selezionando il processo specifico.

1. Una volta completato il processo, puoi visualizzare il numero di oggetti con stato **Riuscito** e **Non riuscito** per confermare che tutto è stato eseguito come previsto. Se hai abilitato i report del processo, controlla la causa esatta di eventuali operazioni non riuscite nel report.

   Puoi eseguire questi passaggi anche utilizzando l' AWS CLI API REST di Amazon S3 o Amazon S3. AWS SDKs Per ulteriori informazioni sul monitoraggio dello stato del processo e dei report sul completamento, consulta [Monitoraggio dei rapporti sullo stato e sul completamento dei processi](batch-ops-job-status.md).

Per esempi che mostrano l'operazione di copia con tag utilizzando il comando AWS CLI and AWS SDK per Java, consulta[Creazione di un processo Batch Operations con tag di processo utilizzati per l'etichettatura](batch-ops-tags-create.md).

# Calcolo dei checksum
<a name="batch-ops-compute-checksums"></a>

È possibile utilizzare Operazioni in batch S3 con l’operazione **Calcola il checksum** per eseguire calcoli del checksum di oggetti archiviati in Amazon S3 a riposo. L’operazione **Calcola il checksum** calcola i checksum degli oggetti che puoi utilizzare per convalidare l’integrità dei dati senza scaricare o ripristinare oggetti per i dati archiviati. È possibile utilizzare l’operazione **Calcola il checksum** per calcolare i checksum di tipi di checksum compositi e di oggetti completi, per tutti gli algoritmi di checksum supportati.

Con l’operazione **Calcola il checksum**, è possibile elaborare miliardi di oggetti tramite una singola richiesta di processo. Questa operazione in batch è compatibile con tutte le classi di archiviazione S3, indipendentemente dalla dimensione dell’oggetto. Per creare un processo di **checksum Compute**, usa la console Amazon S3,AWS CLI(), AWS Command Line Interface the o AWS SDKs l'API REST di Amazon S3.

Quando si [abilita la registrazione dei log degli accessi al server](https://docs.aws.amazon.com/AmazonS3/latest/userguide/ServerLogs.html), è anche possibile ricevere voci di log relative al processo **Calcola il checksum**. L’operazione **Calcola il checksum** emette eventi del log di accesso al server separati dopo aver completato i calcoli del checksum. Queste voci di log seguono il [formato standard di registrazione dei log degli accessi al server S3](https://docs.aws.amazon.com/AmazonS3/latest/userguide/LogFormat.html) e includono campi come il tipo di operazione, il timestamp, i [codici di errore](https://docs.aws.amazon.com/AmazonS3/latest/API/ErrorResponses.html#ErrorCodeList) e l’ID del processo **Calcola il checksum** associato. Questa registrazione dei log fornisce un audit trail delle attività di verifica del checksum eseguite sugli oggetti, consentendo di monitorare e verificare le operazioni di integrità dei dati. 

**Nota**  
L’operazione **Calcola il checksum** non supporta la crittografia lato server con chiavi di crittografia fornite dal cliente (SSE-C). Tuttavia, puoi utilizzare l'operazione di **checksum Compute** con oggetti crittografati utilizzando la crittografia lato server con [chiavi gestite S3 (SSE-S3), la crittografia lato server con (](https://docs.aws.amazon.com/AmazonS3/latest/userguide/UsingKMSEncryption.html)DSSE-KMS). AWS Key Management Service [https://docs.aws.amazon.com/AmazonS3/latest/userguide/UsingKMSEncryption.html#require-sse-kms](https://docs.aws.amazon.com/AmazonS3/latest/userguide/UsingKMSEncryption.html#require-sse-kms)

Per iniziare a utilizzare l’operazione **Calcola il checksum** utilizzando Operazioni in batch puoi procedere in questi modi:
+ Crea un nuovo file manifesto manualmente.
+ Utilizza un manifesto esistente.
+ Configura Operazioni in batch per generare automaticamente un manifesto in base ai criteri di filtro degli oggetti [specificati quando si crea il processo](https://docs.aws.amazon.com/AmazonS3/latest/userguide/batch-ops-create-job.html#specify-batchjob-manifest).

Quindi, invia la richiesta di processo **Calcola il checksum** e monitorane lo stato. Al termine del processo **Calcola il checksum**, ricevi automaticamente un report di completamento nel bucket di destinazione specificato. Questo report di completamento contiene informazioni sul checksum di ogni oggetto presente nel bucket, consentendoti di verificare la coerenza dei dati. Per ulteriori informazioni su come utilizzare questo report per esaminare il processo, consulta [Monitoraggio dei rapporti sullo stato e sul completamento dei processi](https://docs.aws.amazon.com/AmazonS3/latest/userguide/batch-ops-job-status.html).

Per ulteriori informazioni sulle funzionalità di **Calcola il checksum** e su come utilizzare **Calcola il checksum** nella console, consulta [Verifica dell’integrità degli oggetti per i dati a riposo in Amazon S3](checking-object-integrity-at-rest.md). Per informazioni su come inviare richieste REST all’operazione **Calcola il checksum**, consulta [https://docs.aws.amazon.com/AmazonS3/latest/API/API_control_DescribeJob.html](https://docs.aws.amazon.com/AmazonS3/latest/API/API_control_DescribeJob.html) e [https://docs.aws.amazon.com/AmazonS3/latest/API/API_control_CreateJob.html](https://docs.aws.amazon.com/AmazonS3/latest/API/API_control_CreateJob.html) nella *Guida di riferimento delle API di Amazon S3*.

Le sezioni seguenti spiegano come iniziare a utilizzare l’operazione **Calcola il checksum** con Operazioni in batch S3.

**Topics**
+ [

## Considerazioni sull’operazione **Calcola il checksum** di Operazioni in batch S3
](#batch-ops-compute-checksum-considerations)
+ [

## Report di completamento di Operazioni in batch S3
](#batch-ops-compute-checksum-completion-report)

## Considerazioni sull’operazione **Calcola il checksum** di Operazioni in batch S3
<a name="batch-ops-compute-checksum-considerations"></a>

Prima di utilizzare l’operazione **Calcola il checksum**, esamina il seguente elenco di considerazioni:
+ Se il manifesto include un campo ID versione, è necessario fornire un ID versione per tutti gli oggetti del manifesto. Se l’ID versione non è specificato, la richiesta **Calcola il checksum** esegue l’operazione sulla versione più recente dell’oggetto.
+ Per ricevere i dettagli dell’operazione **Calcola il checksum** nei [log di accesso al server](https://docs.aws.amazon.com/AmazonS3/latest/userguide/ServerLogs.html), è necessario innanzitutto [abilitare la registrazione dei log di accesso al server](https://docs.aws.amazon.com/AmazonS3/latest/userguide/enable-server-access-logging.html) nel bucket di origine e specificare un bucket di destinazione per archiviare i log. Il bucket di destinazione deve esistere anche nello stesso bucket di Regione AWS origine Account AWS . Dopo aver configurato la registrazione dei log degli accessi al server, l’operazione **Calcola il checksum** genera i [record di log](https://docs.aws.amazon.com/AmazonS3/latest/userguide/LogFormat.html#log-record-fields) che includono campi standard come il tipo di operazione, il codice di stato HTTP, i [codici di errore S3](https://docs.aws.amazon.com/AmazonS3/latest/API/ErrorResponses.html#ErrorCodeList), i timestamp e l’ID del processo **Calcola il checksum** associato. L’operazione **Calcola il checksum** viene eseguita in modo asincrono. Di conseguenza, le [voci di log](https://docs.aws.amazon.com/AmazonS3/latest/userguide/LogFormat.html#log-record-fields) utilizzano un ID del processo **Calcola il checksum**, anziché l’ID della richiesta.
+ La generazione del report può richiedere fino a qualche ora per gli oggetti archiviati.
+ Per le seguenti classi di archiviazione S3 Glacier, il completamento del processo **Calcola il checksum** può richiedere fino a una settimana:
  + S3 Glacier Flexible Retrieval
  + S3 Glacier Deep Archive
+ Per i bucket in cui verrà scritto il report di completamento, è necessario utilizzare la [condizione di proprietario del bucket](https://docs.aws.amazon.com/AmazonS3/latest/userguide/bucket-owner-condition.html#bucket-owner-condition-when-to-use) quando si esegue l’operazione **Calcola il checksum**. Se il proprietario del bucket effettivo non corrisponde al proprietario del bucket previsto per la richiesta di processo inviata, il processo ha esito negativo. Per l’elenco delle operazioni S3 che non supportano la condizione di proprietario del bucket, consulta [Restrizioni e limitazioni](https://docs.aws.amazon.com/AmazonS3/latest/userguide/bucket-owner-condition.html#bucket-owner-condition-restrictions-limitations).

## Report di completamento di Operazioni in batch S3
<a name="batch-ops-compute-checksum-completion-report"></a>

Quando crei un processo **Calcola il checksum**, puoi richiedere il report di completamento di Operazioni in batch S3. Questo file CSV mostra gli oggetti, i codici di esito positivo o negativo, gli output e le descrizioni. Per ulteriori informazioni sul monitoraggio dei processi e sui report di completamento, consulta [Report di completamento](https://docs.aws.amazon.com/AmazonS3/latest/userguide/batch-ops-job-status.html#batch-ops-completion-report).

# Elimina tutti i tag oggetto
<a name="batch-ops-delete-object-tagging"></a>

È possibile utilizzare Operazioni in batch Amazon S3 per eseguire operazioni in batch su larga scala su oggetti Amazon S3. L'operazione **Elimina tutti i tag oggetto** rimuove tutti i set di tag oggetto Amazon S3 correntemente associati agli oggetti riportati nel manifest. Operazioni in batch S3 non supporta l'eliminazione dei tag dagli oggetti mantenendo anche altri tag. 

Se gli oggetti nel manifest si trovano in un bucket con versione, puoi rimuovere i set di tag da una versione specifica di un oggetto. A tal fine, è necessario specificare un ID di versione per ogni oggetto del manifesto. Se non includi un ID versione per un oggetto, S3 Batch Operations rimuoverà il set di tag dall'ultima versione di ogni oggetto. Per ulteriori informazioni sui manifest di Batch Operations, consulta [Specifica di un manifest](batch-ops-create-job.md#specify-batchjob-manifest). 

Per ulteriori dettagli sull'etichettatura degli oggetti, consulta [Classificazione degli oggetti utilizzando i tag](object-tagging.md) in questa guida e [https://docs.aws.amazon.com/AmazonS3/latest/API/API_PutObjectTagging.html](https://docs.aws.amazon.com/AmazonS3/latest/API/API_PutObjectTagging.html), [https://docs.aws.amazon.com/AmazonS3/latest/API/API_GetObjectTagging.html](https://docs.aws.amazon.com/AmazonS3/latest/API/API_GetObjectTagging.html), e [https://docs.aws.amazon.com/AmazonS3/latest/API/API_DeleteObjectTagging.html](https://docs.aws.amazon.com/AmazonS3/latest/API/API_DeleteObjectTagging.html) in *Riferimento API di Amazon Simple Storage Service*.

**avvertimento**  
L'esecuzione di questo processo rimuove tutti i set di tag oggetto in ogni oggetto elencato nel manifest. 

Per utilizzare la console per creare un processo di **eliminazione di tutti i tag degli oggetti**, consulta [Creazione di un processo di operazioni in batch S3](batch-ops-create-job.md).

## Restrizioni e limitazioni
<a name="batch-ops-delete-object-tagging-restrictions"></a>

Quando si utilizza Operazioni in batch per eliminare i tag da un oggetto, si applicano le seguenti restrizioni e limitazioni:
+ Il ruolo AWS Identity and Access Management (IAM) specificato per eseguire il processo deve disporre delle autorizzazioni per eseguire l'operazione Amazon `DeleteObjectTagging` S3 sottostante. Per ulteriori informazioni, consulta [https://docs.aws.amazon.com/AmazonS3/latest/API/API_DeleteObjectTagging.html](https://docs.aws.amazon.com/AmazonS3/latest/API/API_DeleteObjectTagging.html) in *Amazon Simple Storage Service API Reference* (Guida di riferimento per l'API di Amazon Simple Storage Service).
+ Operazioni in batch S3 utilizza l'operazione [https://docs.aws.amazon.com/AmazonS3/latest/API/API_DeleteObjectTagging.html](https://docs.aws.amazon.com/AmazonS3/latest/API/API_DeleteObjectTagging.html) di Amazon S3 per rimuovere i set di tag da ogni oggetto del manifesto. Tutte le restrizioni e le limitazioni che si applicano all'operazione sottostante si applicano anche ai processi Operazioni in batch S3. 
+ Un singolo processo di eliminazione dei tag dagli oggetti può supportare un manifesto con un massimo di 20 miliardi di oggetti.

# Funzione di richiamo AWS Lambda
<a name="batch-ops-invoke-lambda"></a>

È possibile utilizzare Operazioni in batch Amazon S3 per eseguire operazioni in batch su larga scala su oggetti Amazon S3. L'operazione Batch Operations della ** AWS Lambda funzione Invoke** avvia AWS Lambda le funzioni per eseguire azioni personalizzate sugli oggetti elencati in un manifesto. Questa sezione descrive come creare una funzione Lambda da utilizzare con le operazioni in batch Amazon S3 e come creare un processo per richiamare la funzione. Il processo di S3 Batch Operations utilizza l'operazione `LambdaInvoke` per eseguire una funzione Lambda su ogni oggetto elencato in un manifest.

Puoi lavorare con S3 Batch Operations utilizzando la console Amazon S3 AWS Command Line Interface ,AWS CLI() o l'API AWS SDKs REST di Amazon S3. Per ulteriori informazioni sull'utilizzo di Lambda, consulta [Nozioni di base su AWS Lambda](https://docs.aws.amazon.com/lambda/latest/dg/getting-started.html) nella *Guida per Developer di AWS Lambda *. 

Le sezioni seguenti spiegano come iniziare a utilizzare le operazioni in batch S3 con Lambda.

**Topics**
+ [

## Utilizzo di Lambda con Operazioni in batch
](#batch-ops-invoke-lambda-using)
+ [

## Creazione di una funzione Lambda da utilizzare con le operazioni in batch S3
](#batch-ops-invoke-lambda-custom-functions)
+ [

## Creazione di un processo di operazioni in batch Amazon S3 che richiama una funzione Lambda
](#batch-ops-invoke-lambda-create-job)
+ [

## Fornitura di informazioni a livello di task nei manifesti Lambda
](#storing-task-level-information-in-lambda)
+ [

## Tutorial su Operazioni in batch S3
](#batch-ops-tutorials-lambda)

## Utilizzo di Lambda con Operazioni in batch
<a name="batch-ops-invoke-lambda-using"></a>

Quando si utilizza S3 Batch Operations con AWS Lambda, è necessario creare nuove funzioni Lambda specifiche per l'uso con S3 Batch Operations. Non puoi riutilizzare funzioni basate su eventi Amazon S3 esistenti con le operazioni in batch S3. Le funzioni evento possono solo ricevere messaggi, non possono restituirli. Le funzioni Lambda utilizzate con le operazioni in batch S3 devono accettare e restituire messaggi. *Per ulteriori informazioni sull'uso di Lambda con gli eventi Amazon S3, [consulta Using with AWS Lambda Amazon S3 nella Developer Guide](https://docs.aws.amazon.com/lambda/latest/dg/with-s3.html).AWS Lambda *

Devi creare un processo di operazioni in batch Amazon S3 che richiama la funzione Lambda. Il processo esegue la stessa funzione Lambda su tutti gli oggetti elencati nel manifest. Puoi controllare quali versioni della tua funzione Lambda utilizzare durante l'elaborazione degli oggetti nel tuo manifest. S3 Batch Operations supporta Amazon Resource Names (ARNs) non qualificati, alias e versioni specifiche. *Per ulteriori informazioni, consulta [Introduzione al controllo delle AWS Lambda versioni nella Guida per](https://docs.aws.amazon.com/lambda/latest/dg/versioning-intro.html) gli sviluppatori.AWS Lambda *

Se fornisci il processo di operazioni in batch Amazon S3 con una funzione ARN che utilizza un alias o il qualificatore `$LATEST` e aggiorni la versione cui questi puntano, le operazioni in batch S3 iniziano a chiamare la nuova versione della funzione Lambda. Ciò può essere utile quando desideri aggiornare la parte di funzionalità durante un processo di grandi dimensioni. Se non si desidera che Operazioni in batch S3 modifichi la versione utilizzata, fornisci la versione specifica nel parametro `FunctionARN` quando crei il processo.

Un singolo AWS Lambda job con S3 Batch Operations può supportare un manifesto con un massimo di 20 miliardi di oggetti.

### Utilizzo di Lambda e Operazioni in batch con i bucket di directory
<a name="batch-ops-invoke-lambda-directory-buckets"></a>

I bucket di directory sono un tipo di bucket Amazon S3 progettato per carichi di lavoro o applicazioni critiche dal punto di vista delle prestazioni che richiedono una latenza costante a una cifra al millisecondo. Per ulteriori informazioni, consulta [Directory buckets](https://docs.aws.amazon.com//AmazonS3/latest/userguide/directory-buckets-overview.html).

Esistono requisiti speciali per l'uso di Operazioni in batch per invocare funzioni Lambda che agiscono sui bucket della directory. Ad esempio, è necessario strutturare la richiesta Lambda utilizzando uno schema JSON aggiornato e specificare [https://docs.aws.amazon.com//AmazonS3/latest/API/API_control_LambdaInvokeOperation.html#AmazonS3-Type-control_LambdaInvokeOperation-InvocationSchemaVersion](https://docs.aws.amazon.com//AmazonS3/latest/API/API_control_LambdaInvokeOperation.html#AmazonS3-Type-control_LambdaInvokeOperation-InvocationSchemaVersion) 2.0 (non 1.0) quando si crea il processo. Questo schema aggiornato consente di specificare coppie chiave-valore opzionali per [https://docs.aws.amazon.com//AmazonS3/latest/API/API_control_LambdaInvokeOperation.html#AmazonS3-Type-control_LambdaInvokeOperation-UserArguments](https://docs.aws.amazon.com//AmazonS3/latest/API/API_control_LambdaInvokeOperation.html#AmazonS3-Type-control_LambdaInvokeOperation-UserArguments), che puoi utilizzare per modificare determinati parametri delle funzioni Lambda esistenti. Per ulteriori informazioni, consulta [Automatizzare l'elaborazione degli oggetti nei bucket di directory Amazon S3 con S3 Batch Operations AWS Lambda](https://aws.amazon.com/blogs/storage/automate-object-processing-in-amazon-s3-directory-buckets-with-s3-batch-operations-and-aws-lambda/) e nel blog sullo storage. AWS 

### Codici di risposta e dei risultati
<a name="batch-ops-invoke-lambda-response-codes"></a>

Operazioni in batch S3 invoca la funzione Lambda con una o più chiavi, ognuna delle quali è associata a un `TaskID`. Operazioni in batch S3 si aspetta un codice risultato per chiave dalle funzioni Lambda. A tutte le attività IDs inviate nella richiesta che non vengono restituite con un codice risultato per chiave verrà assegnato il codice risultante dal campo. `treatMissingKeysAs` `treatMissingKeysAs`è un campo di richiesta opzionale e il valore predefinito è. `TemporaryFailure` La tabella seguente contiene gli altri possibili codici di risultato e valori per il campo `treatMissingKeysAs`. 


| Codice di risposta | Descrizione | 
| --- | --- | 
| Succeeded | L'attività si è conclusa normalmente. Se hai richiesto un rapporto di completamento del processo, la stringa di risultato dell'attività viene inclusa nel rapporto. | 
| TemporaryFailure | Nell'attività si è verificato un errore temporaneo e verrà reindirizzata prima del completamento del processo. La stringa risultante viene ignorata. Se questo è l'ultimo reindirizzamento, il messaggio di errore viene incluso nel rapporto finale. | 
| PermanentFailure | Nell'attività si è verificato un errore permanente. Se hai richiesto un rapporto di completamento del processo, l'attività viene contrassegnata come Failed e include la stringa del messaggio di errore. Le stringhe risultanti da attività non riuscite vengono ignorate. | 

## Creazione di una funzione Lambda da utilizzare con le operazioni in batch S3
<a name="batch-ops-invoke-lambda-custom-functions"></a>

Questa sezione fornisce esempi di autorizzazioni AWS Identity and Access Management (IAM) da utilizzare con la funzione Lambda. Contiene anche una funzione Lambda di esempio da utilizzare con le operazioni in batch S3. *Se non hai mai creato una funzione Lambda prima, consulta [Tutorial: Using AWS Lambda with Amazon S3](https://docs.aws.amazon.com/lambda/latest/dg/with-s3-example.html) nella AWS Lambda Developer Guide.*

Devi creare funzioni Lambda specifiche da utilizzare con le operazioni in batch S3. Non è possibile riutilizzare le funzioni Lambda esistenti basate su eventi di Amazon S3, perché le funzioni Lambda utilizzate per Operazioni in batch S3 devono accettare e restituire campi di dati speciali. 

**Importante**  
AWS Lambda le funzioni scritte in Java accettano entrambe le interfacce [https://github.com/aws/aws-lambda-java-libs/blob/master/aws-lambda-java-core/src/main/java/com/amazonaws/services/lambda/runtime/RequestHandler.java](https://github.com/aws/aws-lambda-java-libs/blob/master/aws-lambda-java-core/src/main/java/com/amazonaws/services/lambda/runtime/RequestHandler.java)o [https://github.com/aws/aws-lambda-java-libs/blob/master/aws-lambda-java-core/src/main/java/com/amazonaws/services/lambda/runtime/RequestStreamHandler.java](https://github.com/aws/aws-lambda-java-libs/blob/master/aws-lambda-java-core/src/main/java/com/amazonaws/services/lambda/runtime/RequestStreamHandler.java)gestori. Tuttavia, per supportare il formato di richiesta e risposta di S3 Batch Operations, è AWS Lambda necessaria l'`RequestStreamHandler`interfaccia per la serializzazione e la deserializzazione personalizzate di una richiesta e una risposta. Questa interfaccia consente a Lambda di passare un InputStream and OutputStream al metodo Java`handleRequest`.   
Assicurati di specificare l'interfaccia `RequestStreamHandler` quando utilizzi funzioni Lambda con le operazioni in batch S3. Se utilizzi un'interfaccia `RequestHandler`, il processo batch non riuscirà restituendo il messaggio "Invalid JSON returned in Lambda payload" (JSON non valido restituito nel payload Lambda) nel report di completamento.   
Per ulteriori informazioni, consulta [Interfacce Handler](https://docs.aws.amazon.com//lambda/latest/dg/java-handler.html#java-handler-interfaces) nella *Guida per l'utente di AWS Lambda *.

### Autorizzazioni IAM di esempio
<a name="batch-ops-invoke-lambda-custom-functions-iam"></a>

Di seguito sono riportati alcuni esempi delle autorizzazioni IAM necessarie per utilizzare una funzione Lambda con le operazioni in batch S3. 

**Example – Policy di trust delle operazioni in batch S3**  
Di seguito è riportato un esempio di policy di trust che puoi utilizzare per il ruolo IAM in Batch Operations. Questo ruolo IAM viene specificato quando crei il processo e concede a Batch Operations l'autorizzazione per assumere il ruolo IAM.    
****  

```
{
    "Version":"2012-10-17",		 	 	 
    "Statement": [
        {
            "Effect": "Allow",
            "Principal": {
                "Service": "batchoperations.s3.amazonaws.com"
            },
            "Action": "sts:AssumeRole"
        }
    ]
}
```

**Example – Policy IAM Lambda**  
Di seguito è riportato un esempio di policy IAM che fornisce alle operazioni in batch S3 l'autorizzazione per richiamare la funzione Lambda e leggere il manifest di input.    
****  

```
{
    "Version":"2012-10-17",		 	 	 
    "Statement": [
        {
            "Sid": "BatchOperationsLambdaPolicy",
            "Effect": "Allow",
            "Action": [
                "s3:GetObject",
                "s3:GetObjectVersion",
                "s3:PutObject",
                "lambda:InvokeFunction"
            ],
            "Resource": "*"
        }
    ]
}
```

### Richiesta e risposta di esempio
<a name="batch-ops-invoke-lambda-custom-functions-request"></a>

Questa sezione fornisce esempi di richiesta e risposta per la funzione Lambda.

**Example Richiesta**  
Di seguito è riportato un esempio JSON di richiesta per la funzione Lambda.  

```
{
    "invocationSchemaVersion": "1.0",
    "invocationId": "YXNkbGZqYWRmaiBhc2RmdW9hZHNmZGpmaGFzbGtkaGZza2RmaAo",
    "job": {
        "id": "f3cc4f60-61f6-4a2b-8a21-d07600c373ce"
    },
    "tasks": [
        {
            "taskId": "dGFza2lkZ29lc2hlcmUK",
            "s3Key": "customerImage1.jpg",
            "s3VersionId": "1",
            "s3BucketArn": "arn:aws:s3:us-east-1:0123456788:amzn-s3-demo-bucket1"
        }
    ]
}
```

**Example Risposta**  
Di seguito è riportato un esempio JSON di risposta per la funzione Lambda.  

```
{
  "invocationSchemaVersion": "1.0",
  "treatMissingKeysAs" : "PermanentFailure",
  "invocationId" : "YXNkbGZqYWRmaiBhc2RmdW9hZHNmZGpmaGFzbGtkaGZza2RmaAo",
  "results": [
    {
      "taskId": "dGFza2lkZ29lc2hlcmUK",
      "resultCode": "Succeeded",
      "resultString": "[\"Mary Major", \"John Stiles\"]"
    }
  ]
}
```

### Funzione Lambda di esempio per le operazioni in batch S3
<a name="batch-ops-invoke-lambda-custom-functions-example"></a>

Nell'esempio seguente Python Lambda rimuove un contrassegno di eliminazione da un oggetto con versione.

Come mostrato nell'esempio, le chiavi di operazioni in batch S3 sono codificate in formato URL. Per utilizzare Amazon S3 con altri AWS servizi, è importante decodificare l'URL della chiave passata da S3 Batch Operations.

```
import logging
from urllib import parse
import boto3
from botocore.exceptions import ClientError

logger = logging.getLogger(__name__)
logger.setLevel("INFO")

s3 = boto3.client("s3")


def lambda_handler(event, context):
    """
    Removes a delete marker from the specified versioned object.

    :param event: The S3 batch event that contains the ID of the delete marker
                  to remove.
    :param context: Context about the event.
    :return: A result structure that Amazon S3 uses to interpret the result of the
             operation. When the result code is TemporaryFailure, S3 retries the
             operation.
    """
    # Parse job parameters from Amazon S3 batch operations
    invocation_id = event["invocationId"]
    invocation_schema_version = event["invocationSchemaVersion"]

    results = []
    result_code = None
    result_string = None

    task = event["tasks"][0]
    task_id = task["taskId"]

    try:
        obj_key = parse.unquote_plus(task["s3Key"], encoding="utf-8")
        obj_version_id = task["s3VersionId"]
        bucket_name = task["s3BucketArn"].split(":")[-1]

        logger.info(
            "Got task: remove delete marker %s from object %s.", obj_version_id, obj_key
        )

        try:
            # If this call does not raise an error, the object version is not a delete
            # marker and should not be deleted.
            response = s3.head_object(
                Bucket=bucket_name, Key=obj_key, VersionId=obj_version_id
            )
            result_code = "PermanentFailure"
            result_string = (
                f"Object {obj_key}, ID {obj_version_id} is not " f"a delete marker."
            )

            logger.debug(response)
            logger.warning(result_string)
        except ClientError as error:
            delete_marker = error.response["ResponseMetadata"]["HTTPHeaders"].get(
                "x-amz-delete-marker", "false"
            )
            if delete_marker == "true":
                logger.info(
                    "Object %s, version %s is a delete marker.", obj_key, obj_version_id
                )
                try:
                    s3.delete_object(
                        Bucket=bucket_name, Key=obj_key, VersionId=obj_version_id
                    )
                    result_code = "Succeeded"
                    result_string = (
                        f"Successfully removed delete marker "
                        f"{obj_version_id} from object {obj_key}."
                    )
                    logger.info(result_string)
                except ClientError as error:
                    # Mark request timeout as a temporary failure so it will be retried.
                    if error.response["Error"]["Code"] == "RequestTimeout":
                        result_code = "TemporaryFailure"
                        result_string = (
                            f"Attempt to remove delete marker from  "
                            f"object {obj_key} timed out."
                        )
                        logger.info(result_string)
                    else:
                        raise
            else:
                raise ValueError(
                    f"The x-amz-delete-marker header is either not "
                    f"present or is not 'true'."
                )
    except Exception as error:
        # Mark all other exceptions as permanent failures.
        result_code = "PermanentFailure"
        result_string = str(error)
        logger.exception(error)
    finally:
        results.append(
            {
                "taskId": task_id,
                "resultCode": result_code,
                "resultString": result_string,
            }
        )
    return {
        "invocationSchemaVersion": invocation_schema_version,
        "treatMissingKeysAs": "PermanentFailure",
        "invocationId": invocation_id,
        "results": results,
    }
```

## Creazione di un processo di operazioni in batch Amazon S3 che richiama una funzione Lambda
<a name="batch-ops-invoke-lambda-create-job"></a>

Quando crei un processo di operazioni in batch Amazon S3 per richiamare una funzione Lambda, devi fornire gli elementi seguenti:
+ ARN della funzione Lambda, che può includere l'alias della funzione o un numero specifico di versione
+ Ruolo IAM con l'autorizzazione per richiamare la funzione
+ Il parametro dell'operazione `LambdaInvokeFunction`

Per ulteriori informazioni sulla creazione di un processo di operazioni in batch Amazon S3, consulta [Creazione di un processo di operazioni in batch S3](batch-ops-create-job.md) e [Operazioni supportate dalle operazioni in batch S3](batch-ops-operations.md).

L'esempio seguente crea un processo di Operazioni in batch S3 che invoca una funzione Lambda utilizzando l'interfaccia AWS CLI. Per utilizzare questo esempio, sostituisci *`user input placeholders`* con le informazioni appropriate.

```
aws s3control create-job
    --account-id account-id
    --operation  '{"LambdaInvoke": { "FunctionArn": "arn:aws:lambda:region:account-id:function:LambdaFunctionName" } }'
    --manifest '{"Spec":{"Format":"S3BatchOperations_CSV_20180820","Fields":["Bucket","Key"]},"Location":{"ObjectArn":"arn:aws:s3:::amzn-s3-demo-manifest-bucket","ETag":"ManifestETag"}}'
    --report '{"Bucket":"arn:aws:s3:::amzn-s3-demo-bucket","Format":"Report_CSV_20180820","Enabled":true,"Prefix":"ReportPrefix","ReportScope":"AllTasks"}'
    --priority 2
    --role-arn arn:aws:iam::account-id:role/BatchOperationsRole
    --region region
    --description "Lambda Function"
```

## Fornitura di informazioni a livello di task nei manifesti Lambda
<a name="storing-task-level-information-in-lambda"></a>

Quando utilizzi AWS Lambda le funzioni con S3 Batch Operations, potresti aver bisogno di dati aggiuntivi per ogni attività o tasto su cui viene utilizzato. Ad esempio, si potrebbe voler fornire sia una chiave dell'oggetto di origine che una chiave dell'oggetto nuovo. La funzione Lambda può quindi copiare la chiave di origine in un nuovo bucket S3 con un nuovo nome. Per impostazione predefinita, Operazioni in batch consente di specificare solo il bucket di destinazione e un elenco di chiavi di origine nel manifesto di input del processo. Gli esempi seguenti descrivono come includere dati aggiuntivi nel manifesto, in modo da poter eseguire funzioni Lambda più complesse.

Per specificare i parametri per chiave nel manifest delle operazioni in batch S3 da utilizzare nel codice della funzione Lambda, utilizza il formato JSON con codifica in formato URL seguente. Il campo `key` viene passato alla funzione Lambda come se fosse una chiave oggetto Amazon S3. Tuttavia, può essere interpretato dalla funzione Lambda per contenere altri valori o più chiavi, come mostrato negli esempi seguenti. 

**Nota**  
Il numero massimo di caratteri per il campo `key` nel manifest è 1.024.

**Example - Manifesto che sostituisce le "chiavi Amazon S3" con stringhe JSON**  
Alle operazioni in batch S3 deve essere fornita la versione con codifica in formato URL.  

```
amzn-s3-demo-bucket,{"origKey": "object1key", "newKey": "newObject1Key"}
amzn-s3-demo-bucket,{"origKey": "object2key", "newKey": "newObject2Key"}
amzn-s3-demo-bucket,{"origKey": "object3key", "newKey": "newObject3Key"}
```

**Example - Manifesto codificato tramite URL**  
Alle operazioni in batch S3 deve essere fornita questa versione con codifica in formato URL. La non-URL-encoded versione non funziona.  

```
amzn-s3-demo-bucket,%7B%22origKey%22%3A%20%22object1key%22%2C%20%22newKey%22%3A%20%22newObject1Key%22%7D
amzn-s3-demo-bucket,%7B%22origKey%22%3A%20%22object2key%22%2C%20%22newKey%22%3A%20%22newObject2Key%22%7D
amzn-s3-demo-bucket,%7B%22origKey%22%3A%20%22object3key%22%2C%20%22newKey%22%3A%20%22newObject3Key%22%7D
```

**Example – Funzione Lambda con formato manifest che scrive i risultati nel report del processo**  
Questo esempio di manifesto codificato dall'URL contiene chiavi di oggetti delimitate da pipe per l'analisi della seguente funzione Lambda.  

```
amzn-s3-demo-bucket,object1key%7Clower
amzn-s3-demo-bucket,object2key%7Cupper
amzn-s3-demo-bucket,object3key%7Creverse
amzn-s3-demo-bucket,object4key%7Cdelete
```
Questa funzione Lambda mostra come analizzare un'attività delimitata da barra verticale e codificata nel manifesto di Operazioni in batch S3. L'attività indica quale operazione di revisione viene applicata all'oggetto specificato.  

```
import logging
from urllib import parse
import boto3
from botocore.exceptions import ClientError

logger = logging.getLogger(__name__)
logger.setLevel("INFO")

s3 = boto3.resource("s3")


def lambda_handler(event, context):
    """
    Applies the specified revision to the specified object.

    :param event: The Amazon S3 batch event that contains the ID of the object to
                  revise and the revision type to apply.
    :param context: Context about the event.
    :return: A result structure that Amazon S3 uses to interpret the result of the
             operation.
    """
    # Parse job parameters from Amazon S3 batch operations
    invocation_id = event["invocationId"]
    invocation_schema_version = event["invocationSchemaVersion"]

    results = []
    result_code = None
    result_string = None

    task = event["tasks"][0]
    task_id = task["taskId"]
    # The revision type is packed with the object key as a pipe-delimited string.
    obj_key, revision = parse.unquote_plus(task["s3Key"], encoding="utf-8").split("|")
    bucket_name = task["s3BucketArn"].split(":")[-1]

    logger.info("Got task: apply revision %s to %s.", revision, obj_key)

    try:
        stanza_obj = s3.Bucket(bucket_name).Object(obj_key)
        stanza = stanza_obj.get()["Body"].read().decode("utf-8")
        if revision == "lower":
            stanza = stanza.lower()
        elif revision == "upper":
            stanza = stanza.upper()
        elif revision == "reverse":
            stanza = stanza[::-1]
        elif revision == "delete":
            pass
        else:
            raise TypeError(f"Can't handle revision type '{revision}'.")

        if revision == "delete":
            stanza_obj.delete()
            result_string = f"Deleted stanza {stanza_obj.key}."
        else:
            stanza_obj.put(Body=bytes(stanza, "utf-8"))
            result_string = (
                f"Applied revision type '{revision}' to " f"stanza {stanza_obj.key}."
            )

        logger.info(result_string)
        result_code = "Succeeded"
    except ClientError as error:
        if error.response["Error"]["Code"] == "NoSuchKey":
            result_code = "Succeeded"
            result_string = (
                f"Stanza {obj_key} not found, assuming it was deleted "
                f"in an earlier revision."
            )
            logger.info(result_string)
        else:
            result_code = "PermanentFailure"
            result_string = (
                f"Got exception when applying revision type '{revision}' "
                f"to {obj_key}: {error}."
            )
            logger.exception(result_string)
    finally:
        results.append(
            {
                "taskId": task_id,
                "resultCode": result_code,
                "resultString": result_string,
            }
        )
    return {
        "invocationSchemaVersion": invocation_schema_version,
        "treatMissingKeysAs": "PermanentFailure",
        "invocationId": invocation_id,
        "results": results,
    }
```

## Tutorial su Operazioni in batch S3
<a name="batch-ops-tutorials-lambda"></a>

Il seguente tutorial presenta end-to-end le procedure complete per alcune attività di Batch Operations con Lambda. In questa esercitazione si apprende come impostare Operazioni in batch per invocare una funzione Lambda per la transcodifica in batch dei video memorizzati in un bucket di origine S3. La funzione Lambda chiama AWS Elemental MediaConvert per transcodificare i video. 
+ [Tutorial: transcodifica in batch dei video con Operazioni in batch S3](tutorial-s3-batchops-lambda-mediaconvert-video.md)

# Sostituisci tutti i tag oggetto
<a name="batch-ops-put-object-tagging"></a>

È possibile utilizzare Operazioni in batch Amazon S3 per eseguire operazioni in batch su larga scala su oggetti Amazon S3. L'operazione **Sostituisci tutti i tag dell'oggetto** sostituisce i tag dell'oggetto su ogni oggetto elencato nel manifesto. Un tag di oggetto è una coppia chiave-valore di stringhe che si può usare per memorizzare metadati su un oggetto.

Per creare un processo di **sostituzione di tutti i tag degli oggetti**, si fornisce un set di tag da applicare. S3 Batch Operations applica lo stesso set di tag a ogni oggetto. Il set di tag fornito sostituisce tutti i set di tag già associati agli oggetti nel manifest. Operazioni in batch S3 non supporta l'aggiunta di tag agli oggetti mantenendo anche i tag esistenti.

Se gli oggetti nel manifest si trovano in un bucket con versione, dovrai applicare il set di tag alle versioni specifiche di ogni oggetto. Per farlo, specifica un ID di versione per ogni oggetto del manifesto. Se non si include un ID di versione per alcun oggetto, Operazioni in batch S3 applica il set di tag alla versione più recente di ogni oggetto. Per ulteriori informazioni sui manifesto delle operazioni in batch, consulta [Specifica di un manifest](batch-ops-create-job.md#specify-batchjob-manifest). 

Per maggiori informazioni sull'etichettatura degli oggetti, consulta [Classificazione degli oggetti utilizzando i tag](object-tagging.md) in questa guida e consulta [https://docs.aws.amazon.com/AmazonS3/latest/API/API_PutObjectTagging.html](https://docs.aws.amazon.com/AmazonS3/latest/API/API_PutObjectTagging.html), [https://docs.aws.amazon.com/AmazonS3/latest/API/API_GetObjectTagging.html](https://docs.aws.amazon.com/AmazonS3/latest/API/API_GetObjectTagging.html), e [https://docs.aws.amazon.com/AmazonS3/latest/API/API_DeleteObjectTagging.html](https://docs.aws.amazon.com/AmazonS3/latest/API/API_DeleteObjectTagging.html) in *Riferimento API di Amazon Simple Storage Service*.

Per utilizzare la console per creare un processo di **sostituzione di tutti i tag degli oggetti**, consulta [Creazione di un processo di operazioni in batch S3](batch-ops-create-job.md).

## Restrizioni e limitazioni
<a name="batch-ops-set-tagging-restrictions"></a>

Quando si utilizza Operazioni in batch per sostituire i tag degli oggetti, si applicano le seguenti restrizioni e limitazioni:
+ Il ruolo AWS Identity and Access Management (IAM) specificato per eseguire il processo Batch Operations deve disporre delle autorizzazioni per eseguire l'`PutObjectTagging`operazione sottostante. Per ulteriori informazioni sulle autorizzazioni richieste, consulta la sezione [https://docs.aws.amazon.com/AmazonS3/latest/API/API_PutObjectTagging.html](https://docs.aws.amazon.com/AmazonS3/latest/API/API_PutObjectTagging.html) in *Riferimento API di Amazon Simple Storage Service*.
+ Operazioni in batch S3 utilizza l'operazione [https://docs.aws.amazon.com/AmazonS3/latest/API/API_PutObjectTagging.html](https://docs.aws.amazon.com/AmazonS3/latest/API/API_PutObjectTagging.html) di Amazon S3 per applicare i tag a ogni oggetto del manifesto. Tutte le restrizioni e le limitazioni che si applicano all'operazione sottostante si applicano anche ai processi Operazioni in batch S3.
+ Un unico processo di sostituzione di tutti i tag degli oggetti può supportare un manifesto con un massimo di 20 miliardi di oggetti.

# Sostituzione della lista di controllo degli accessi (ACL)
<a name="batch-ops-put-object-acl"></a>

È possibile utilizzare Operazioni in batch Amazon S3 per eseguire operazioni in batch su larga scala su oggetti Amazon S3. L'operazione **Replace access control list (ACL)** sostituisce le liste di controllo di accesso (ACLs) per ogni oggetto elencato nel manifest. Utilizzando ACLs, è possibile definire chi può accedere a un oggetto e quali azioni può eseguire.

**Nota**  
La maggior parte dei casi d'uso moderni in Amazon S3 non richiede più l'uso di. ACLs Ti consigliamo di rimanere ACLs disabilitato, tranne nei casi in cui devi controllare l'accesso per ogni oggetto singolarmente. ACLs Disabilitando, puoi utilizzare le policy per controllare l'accesso a tutti gli oggetti nel tuo bucket, indipendentemente da chi ha caricato gli oggetti nel tuo bucket. Per ulteriori informazioni, consulta [Controllo della proprietà degli oggetti e disattivazione ACLs del bucket](about-object-ownership.md).

S3 Batch Operations supporta il supporto personalizzato ACLs definito dall'utente e preimpostato ACLs fornito da Amazon S3 con un set predefinito di autorizzazioni di accesso.

Se gli oggetti nel manifesto si trovano in un bucket con versioni diverse, puoi applicarli a versioni specifiche di ogni oggetto. ACLs Per farlo, specifica un ID di versione per ogni oggetto del manifesto. Se non si include un ID di versione per un oggetto, Operazioni in batch S3 applica l'ACL alla versione più recente dell'oggetto.

Per ulteriori informazioni su Amazon ACLs S3, consulta. [Panoramica delle liste di controllo accessi (ACL)](acl-overview.md)

**Blocco dell'accesso pubblico di S3**  
Se desideri limitare l'accesso pubblico a tutti gli oggetti in un bucket, ti consigliamo di utilizzare Amazon S3 Block Public Access anziché utilizzare S3 Batch Operations per applicare. ACLs Il blocco dell'accesso pubblico può limitare l'accesso pubblico a livello di bucket o di account grazie a una sola semplice operazione con effetto rapido. Questo comportamento rende Blocco dell'accesso pubblico Amazon S3 una scelta migliore quando l'obiettivo è controllare l'accesso pubblico a tutti gli oggetti in un bucket o in un account. Utilizza Operazioni in batch S3 solo quando è necessario applicare una lista ACL personalizzata a ogni oggetto del manifesto. Per ulteriori informazioni sul blocco dell'accesso pubblico di S3, consulta [Blocco dell'accesso pubblico allo storage Amazon S3](access-control-block-public-access.md).

**S3 Object Ownership**  
Se gli oggetti nel manifest si trovano in un bucket che utilizza l'impostazione **imposta dal proprietario del bucket** per Object Ownership, l'operazione **Replace access control list (ACL)** può specificare solo l'oggetto ACLs che concede il pieno controllo al proprietario del bucket. In questo caso, l'operazione **Replace access control list (ACL) non può concedere le autorizzazioni ACL** dell'oggetto ad altri o gruppi. Account AWS Per ulteriori informazioni, consulta [Controllo della proprietà degli oggetti e disattivazione ACLs del bucket](about-object-ownership.md).

## Restrizioni e limitazioni
<a name="batch-ops-put-object-acl-restrictions"></a>

Quando utilizzi Batch Operations per sostituire ACLs, si applicano le seguenti restrizioni e limitazioni: 
+ Il ruolo AWS Identity and Access Management (IAM) specificato per eseguire il job **Replace access control list (ACL)** deve disporre delle autorizzazioni necessarie per eseguire l'operazione Amazon `PutObjectAcl` S3 sottostante. Per ulteriori informazioni sulle autorizzazioni richieste, consulta la sezione [https://docs.aws.amazon.com/AmazonS3/latest/API/API_PutObjectAcl.html](https://docs.aws.amazon.com/AmazonS3/latest/API/API_PutObjectAcl.html) in *Riferimento API di Amazon Simple Storage Service*.
+ S3 Batch Operations utilizza l'operazione `PutObjectAcl` di Amazon S3 per applicare la lista ACL specificata a ogni oggetto nel manifest. Pertanto, tutte le restrizioni e le limitazioni che si applicano all'operazione sottostante `PutObjectAcl` si applicano anche ai processi di Operazioni in batch S3 di **sostituzione della lista di controllo degli accessi (ACL)**.
+ Un singolo processo di sostituzione della lista di controllo degli accessi può supportare un manifesto con un massimo di 20 miliardi di oggetti.

# Ripristino di oggetti con operazioni in batch
<a name="batch-ops-initiate-restore-object"></a>

È possibile utilizzare Operazioni in batch Amazon S3 per eseguire operazioni in batch su larga scala su oggetti Amazon S3. L'operazione **Ripristino** avvia le richieste di ripristino per gli oggetti Amazon S3 archiviati elencati nel manifesto. Prima di potervi accedere in tempo reale, i seguenti oggetti archiviati devono essere ripristinati:
+ Oggetti archiviati nelle classi di archiviazione S3 Glacier Flexible Retrieval o S3 Glacier Deep Archive
+ Oggetti archiviati tramite la classe di storage S3 Intelligent-Tiering nei livelli di accesso di archiviazione o archiviazione profonda

L'utilizzo di un'operazione di **ripristino** ([https://docs.aws.amazon.com/AmazonS3/latest/API/API_control_S3InitiateRestoreObjectOperation.html](https://docs.aws.amazon.com/AmazonS3/latest/API/API_control_S3InitiateRestoreObjectOperation.html)) nel processo di Operazioni in batch S3 comporta una richiesta a `RestoreObject` per ogni oggetto specificato nel manifesto.

**Importante**  
Il processo di **ripristino** *avvia* solo la richiesta di ripristino degli oggetti. S3 Batch Operations riporta il processo come completo per ogni oggetto dopo l'avvio della richiesta per quell'oggetto. Amazon S3 non aggiorna il processo né ti informa in altro modo quando gli oggetti sono stati ripristinati. Tuttavia, puoi utilizzare le notifiche di eventi S3 per ricevere notifiche quando gli oggetti sono disponibili in Amazon S3. Per ulteriori informazioni, consulta [Notifiche di eventi Amazon S3](EventNotifications.md).

Quando si crea un processo di **ripristino**, sono disponibili i seguenti argomenti:

**ExpirationInDays**  
Questo argomento specifica per quanto tempo l'oggetto di S3 Glacier Flexible Retrieval o S3 Glacier Deep Archive rimane disponibile in Amazon S3. I processi di **ripristino** che hanno come obiettivo gli oggetti Recupero flessibile S3 Glacier e S3 Glacier Deep Archive richiedono l'impostazione di `ExpirationInDays` a `1` o superiore.  
Non impostare `ExpirationInDays` quando si creano processi di operazione di **ripristino** che mirano a oggetti di livello S3 Intelligent-Tiering Archive Access e Deep Archive Access. Gli oggetti nei livelli di accesso all'archivio S3 Intelligent-Tiering non sono soggetti alla scadenza del ripristino, quindi specificando `ExpirationInDays` si ottiene il fallimento della richiesta `RestoreObject`.

**GlacierJobTier**  
Amazon S3 può ripristinare gli oggetti utilizzando uno dei tre diversi livelli di recupero: `EXPEDITED`, `STANDARD` e `BULK`. Tuttavia, S3 Batch Operations supporta solo i livelli di recupero `STANDARD` e `BULK`. Per ulteriori informazioni sulle differenze tra i livelli di recupero, consulta [Informazioni sulle opzioni di recupero dall'archivio](restoring-objects-retrieval-options.md).   
Per ulteriori informazioni sui prezzi per ogni livello, consulta la sezione **Richieste e recupero dati** nella [pagina dei prezzi di Amazon S3](https://aws.amazon.com/s3/pricing/).

## Differenze nel ripristino da S3 Glacier e S3 Intelligent-Tiering
<a name="batch-ops-initiate-restore-diff"></a>

Il ripristino dei file archiviati dalle classi di archiviazione S3 Glacier Flexible Retrieval o S3 Glacier Deep Archive differisce dal ripristino dei file dalla classe di archiviazione S3 Intelligent-Tiering nei livelli Archive Access o Deep Archive Access.
+ Quando esegui il ripristino da S3 Glacier Flexible Retrieval o S3 Glacier Deep Archive, viene creata una *copia* temporanea dell'oggetto. Amazon S3 elimina questa copia dopo che il valore specificato nell'argomento `ExpirationInDays` è trascorso. Dopo aver eliminato questa copia temporanea, dovrai inviare una richiesta di ripristino aggiuntiva per accedere all'oggetto.
+ Durante il ripristino degli oggetti S3 Intelligent-Tiering archiviati.*non* specificare l'argomento `ExpirationInDays`. Quando esegui il ripristino di un oggetto dai livelli di accesso Accesso archivio e Accesso archivio approfondito di S3 Intelligent-Tiering, l'oggetto passa nuovamente al livello Frequent Access di S3 Intelligent-Tiering. Dopo un minimo di 90 giorni consecutivi senza accesso, l'oggetto passa automaticamente al livello Accesso archivio. Dopo un minimo di 180 giorni consecutivi senza accesso, l'oggetto passa automaticamente al livello Accesso archivio approfondito. 
+ I processi delle operazioni in batch possono funzionare su oggetti di classe di archiviazione S3 Glacier Flexible Retrieval e S3 Glacier Deep Archive *o* su oggetti di livello di archiviazione Accesso archivio e Accesso archivio approfondito di S3 Intelligent-Tiering. Le operazioni in batch non possono operare su entrambi i tipi di oggetti archiviati nello stesso processo. Per ripristinare oggetti di entrambi i tipi, *devi* creare processi Batch Operations separati. 

## Ripristini sovrapposti
<a name="batch-ops-initiate-restore-object-in-progress"></a>

Se il processo [https://docs.aws.amazon.com/AmazonS3/latest/API/API_control_S3InitiateRestoreObjectOperation.html](https://docs.aws.amazon.com/AmazonS3/latest/API/API_control_S3InitiateRestoreObjectOperation.html) tenta di ripristinare un oggetto che è già in fase di ripristino, Operazioni in batch S3 procede come segue.

L'operazione di ripristino dell'oggetto riesce se una di queste condizioni restituisce true:
+ Confrontato alla richiesta di ripristino già in corso, il valore `ExpirationInDays` del processo è uguale e il relativo valore `GlacierJobTier` è più veloce.
+ La richiesta di ripristino precedente è già stata completata e l'oggetto è attualmente disponibile. In questo caso, le operazioni in batch aggiornano la data di scadenza dell'oggetto ripristinato in modo che corrisponda al valore `ExpirationInDays` specificato nella richiesta di ripristino in corso.

L'operazione di ripristino dell'oggetto non riesce se una o più delle seguenti condizioni restituisce true:
+ La richiesta di ripristino già in corso non è ancora stata completata e la durata del ripristino per questo processo (specificata dal valore `ExpirationInDays`) è diversa dalla durata del ripristino specificata nella richiesta in corso.
+ Il livello di ripristino per questo processo (specificato dal valore `GlacierJobTier`) è uguale o più lento del livello di ripristino specificato nella richiesta di ripristino in corso.

## Limitazioni
<a name="batch-ops-initiate-restore-object-limitations"></a>

I processi `S3InitiateRestoreObjectOperation` hanno le seguenti limitazioni:
+ Devi creare il processo nella stessa regione degli oggetti archiviati.
+ Operazioni in batch S3 non supporta il livello di recupero `EXPEDITED`.
+ Un singolo processo di ripristino di Operazioni in batch può supportare un manifesto con un massimo di 4 miliardi di oggetti.

Per ulteriori informazioni sul ripristino degli oggetti, consulta [Ripristino di un oggetto archiviato](restoring-objects.md).

# Aggiorna la crittografia degli oggetti
<a name="batch-ops-update-encryption"></a>

È possibile utilizzare Operazioni in batch Amazon S3 per eseguire operazioni in batch su larga scala su oggetti Amazon S3. L'[https://docs.aws.amazon.com//AmazonS3/latest/API/API_control_UpdateObjectEncryptionOperation.html](https://docs.aws.amazon.com//AmazonS3/latest/API/API_control_UpdateObjectEncryptionOperation.html)operazione Batch Operations aggiorna il tipo di crittografia lato server di più di un oggetto Amazon S3 con una singola richiesta. Un singolo processo `UpdateObjectEncryption` operativo può supportare un manifesto con un massimo di 20 miliardi di oggetti.

L'`UpdateObjectEncryption`operazione è supportata per tutte le classi di storage Amazon S3 supportate da bucket generici. Puoi utilizzare l'`UpdateObjectEncryption`operazione per modificare gli oggetti crittografati dalla [crittografia lato server con chiavi gestite Amazon S3 (SSE-S3) a chiavi Key Management Service ()AWS KMS(SSE-KMS) o AWS per applicare S3](https://docs.aws.amazon.com//AmazonS3/latest/userguide/UsingServerSideEncryption.html) [Bucket Keys](https://docs.aws.amazon.com//AmazonS3/latest/userguide/UsingKMSEncryption.html). Puoi anche utilizzare l'`UpdateObjectEncryption`operazione per modificare la chiave KMS gestita dal cliente utilizzata per crittografare i dati in modo da rispettare gli standard personalizzati di rotazione delle chiavi.

 Quando si crea un processo Batch Operations, è possibile generare un elenco di oggetti in base alla posizione di origine e ai criteri di filtro specificati. È possibile utilizzare il `MatchAnyObjectEncryption` filtro per generare un elenco di oggetti dal bucket che si desidera aggiornare e includere nel manifest. L'elenco di oggetti generato include solo oggetti bucket di origine con il tipo di crittografia lato server indicato. Se selezioni SSE-KMS, puoi facoltativamente filtrare ulteriormente i risultati specificando uno specifico stato di abilitazione KMS Key ARN e Bucket Key. Per ulteriori informazioni, consulta [https://docs.aws.amazon.com/AmazonS3/latest/API/API_control_JobManifestGeneratorFilter.html](https://docs.aws.amazon.com/AmazonS3/latest/API/API_control_JobManifestGeneratorFilter.html)e `SSEKMSFilter` consulta [https://docs.aws.amazon.com/AmazonS3/latest/API/API_control_SSEKMSFilter.html](https://docs.aws.amazon.com/AmazonS3/latest/API/API_control_SSEKMSFilter.html) Reference.

## Restrizioni e considerazioni
<a name="batch-ops-encrypt-object-restrictions"></a>

Quando si utilizza l'operazione Batch `UpdateObjectEncryption` Operations, si applicano le seguenti restrizioni e considerazioni:
+ L'`UpdateObjectEncryption`operazione non supporta oggetti non crittografati o oggetti crittografati con crittografia lato server a doppio livello con AWS KMS keys (DSSE-KMS) o chiavi di crittografia fornite dal cliente (SSE-C). Inoltre, `UpdateObjectEncryption` non è possibile specificare una richiesta di tipo di crittografia SSE-S3.
+ È possibile utilizzare l'`UpdateObjectEncryption`operazione per aggiornare gli oggetti nei bucket con S3 Versioning abilitato. Per aggiornare il tipo di crittografia di una particolare versione, è necessario specificare un ID di versione nella richiesta. `UpdateObjectEncryption` Se non specificate l'ID della versione, la `UpdateObjectEncryption` richiesta agisce sulla versione corrente dell'oggetto. Per ulteriori informazioni sulla funzione Controllo delle versioni S3, consulta [Conservazione di più versioni degli oggetti con Controllo delle versioni S3](Versioning.md).
+ L'`UpdateObjectEncryption`operazione ha esito negativo su qualsiasi oggetto a cui è applicata una modalità di conservazione o un blocco legale di S3 Object Lock. Se un oggetto ha un periodo di conservazione in modalità governance o un blocco legale, devi prima rimuovere lo stato Object Lock sull'oggetto prima di emettere la richiesta. `UpdateObjectEncryption` Non è possibile utilizzare l'`UpdateObjectEncryption`operazione con oggetti a cui è applicato un periodo di conservazione in modalità di conformità Object Lock. Per ulteriori informazioni sul blocco degli oggetti S3, consulta [Blocco di oggetti con Object Lock](object-lock.md).
+ `UpdateObjectEncryption`le richieste sui bucket di origine con replica live abilitata non avvieranno eventi di replica nel bucket di destinazione. Se desideri modificare il tipo di crittografia degli oggetti sia nei bucket di origine che in quelli di destinazione, devi avviare `UpdateObjectEncryption` richieste separate sugli oggetti nei bucket di origine e di destinazione.
+ Per impostazione predefinita, tutte le `UpdateObjectEncryption` richieste che specificano una chiave KMS gestita dal cliente sono limitate alle chiavi KMS di proprietà del proprietario del bucket. Account AWS Se lo utilizzi AWS Organizations, puoi richiedere la possibilità di utilizzare gli account di AWS KMS keys proprietà di altri membri all'interno della tua organizzazione contattando. Supporto AWS
+ Se utilizzi S3 Batch Replication per replicare set di dati su più regioni e in precedenza il tipo di crittografia lato server degli oggetti era stato aggiornato da SSE-S3 a SSE-KMS, potresti aver bisogno di autorizzazioni aggiuntive. Nel bucket `kms:decrypt` della regione di origine, devi disporre delle autorizzazioni. Quindi, avrai bisogno delle `kms:encrypt` autorizzazioni `kms:decrypt` e per il bucket nella regione di destinazione.
+ Fornisci un ARN completo della chiave KMS nella `UpdateObjectEncryption` tua richiesta. Non puoi usare un nome alias o un alias ARN. Puoi determinare l'ARN completo della chiave KMS nella console AWS KMS o utilizzando l'API AWS KMS. `DescribeKey`
+ Per migliorare le prestazioni di generazione del manifesto quando usi il `KmsKeyArn` filtro, usa questo filtro insieme ad altri filtri di metadati di oggetti. Ad esempio, puoi combinarlo `KmsKeyArn` con `MatchAnyPrefix` o `MatchAnyStorageClass` quando generi automaticamente un manifesto in S3 Batch Operations. `CreatedAfter`

Per ulteriori informazioni su `UpdateObjectEncryption`, consultare [Aggiornamento della crittografia lato server per i dati esistenti](update-sse-encryption.md).

## Autorizzazioni richieste
<a name="batch-ops-required-permissions"></a>

Per eseguire l'`UpdateObjectEncryption`operazione, aggiungi la seguente policy AWS Identity and Access Management (IAM) al tuo principale IAM (utente, ruolo o gruppo). Per utilizzare questa policy, sostituiscila *`amzn-s3-demo-bucket`* con il nome del bucket che contiene gli oggetti per cui desideri aggiornare la crittografia. Sostituiscilo `amzn-s3-demo-manifest-bucket` con il nome del bucket che contiene il manifesto e sostituiscilo `amzn-s3-demo-completion-report-bucket` con il nome del bucket in cui desideri archiviare il rapporto di completamento.

```
{
    "Version": "2012-10-17",		 	 	 
    "Statement": [
        {
            "Sid": "S3BatchOperationsUpdateEncryption",
            "Effect": "Allow",
            "Action": [
                "s3:GetObject",
                "s3:GetObjectVersion",
                "s3:PutObject",
                "s3:UpdateObjectEncryption"
            ],
            "Resource": [
                 "arn:aws:s3:::amzn-s3-demo-bucket-target"
                "arn:aws:s3:::amzn-s3-demo-bucket-target-target/*"
            ]
        },
        {
            "Sid": "S3BatchOperationsPolicyForManifestFile",
            "Effect": "Allow",
            "Action": [
                "s3:PutObject",
                "s3:GetObject",
                "s3:GetObjectVersion"
            ],
            "Resource": [
                "arn:aws:s3:::amzn-s3-demo-bucket-manifest/*"
            ]
        },
        {
            "Sid": "S3BatchOperationsPolicyForCompletionReport",
            "Effect": "Allow",
            "Action": [
                "s3:PutObject"
            ],
            "Resource": [
                "arn:aws:s3:::amzn-s3-demo-bucket-completion-report/*"
            ]
        },
        {
            "Sid": "S3BatchOperationsPolicyManifestGeneration",
            "Effect": "Allow",
            "Action": [
                "s3:PutInventoryConfiguration"
            ],
            "Resource": [
                "arn:aws:s3:::amzn-s3-demo-bucket-target"
            ]
        },
        {
            "Sid": "AllowKMSOperationsForS3BatchOperations",
            "Effect": "Allow",
            "Action": [
                "kms:Decrypt",
                "kms:GenerateDataKey",
                "kms:Encrypt",
                "kms:ReEncrypt*"
            ],
            "Resource": [                "arn:aws:kms:us-east-1:111122223333:key/01234567-89ab-cdef-0123-456789abcdef"
            ]
        }
    ]
}
```

Per la politica di fiducia e la politica di autorizzazione da associare al ruolo IAM che il responsabile del servizio S3 Batch Operations assume per eseguire i job Batch Operations per tuo conto, consulta e. [Concessione di autorizzazioni per le operazioni in batch](batch-ops-iam-role-policies.md) [Aggiorna la crittografia degli oggetti](batch-ops-iam-role-policies.md#batch-ops-update-encryption-policies)

# Creazione di un processo Batch Operations per aggiornare la crittografia degli oggetti
<a name="batch-ops-update"></a>

Per aggiornare il tipo di crittografia lato server di più di un oggetto Amazon S3 con una singola richiesta, puoi utilizzare S3 Batch Operations. Puoi utilizzare S3 Batch Operations tramite la console Amazon S3 AWS Command Line Interface ,AWS CLI( AWS SDKs) o l'API REST di Amazon S3.

## Usando il AWS CLI
<a name="batch-ops-example-cli-update-job"></a>

Per eseguire i seguenti comandi, è necessario averli AWS CLI installati e configurati. Se non lo hai AWS CLI installato, consulta [Installare o aggiornare alla versione più recente di AWS CLI nella](https://docs.aws.amazon.com//cli/latest/userguide/getting-started-install.html) *Guida per l'AWS Command Line Interface utente*.

In alternativa, puoi eseguire AWS CLI comandi dalla console utilizzando AWS CloudShell. AWS CloudShell è una shell preautenticata basata su browser che è possibile avviare direttamente da. Console di gestione AWS[Per ulteriori informazioni, consulta Cos'è? CloudShell](https://docs.aws.amazon.com//cloudshell/latest/userguide/welcome.html) e [Guida introduttiva AWS CloudShell](https://docs.aws.amazon.com//cloudshell/latest/userguide/getting-started.html) nella *Guida AWS CloudShell per l'utente*.

**Example 1 — Creare un processo Batch Operations che aggiorni gli oggetti crittografati da una chiave KMS AWS KMS key a un'altra**  
L'esempio seguente mostra come creare un job S3 Batch Operations che aggiorna le impostazioni di crittografia per più oggetti nel bucket generico. Questo comando crea un job che modifica gli oggetti crittografati con una chiave AWS Key Management Service (AWS KMS) per utilizzare una chiave KMS diversa. Questo processo genera e salva anche un manifesto degli oggetti interessati e crea un rapporto dei risultati. Per utilizzare questo comando, sostituisci `user input placeholders` con le informazioni appropriate.  

```
aws s3control create-job --account-id account-id \
--no-confirmation-required \
--operation '{"S3UpdateObjectEncryption": {  "ObjectEncryption": { "SSEKMS": { "KMSKeyArn": "KMS-key-ARN-to-apply", "BucketKeyEnabled": false  }  }  } }' \
--report '{ "Enabled": true, "Bucket": "report-bucket-ARN",  "Format": "Report_CSV_20180820", "Prefix": "report", "ReportScope": "AllTasks" }' \
--manifest-generator '{ "S3JobManifestGenerator": { "ExpectedBucketOwner": "account-id", "SourceBucket": "source-bucket-ARN", "EnableManifestOutput": true, "ManifestOutputLocation": { "Bucket": "manifest-bucket-ARN", "ManifestFormat": "S3InventoryReport_CSV_20211130", "ManifestPrefix": "manifest-prefix" }, "Filter": {   "MatchAnyObjectEncryption": [{ "SSEKMS": { "KmsKeyArn": "kms-key-ARN-to-match" } }] } } }' \
--priority 1 \
--role-arn batch-operations-role-ARN
```
Per prestazioni ottimali, si consiglia di utilizzare il `KmsKeyArn` filtro insieme ad altri filtri per i metadati degli oggetti, ad esempio `MatchAnyPrefix``CreatedAfter`, o. `MatchAnyStorageClass`

**Example 2 — Creare un processo Batch Operations che aggiorni gli oggetti crittografati SSE-S3 a SSE-KMS**  
L'esempio seguente mostra come creare un job S3 Batch Operations che aggiorna le impostazioni di crittografia per più oggetti nel bucket generico. Questo comando crea un processo che modifica gli oggetti crittografati utilizzando la crittografia lato server con chiavi gestite di Amazon S3 (SSE-S3) per utilizzare invece la crittografia AWS Key Management Service lato server con () chiavi (SSE-KMS).AWS KMS Questo processo genera e salva anche un manifesto degli oggetti interessati e crea un report dei risultati. Per utilizzare questo comando, sostituisci `user input placeholders` con le informazioni appropriate.  

```
aws s3control create-job --account-id account-id \
--no-confirmation-required \
--operation '{"S3UpdateObjectEncryption": {  "ObjectEncryption": { "SSEKMS": { "KMSKeyArn": "KMS-key-ARN-to-apply", "BucketKeyEnabled": false  }  }  } }' \
--report '{ "Enabled": true, "Bucket": "report-bucket-ARN",  "Format": "Report_CSV_20180820", "Prefix": "report", "ReportScope": "AllTasks" }' \
--manifest-generator '{ "S3JobManifestGenerator": { "ExpectedBucketOwner": "account-id", "SourceBucket": "source-bucket-ARN", "EnableManifestOutput": true, "ManifestOutputLocation": { "Bucket": "manifest-bucket-ARN", "ManifestFormat": "S3InventoryReport_CSV_20211130", "ManifestPrefix": "manifest-prefix" }, "Filter": {   "MatchAnyObjectEncryption": [{ "SSES3": {} }] } } }' \
--priority 1 \
--role-arn batch-operations-role-ARN
```
Per prestazioni ottimali, si consiglia di utilizzare il `KmsKeyArn` filtro insieme ad altri filtri per i metadati degli oggetti, ad esempio `MatchAnyPrefix``CreatedAfter`, o. `MatchAnyStorageClass`

# Conservazione Blocco oggetto S3
<a name="batch-ops-retention-date"></a>

È possibile utilizzare Operazioni in batch Amazon S3 per eseguire operazioni in batch su larga scala su oggetti Amazon S3. È possibile utilizzare l'operazione di **conservazione Object Lock** per applicare le date di conservazione agli oggetti utilizzando la modalità di *governance* o la modalità di *conformità*. Queste modalità di conservazione applicano livelli di protezione diversi. È possibile applicare entrambe le modalità di conservazione a qualsiasi versione di oggetto. Le date di conservazione, ad esempio per un blocco di carattere legale, impediscono di sovrascrivere o eliminare un oggetto. Amazon S3 memorizza la *data di conservazione* specificata nei metadati dell'oggetto e protegge la versione specificata dell'oggetto fino alla scadenza del periodo di conservazione.

È possibile utilizzare Operazioni in batch S3 con Object Lock per gestire le date di conservazione di più oggetti Amazon S3 contemporaneamente. Si specifica l'elenco degli oggetti di destinazione nel manifesto e si invia il manifesto a Operazioni in batch per il completamento. Per ulteriori informazioni, consulta del blocco oggetti S [Periodi di conservazione](object-lock.md#object-lock-retention-periods). 

Il processo di operazioni in batch Amazon S3 con date di conservazione viene eseguito fino al completamento, all'annullamento o al raggiungimento di uno stato di errore. Si consiglia di utilizzare la conservazione di Operazioni in batch S3 e S3 Object Lock per aggiungere, modificare o rimuovere la data di conservazione per più oggetti con un'unica richiesta. 

Le operazioni in batch verificano che sia abilitato il blocco oggetti nel bucket prima di elaborare qualsiasi chiave nel manifest. Per eseguire le operazioni e la convalida, Batch Operations necessita delle `s3:PutObjectRetention` autorizzazioni `s3:GetBucketObjectLockConfiguration` and in un ruolo AWS Identity and Access Management (IAM) per consentire a Batch Operations di chiamare Object Lock per tuo conto. Per ulteriori informazioni, consulta [Considerazioni su Object Lock](object-lock-managing.md).

Per informazioni sull'uso di questa operazione con la REST API, consulta `S3PutObjectRetention` nell'operazione [https://docs.aws.amazon.com/AmazonS3/latest/API/API_control_CreateJob.html](https://docs.aws.amazon.com/AmazonS3/latest/API/API_control_CreateJob.html) in *Riferimento API di Amazon Simple Storage Service*. 

Per un esempio AWS Command Line Interface (AWS CLI) di utilizzo di questa operazione, consultate. [Usando il AWS CLI](batch-ops-object-lock-retention.md#batch-ops-cli-object-lock-retention-example) Per un AWS SDK per Java esempio, vedete[Utilizzo dell' AWS SDK for Java](batch-ops-object-lock-retention.md#batch-ops-examples-java-object-lock-retention). 

## Restrizioni e limitazioni
<a name="batch-ops-retention-date-restrictions"></a>

Quando si utilizza Operazioni in batch per applicare i periodi di conservazione Object Lock, si applicano le seguenti restrizioni e limitazioni: 
+ Operazioni in batch S3 non apporta modifiche a livello di bucket.
+ Le funzioni Controllo Versioni e Blocco oggetti S3 devono essere configurati nel bucket in cui viene eseguito il processo.
+ Tutti gli oggetti elencati nel manifesto devono trovarsi nello stesso bucket.
+ L'operazione funziona sulla versione più recente dell'oggetto, a meno che non venga specificata esplicitamente una versione nel manifest.
+ Per utilizzare un processo di **conservazione Object Lock** è necessario disporre dell'autorizzazione `s3:PutObjectRetention` nel proprio ruolo IAM.
+ L'autorizzazione IAM `s3:GetBucketObjectLockConfiguration` è necessaria per confermare che Object Lock sia abilitato per il bucket S3 su cui si sta eseguendo il processo. 
+ È possibile estendere solo il periodo di conservazione degli oggetti a cui sono applicate le date di conservazione in modalità `COMPLIANCE` e questo periodo di conservazione non può essere ridotto.
+ Un singolo processo di conservazione di S3 Object Lock può supportare un manifesto con un massimo di 20 miliardi di oggetti.

# Blocco di carattere legale del blocco oggetti S3
<a name="batch-ops-legal-hold"></a>

È possibile utilizzare Operazioni in batch Amazon S3 per eseguire operazioni in batch su larga scala su oggetti Amazon S3. È possibile utilizzare l'operazione di **Blocco legale Object Lock** per inserire un blocco legale su una versione dell'oggetto. Analogamente all'impostazione di un periodo di conservazione, un blocco a di carattere legale impedisce che una versione di un oggetto venga sovrascritta o eliminata. Tuttavia, un blocco legale non ha un periodo di conservazione associato e rimane in vigore finché non viene rimosso. 

Puoi utilizzare S3 Batch Operations con il blocco oggetti per aggiungere blocchi di carattere legale a molti oggetti Amazon S3 contemporaneamente. A tale scopo, specificare un elenco di oggetti di destinazione nel manifesto e inviare tale elenco a Operazioni in batch. Il processo di Operazioni in batch S3 **Blocco legale Object Lock** viene eseguito fino al completamento, all'annullamento o al raggiungimento di uno stato di errore.

Operazioni in batch S3 verifica che Object Lock sia abilitato sul bucket S3 prima di elaborare qualsiasi oggetto nel manifesto. Per eseguire le operazioni sugli oggetti e la convalida a livello di bucket, S3 Batch Operations necessita del ruolo `s3:PutObjectLegalHold` and `s3:GetBucketObjectLockConfiguration` in a AWS Identity and Access Management (IAM). Queste autorizzazioni consentono a Operazioni in batch S3 di chiamare S3 Object Lock per conto dell'utente. 

Quando si crea un processo Operazioni in batch S3 per rimuovere un blocco legale, è sufficiente specificare `Off` come stato di blocco legale. Per ulteriori informazioni, consulta [Considerazioni su Object Lock](object-lock-managing.md).

Per informazioni su come utilizzare questa operazione con la REST API di Amazon S3, consulta `S3PutObjectLegalHold` nell'operazione [https://docs.aws.amazon.com/AmazonS3/latest/API/API_control_CreateJob.html](https://docs.aws.amazon.com/AmazonS3/latest/API/API_control_CreateJob.html) in *Riferimento API di Amazon Simple Storage Service*. 

Per un esempio di utilizzo di questa operazione, consulta [Utilizzo dell' AWS SDK for Java](batch-ops-legal-hold-off.md#batch-ops-examples-java-object-lock-legalhold). 

## Restrizioni e limitazioni
<a name="batch-ops-legal-hold-restrictions"></a>

Quando si utilizza Operazioni in batch per applicare o rimuovere un blocco legale Object Lock, si applicano le seguenti restrizioni e limitazioni: 
+ Operazioni in batch S3 non apporta modifiche a livello di bucket.
+ Tutti gli oggetti elencati nel manifest devono trovarsi nello stesso bucket.
+ Le funzioni Controllo versioni e Blocco oggetti S3 devono essere configurati nel bucket in cui viene eseguito il processo.
+ L'operazione di **Blocco legale Object Lock** funziona sulla versione più recente dell'oggetto, a meno che non sia specificata esplicitamente una versione nel manifesto.
+ L'autorizzazione `s3:PutObjectLegalHold` è necessaria nel proprio ruolo IAM per aggiungere o rimuovere un blocco legale dagli oggetti.
+ L'autorizzazione IAM `s3:GetBucketObjectLockConfiguration` è necessaria per confermare che S3 Object Lock è abilitato per il bucket S3 in cui viene eseguito il processo. 
+ Un singolo processo di blocco legale di S3 Object Lock può supportare un manifesto con un massimo di 20 miliardi di oggetti.
+ [Copia oggetti](batch-ops-copy-object.md)
+ [Calcolo dei checksum](batch-ops-compute-checksums.md)
+ [Elimina tutti i tag oggetto](batch-ops-delete-object-tagging.md)
+ [Funzione di richiamo AWS Lambda](batch-ops-invoke-lambda.md)
+ [Sostituisci tutti i tag oggetto](batch-ops-put-object-tagging.md)
+ [Sostituzione della lista di controllo degli accessi (ACL)](batch-ops-put-object-acl.md)
+ [Ripristino di oggetti con operazioni in batch](batch-ops-initiate-restore-object.md)
+ [Aggiorna la crittografia degli oggetti](batch-ops-update-encryption.md)
+ [Replica di oggetti esistenti con Replica in batch](s3-batch-replication-batch.md)
+ [Conservazione Blocco oggetto S3](batch-ops-retention-date.md)
+ [Blocco di carattere legale del blocco oggetti S3](batch-ops-legal-hold.md)

# Gestione dei processi di operazioni in batch Amazon S3
<a name="batch-ops-managing-jobs"></a>

Amazon S3 fornisce un valido set di strumenti che consentono di gestire i processi di operazioni in batch S3 dopo la loro creazione. Questa sezione descrive le operazioni che puoi utilizzare per gestire e tracciare i tuoi lavori utilizzando la console Amazon S3, AWS Command Line Interface (AWS CLI) o l'API REST AWS SDKs di Amazon S3.

**Topics**
+ [

## Utilizzo della console Amazon S3 per gestire i processi S3 Batch Operations
](#batch-ops-manage-console)
+ [

# Elenchi di processi
](batch-ops-list-jobs.md)
+ [

# Visualizzazione dettagli processo
](batch-ops-job-details.md)
+ [

# Assegnazione della priorità dei processi
](batch-ops-job-priority.md)

## Utilizzo della console Amazon S3 per gestire i processi S3 Batch Operations
<a name="batch-ops-manage-console"></a>

Puoi gestire i processi S3 Batch Operations utilizzando la console. Ad esempio, puoi:
+ Visualizzare i processi attivi e in coda
+ Verifica lo stato di un lavoro
+ Modificare la priorità di un processo
+ Confermare ed eseguire un processo
+ Clonazione di un processo
+ Annullamento di un processo

**Gestione di Batch Operations tramite la console**

1. Accedi a Console di gestione AWS e apri la console Amazon S3 all'indirizzo. [https://console.aws.amazon.com/s3/](https://console.aws.amazon.com/s3/)

1. Nel pannello di navigazione a sinistra, scegli **Operazioni in batch**.

1. Scegli il lavoro che desideri gestire.

# Elenchi di processi
<a name="batch-ops-list-jobs"></a>

Puoi recuperare un elenco dei tuoi processi di operazioni in batch Amazon S3. L'elenco fornisce informazioni sui lavori non ancora terminati e sui lavori terminati negli ultimi 90 giorni. Per ogni lavoro, l'elenco include dettagli come l'ID del lavoro, la descrizione, la priorità, lo stato attuale e il numero di attività riuscite e non riuscite.

Puoi filtrare l'elenco dei processi in base allo stato. Se recuperi l'elenco utilizzando la console, puoi anche cercare i lavori per descrizione o ID e filtrarli per. Regione AWS

## Ottenimento di un elenco di processi su `Active` e `Complete`
<a name="batch-ops-example-cli-active-jobs"></a>

L' AWS CLI esempio seguente ottiene un elenco di `Active` e `Complete` lavori. Per utilizzare questo esempio, sostituisci *`user input placeholders`* con le informazioni appropriate.

```
aws s3control list-jobs \
    --region us-west-2 \
    --account-id account-id \
    --job-statuses '["Active","Complete"]' \
    --max-results 20
```

Per ulteriori informazioni ed esempi, consulta [https://awscli.amazonaws.com/v2/documentation/api/latest/reference/s3control/list-jobs.html](https://awscli.amazonaws.com/v2/documentation/api/latest/reference/s3control/list-jobs.html) nel *Riferimento ai comandi AWS CLI *.

# Visualizzazione dettagli processo
<a name="batch-ops-job-details"></a>

Se desideri maggiori informazioni su un processo di Amazon S3 Batch Operations di quelle che puoi recuperare elencando i lavori, puoi visualizzare tutti i dettagli relativi a un singolo lavoro. Puoi visualizzare i dettagli dei lavori non ancora terminati o dei lavori terminati negli ultimi 90 giorni. Oltre alle informazioni restituite in un elenco di lavori, i dettagli di un singolo lavoro includono informazioni come: 
+ I parametri operativi.
+ Dettagli sul manifesto.
+ Informazioni sul rapporto di completamento, se ne hai configurato uno al momento della creazione del lavoro.
+ L'Amazon Resource Name (ARN) del ruolo AWS Identity and Access Management (IAM) assegnato per eseguire il job.

Visualizzando i dettagli di un singolo processo, puoi accedere all'intera configurazione del processo. Per visualizzare i dettagli di un lavoro, puoi utilizzare la console Amazon S3 o AWS Command Line Interface ()AWS CLI.

## Ottenere la descrizione di un processo Operazioni in batch Amazon S3 nella console Amazon S3
<a name="batch-ops-console-job-description"></a>

**Per visualizzare una descrizione del processo Operazioni in batch utilizzando la console**

1. Accedi a Console di gestione AWS e apri la console Amazon S3 all'indirizzo. [https://console.aws.amazon.com/s3/](https://console.aws.amazon.com/s3/)

1. Nel pannello di navigazione a sinistra, scegli **Operazioni in batch**.

1. Scegli l'ID del processo specifico per visualizzarne i dettagli.

## Ottieni una descrizione del lavoro di S3 Batch Operations nel AWS CLI
<a name="batch-ops-example-cli-job-description"></a>

Nell'esempio seguente viene recuperata la descrizione di un processo Operazioni in batch Amazon S3 tramite la AWS CLI. Per utilizzare il seguente comando di esempio, sostituisci *`user input placeholders`* con le tue informazioni.

```
aws s3control describe-job \
--region us-west-2 \
--account-id account-id \
--job-id 00e123a4-c0d8-41f4-a0eb-b46f9ba5b07c
```

Per ulteriori informazioni ed esempi, consulta [https://awscli.amazonaws.com/v2/documentation/api/latest/reference/s3control/describe-job.html](https://awscli.amazonaws.com/v2/documentation/api/latest/reference/s3control/describe-job.html) nel *Riferimento ai comandi AWS CLI *.

# Assegnazione della priorità dei processi
<a name="batch-ops-job-priority"></a>

È possibile assegnare a ogni processo Operazioni in batch Amazon S3 una priorità numerica, che può essere un numero intero positivo. Operazioni in batch S3 assegna la priorità ai processi in base alla priorità assegnata. I processi con priorità superiore (o un valore numero più alto per il parametro di priorità) vengono valutati per primi. La priorità viene determinata in ordine decrescente, ad esempio a una coda di processi con valore di priorità 10 viene assegnata una preferenza di pianificazione rispetto a una coda di processi con valore di priorità 1. 

È possibile modificare la priorità di un processo mentre è in esecuzione. Se invii un nuovo processo con una priorità più alta mentre un processo è in esecuzione, il processo di priorità inferiore può essere sospeso per consentire l'esecuzione del processo con priorità più alta.

La modifica della priorità di un processo non influisce sulla velocità di elaborazione del processo.

**Nota**  
Operazioni in batch S3 assegna le priorità dei processi secondo il principio del miglior tentativo. Sebbene i processi con priorità più alta abbiano generalmente la precedenza su quelli con priorità più bassa, Amazon S3 non garantisce un ordine rigoroso dei processi.

## Utilizzo della console S3
<a name="batch-ops-example-console-update-job-priority"></a>

**Come aggiornare la priorità dei processi nella console Amazon S3**

1. Accedi a Console di gestione AWS e apri la console Amazon S3 all'indirizzo. [https://console.aws.amazon.com/s3/](https://console.aws.amazon.com/s3/)

1. Nel pannello di navigazione a sinistra, scegli **Operazioni in batch**.

1. Scegli il processo specifico che desideri gestire.

1. Scegli **Actions** (Operazioni). Nell'elenco a discesa, scegli **Update priority** (Aggiorna priorità).

## Usando il AWS CLI
<a name="batch-ops-example-cli-update-job-priority"></a>

L'esempio seguente aggiorna la priorità del processo utilizzando il comando AWS CLI. Un numero più alto indica una priorità di esecuzione più alta. Per utilizzare il seguente comando di esempio, sostituisci *`user input placeholders`* con le tue informazioni.

```
aws s3control update-job-priority \
    --region us-west-2 \
    --account-id account-id \
    --priority 98 \
    --job-id 00e123a4-c0d8-41f4-a0eb-b46f9ba5b07c
```

## Utilizzando il AWS SDK per Java
<a name="batch-ops-examples-java-update-job-priority."></a>

Per aggiornare la priorità di un lavoro S3 Batch Operations utilizzando l' AWS SDK for Java, puoi utilizzare il client S3Control per modificare la priorità di esecuzione del lavoro, che determina l'ordine in cui i lavori vengono elaborati rispetto agli altri lavori in coda.

Per ulteriori informazioni sulla priorità dei processi, consulta [Assegnazione della priorità dei processi](#batch-ops-job-priority).

Per esempi di come aggiornare la priorità del lavoro con l' AWS SDK for Java, [consulta Aggiornare la priorità di un processo batch](https://docs.aws.amazon.com/AmazonS3/latest/API/s3-control_example_s3-control_UpdateJobPriority_section.html) nel riferimento *alle API di Amazon S3*.

# Monitoraggio dei rapporti sullo stato e sul completamento dei processi
<a name="batch-ops-job-status"></a>

Con le operazioni in batch S3 è possibile visualizzare e aggiornare lo stato del processo, aggiungere notifiche e registrazione, tenere traccia degli errori di processo e generare report di completamento. 

**Topics**
+ [

## Stati del processo
](#batch-ops-job-status-table)
+ [

## Aggiornamento dello stato del processo
](#updating-job-statuses)
+ [

## Notifiche e registrazione
](#batch-ops-notifications)
+ [

## Tracciamento dei fallimenti dei processi
](#batch-ops-job-status-failure)
+ [

## Rapporti di completamento
](#batch-ops-completion-report)
+ [

# Esempi: monitoraggio di un job S3 Batch Operations in Amazon EventBridge tramite AWS CloudTrail
](batch-ops-examples-event-bridge-cloud-trail.md)
+ [

# Esempi: report di completamento delle operazioni in batch S3
](batch-ops-examples-reports.md)

## Stati del processo
<a name="batch-ops-job-status-table"></a>

Una volta creato e avviato, un processo passa attraverso una serie di stati. La tabella seguente descrive gli stati e le possibili transizioni tra di essi. 


| Stato | Descrizione | Transizioni | 
| --- | --- | --- | 
| `New` | Quando viene creato, un processo è nello stato `New`. | Un processo passa automaticamente allo stato `Preparing` quando Amazon S3 inizia a elaborare l'oggetto manifest. | 
| `Preparing` | Amazon S3 sta elaborando l'oggetto manifest e altri parametri allo scopo di configurare ed eseguire il processo. | Un processo passa automaticamente allo stato `Ready` quando Amazon S3 termina l'elaborazione del manifest e di altri parametri. Il processo è quindi pronto per iniziare a eseguire l'operazione specificata sugli oggetti elencati nel manifesto.Se il processo richiede una conferma prima dell'esecuzione, ad esempio quando si crea un processo mediante la console Amazon S3, il processo passa dallo stato `Preparing` allo stato `Suspended`. Rimane nello stato `Suspended` finché non confermi di eseguirlo. | 
| `Suspended` | Il processo richiede una conferma, ma l'utente non ha ancora confermato di volerlo eseguire. La conferma viene richiesta solo per i processi creati mediante la console Amazon S3. Un processo creato con la console entra nello stato `Suspended` subito dopo `Preparing`. Dopo aver confermato l'esecuzione del processo e quando il processo passa allo stato `Ready`, non torna mai allo stato `Suspended`. | Una volta confermata l'esecuzione del processo, lo stato cambia in `Ready`. | 
| `Ready` | Amazon S3 è pronto per iniziare l'esecuzione delle operazioni richieste sugli oggetti. | Un processo passa automaticamente allo stato `Active` quando Amazon S3 inizia a eseguirlo. La quantità di tempo durante il quale un processo rimane nello stato `Ready` dipende dalla presenza o meno di processi con priorità più alta già in esecuzione e dal tempo necessario per completare questi processi. | 
| `Active` | Amazon S3 sta eseguendo un'operazione richiesta sugli oggetti elencati nel manifest. Mentre un lavoro è in corso`Active`, puoi monitorarne l'avanzamento utilizzando la console Amazon S3 o il `DescribeJob` funzionamento tramite l'API REST AWS CLI, oppure. AWS SDKs | Un processo esce dallo stato `Active` quando non esegue più operazioni sugli oggetti. Questo comportamento può avvenire automaticamente, ad esempio quando un processo viene completato con successo o fallisce. Questo comportamento può anche verificarsi in seguito ad azioni dell'utente, come l'annullamento di un processo. Lo stato successivo del processo dipende dal motivo della transizione. | 
| `Pausing` | Il processo sta passando allo stato `Paused` da un altro stato. | Un processo passa automaticamente allo stato `Paused` al termine della fase `Pausing`. | 
| `Paused` | Un processo può passare allo stato `Paused` se si invia un altro processo con priorità più alta mentre il processo corrente è in esecuzione. | Un processo `Paused` torna automaticamente allo stato `Active` quando i processi con priorità più alta che ne stanno bloccando l'esecuzione vengono completati, sospesi o hanno esito negativo. | 
| `Completing` | Il processo sta passando allo stato `Complete` da un altro stato. | Un processo passa automaticamente allo stato `Complete` al termine della fase `Completing`. | 
| `Complete` | Il processo ha terminato l'esecuzione dell'operazione richiesta su tutti gli oggetti elencati nel manifest. Per ogni oggetto, l'operazione potrebbe aver avuto esito positivo o negativo. Se il processo è stato configurato in modo da generare un rapporto di completamento, tale rapporto sarà disponibile non appena il processo sarà passato allo stato `Complete`. | `Complete` è uno stato terminale. Una volta che un processo raggiunge `Complete`, non passa a nessun altro stato. | 
| `Cancelling` | Il processo sta passando allo stato `Cancelled`. | Un processo passa automaticamente allo stato `Cancelled` al termine della fase `Cancelling`. | 
| `Cancelled` | L'utente ha richiesto l'annullamento del processo e Operazioni in batch S3 ha annullato il processo con successo. Il processo non invierà nuove richieste ad Amazon S3. | `Cancelled` è uno stato terminale. Dopo che un processo ha raggiunto `Cancelled`, il processo non passerà a nessun altro stato. | 
| `Failing` | Il processo sta passando allo stato `Failed`. | Un processo passa automaticamente allo stato `Failed` al termine della fase `Failing`. | 
| `Failed` | Il processo ha avuto esito negativo e non è più in esecuzione. Per ulteriori informazioni sugli errori dei processi, consulta [Tracciamento dei fallimenti dei processi](#batch-ops-job-status-failure). | `Failed` è uno stato terminale. Dopo che un processo ha raggiunto `Failed`, non passerà a nessun altro stato. | 

## Aggiornamento dello stato del processo
<a name="updating-job-statuses"></a>

Di seguito sono AWS CLI AWS SDK per Java riportati alcuni esempi che aggiornano lo stato di un processo Batch Operations. Per ulteriori informazioni sull'utilizzo della console Amazon S3 per gestire i processi di Operazioni in batch, consulta [Utilizzo della console Amazon S3 per gestire i processi S3 Batch Operations](batch-ops-managing-jobs.md#batch-ops-manage-console).

### Utilizzando il AWS CLI
<a name="batch-ops-example-cli-update-job-status"></a>

Per utilizzare i seguenti comandi di esempio, sostituisci *`user input placeholders`* con le informazioni appropriate. 
+ Se non si è specificato il parametro `--no-confirmation-required` nel comando `create-job`, il processo rimane in uno stato di sospensione finché non si conferma il processo impostando lo stato su `Ready`. Amazon S3 rende quindi il processo idoneo per l'esecuzione.

  ```
  aws s3control update-job-status \
      --region us-west-2 \
      --account-id 123456789012 \
      --job-id 00e123a4-c0d8-41f4-a0eb-b46f9ba5b07c \
      --requested-job-status 'Ready'
  ```
+ Annullare il processo impostandone lo stato su `Cancelled`.

  ```
  aws s3control update-job-status \
       --region us-west-2 \
       --account-id 123456789012 \
       --job-id 00e123a4-c0d8-41f4-a0eb-b46f9ba5b07c \
       --status-update-reason "No longer needed" \
       --requested-job-status Cancelled
  ```

### Utilizzo dell' AWS SDK for Java
<a name="batch-ops-examples-java-update-job-status"></a>

Per esempi di come aggiornare lo stato di un processo con l' AWS SDK for Java, [consulta Aggiornare lo stato di un processo batch](https://docs.aws.amazon.com/AmazonS3/latest/API/s3-control_example_s3-control_UpdateJobStatus_section.html) *nell'Amazon S3 API Reference*.

## Notifiche e registrazione
<a name="batch-ops-notifications"></a>

Oltre a richiedere i report di completamento, è possibile acquisire, rivedere e verificare l'attività di Operazioni in batch tramite AWS CloudTrail. Poiché Operazioni in batch utilizza le operazioni dell'API Amazon S3 esistenti per eseguire le attività, queste ultime emettono gli stessi eventi che emetterebbero se fossero chiamate direttamente. Pertanto, è possibile monitorare e registrare l'avanzamento del processo e di tutte le sue attività utilizzando gli stessi strumenti e processi di notifica, registrazione e auditing già utilizzati con Amazon S3. Per ulteriori informazioni, consulta gli esempi nelle sezioni seguenti.

**Nota**  
Batch Operations genera eventi di gestione e dati CloudTrail durante l'esecuzione del job. Il volume di questi eventi varia in base al numero di chiavi presenti nel manifesto di ogni processo. Per ulteriori informazioni, consulta la pagina [CloudTrail dei prezzi](https://aws.amazon.com/cloudtrail/pricing/), che include esempi di come i prezzi cambiano a seconda del numero di percorsi configurati nel tuo account. Per informazioni su come configurare e registrare gli eventi in base alle tue esigenze, consulta [Creazione del primo trail](https://docs.aws.amazon.com/awscloudtrail/latest/userguide/cloudtrail-tutorial.html#tutorial-step2) nella *Guida per l'utente di AWS CloudTrail *.

Per ulteriori informazioni sugli eventi Amazon S3, consulta [Notifiche di eventi Amazon S3](EventNotifications.md). 

## Tracciamento dei fallimenti dei processi
<a name="batch-ops-job-status-failure"></a>

Se si verifica un problema con un processo di operazioni in batch Amazon S3 che ne impedisce l'esecuzione, ad esempio non riesce a leggere il manifest specificato, il processo non riesce. Quando un processo non riesce, genera uno o più codici o motivi di errore. Operazioni in batch S3 memorizza i codici di errore e i motivi con il processo, in modo da poterli visualizzare richiedendo i dettagli del processo. Se è stato richiesto un rapporto di completamento per il processo, deve contenere anche i codici e i motivi di errore.

Per impedire che i processi eseguano un numero elevato di operazioni non riuscite, Amazon S3 impone una soglia di errore attività su ogni processo di operazioni in batch S3. Quando un processo ha eseguito almeno 1.000 task, Amazon S3 monitora il tasso di fallimento dei task. Se, in qualsiasi momento, la percentuale di errore (il numero di attività non andate a buon fine espresso come proporzione del numero totale di attività eseguite) supera il 50%, il lavoro non riesce. Se il processo non riesce perché ha superato la soglia di errore attività, è possibile identificare la causa degli errori. È ad esempio possibile che nel manifest siano stati involontariamente inclusi alcuni oggetti che non esistono nel bucket specificato. Dopo aver risolto gli errori, è possibile inviare nuovamente il processo.

**Nota**  
Operazioni in batch S3 opera in modo asincrono e i task non vengono necessariamente eseguiti nell'ordine in cui gli oggetti sono elencati nel manifesto. Pertanto non puoi utilizzare l'ordinamento del manifest per determinare quali attività degli oggetti sono riuscite e quali no. Puoi invece esaminare il rapporto di completamento del lavoro (se ne hai richiesto uno) o visualizzare i registri degli AWS CloudTrail eventi per determinare l'origine degli errori.

## Rapporti di completamento
<a name="batch-ops-completion-report"></a>

Quando crei un processo, puoi richiedere un rapporto di completamento. Finché Operazioni in batch S3 invoca con successo almeno un'attività, Amazon S3 genera un report di completamento dopo che il processo ha terminato l'esecuzione delle attività, è fallito o è stato annullato. Puoi configurare il rapporto di completamento per includere tutte le attività o solo quelle non riuscite. 

Il report di completamento include la configurazione del processo, lo stato e le informazioni per ogni attività, tra cui la chiave dell'oggetto e la versione, lo stato, i codici di errore e le descrizioni di eventuali errori. I report di completamento offrono un modo semplice per visualizzare i risultati delle attività in un formato consolidato, senza ulteriori operazioni di configurazione. I report di completamento vengono crittografati utilizzando la crittografia lato server con chiavi gestite da Amazon S3 (SSE-S3). Per un esempio di report di completamento, consulta [Esempi: report di completamento delle operazioni in batch S3](batch-ops-examples-reports.md). 

Se non configuri un rapporto di completamento, puoi comunque monitorare e controllare il tuo lavoro e le relative attività utilizzando CloudTrail e Amazon CloudWatch. Per ulteriori informazioni, consulta i seguenti argomenti:

**Topics**
+ [

## Stati del processo
](#batch-ops-job-status-table)
+ [

## Aggiornamento dello stato del processo
](#updating-job-statuses)
+ [

## Notifiche e registrazione
](#batch-ops-notifications)
+ [

## Tracciamento dei fallimenti dei processi
](#batch-ops-job-status-failure)
+ [

## Rapporti di completamento
](#batch-ops-completion-report)
+ [

# Esempi: monitoraggio di un job S3 Batch Operations in Amazon EventBridge tramite AWS CloudTrail
](batch-ops-examples-event-bridge-cloud-trail.md)
+ [

# Esempi: report di completamento delle operazioni in batch S3
](batch-ops-examples-reports.md)

# Esempi: monitoraggio di un job S3 Batch Operations in Amazon EventBridge tramite AWS CloudTrail
<a name="batch-ops-examples-event-bridge-cloud-trail"></a>

L'attività dei processi di operazioni in batch Amazon S3 viene registrata in forma di eventi in AWS CloudTrail. Puoi creare una regola personalizzata in Amazon EventBridge e inviare questi eventi alla risorsa di notifica di destinazione di tua scelta, come Amazon Simple Notification Service (Amazon SNS). 

**Nota**  
Amazon EventBridge è il modo preferito per gestire i tuoi eventi. Amazon CloudWatch Events e Amazon EventBridge sono lo stesso servizio e la stessa API di base, ma EventBridge offrono più funzionalità. Le modifiche apportate in una CloudWatch o nell'altra console EventBridge vengono visualizzate in ciascuna console. Per ulteriori informazioni, consulta la *[Amazon EventBridge User Guide](https://docs.aws.amazon.com/eventbridge/latest/userguide/)*.

**Topics**
+ [

## Eventi S3 Batch Operations registrati in CloudTrail
](#batch-ops-examples-cloud-trail-events)
+ [

## EventBridge regola per tracciare gli eventi dei job di S3 Batch Operations
](#batch-ops-examples-event-bridge)

## Eventi S3 Batch Operations registrati in CloudTrail
<a name="batch-ops-examples-cloud-trail-events"></a>



Quando viene creato un processo Batch Operations, viene registrato come `JobCreated` evento in CloudTrail. Durante l'esecuzione, il processo cambia stato durante l'elaborazione e vengono registrati altri `JobStatusChanged` eventi CloudTrail. È possibile visualizzare questi eventi sulla [console CloudTrail ](https://console.aws.amazon.com/cloudtrail). Per ulteriori informazioni in merito CloudTrail, consulta la [https://docs.aws.amazon.com/awscloudtrail/latest/userguide/how-cloudtrail-works.html](https://docs.aws.amazon.com/awscloudtrail/latest/userguide/how-cloudtrail-works.html).

**Nota**  
Vengono registrati solo `status-change` gli eventi di lavoro di S3 Batch Operations. CloudTrail

**Example — Evento di completamento del lavoro di S3 Batch Operations registrato da CloudTrail**  

```
{
    "eventVersion": "1.05",
    "userIdentity": {
        "accountId": "123456789012",
        "invokedBy": "s3.amazonaws.com"
    },
    "eventTime": "2020-02-05T18:25:30Z",
    "eventSource": "s3.amazonaws.com",
    "eventName": "JobStatusChanged",
    "awsRegion": "us-west-2",
    "sourceIPAddress": "s3.amazonaws.com",
    "userAgent": "s3.amazonaws.com",
    "requestParameters": null,
    "responseElements": null,
    "eventID": "f907577b-bf3d-4c53-b9ed-8a83a118a554",
    "readOnly": false,
    "eventType": "AwsServiceEvent",
    "recipientAccountId": "123412341234",
    "serviceEventDetails": {
        "jobId": "d6e58ec4-897a-4b6d-975f-10d7f0fb63ce",
        "jobArn": "arn:aws:s3:us-west-2:181572960644:job/d6e58ec4-897a-4b6d-975f-10d7f0fb63ce",
        "status": "Complete",
        "jobEventId": "b268784cf0a66749f1a05bce259804f5",
        "failureCodes": [],
        "statusChangeReason": []
    }
}
```

## EventBridge regola per tracciare gli eventi dei job di S3 Batch Operations
<a name="batch-ops-examples-event-bridge"></a>

L'esempio seguente mostra come creare una regola in Amazon EventBridge per acquisire gli eventi S3 Batch Operations registrati AWS CloudTrail su un target di tua scelta.

A tale scopo, crei una regola seguendo tutti i passaggi descritti in [Creazione di EventBridge regole che reagiscono agli eventi](https://docs.aws.amazon.com/eventbridge/latest/userguide/eb-create-rule.html). È possibile incollare la seguente policy personalizzata di modello di eventi delle operazioni in batch S3, se applicabile, e scegliere il servizio di destinazione desiderato.

**Policy personalizzata di modello di eventi delle operazioni in batch S3**

```
{
    "source": [
        "aws.s3"
    ],
    "detail-type": [
        "AWS Service Event via CloudTrail"
    ],
    "detail": {
        "eventSource": [
            "s3.amazonaws.com"
        ],
        "eventName": [
            "JobCreated",
            "JobStatusChanged"
        ]
    }
}
```

 Gli esempi seguenti sono due eventi Batch Operations inviati ad Amazon Simple Queue Service (Amazon SQS) da una regola di evento. EventBridge Un processo di operazioni in batch attraversa molti stati diversi durante l'elaborazione (`New`, `Preparing`, `Active` e così via), quindi è possibile ricevere diversi messaggi per ogni processo.

**Example - Evento di esempio JobCreated**  

```
{
    "version": "0",
    "id": "51dc8145-541c-5518-2349-56d7dffdf2d8",
    "detail-type": "AWS Service Event via CloudTrail",
    "source": "aws.s3",
    "account": "123456789012",
    "time": "2020-02-27T15:25:49Z",
    "region": "us-east-1",
    "resources": [],
    "detail": {
        "eventVersion": "1.05",
        "userIdentity": {
            "accountId": "11112223334444",
            "invokedBy": "s3.amazonaws.com"
        },
        "eventTime": "2020-02-27T15:25:49Z",
        "eventSource": "s3.amazonaws.com",
        "eventName": "JobCreated",
        "awsRegion": "us-east-1",
        "sourceIPAddress": "s3.amazonaws.com",
        "userAgent": "s3.amazonaws.com",
        "eventID": "7c38220f-f80b-4239-8b78-2ed867b7d3fa",
        "readOnly": false,
        "eventType": "AwsServiceEvent",
        "serviceEventDetails": {
            "jobId": "e849b567-5232-44be-9a0c-40988f14e80c",
            "jobArn": "arn:aws:s3:us-east-1:181572960644:job/e849b567-5232-44be-9a0c-40988f14e80c",
            "status": "New",
            "jobEventId": "f177ff24f1f097b69768e327038f30ac",
            "failureCodes": [],
            "statusChangeReason": []
        }
    }
}
```

**Example - Evento di completamento del processo JobStatusChanged**  

```
{
  "version": "0",
  "id": "c8791abf-2af8-c754-0435-fd869ce25233",
  "detail-type": "AWS Service Event via CloudTrail",
  "source": "aws.s3",
  "account": "123456789012",
  "time": "2020-02-27T15:26:42Z",
  "region": "us-east-1",
  "resources": [],
  "detail": {
    "eventVersion": "1.05",
    "userIdentity": {
      "accountId": "1111222233334444",
      "invokedBy": "s3.amazonaws.com"
    },
    "eventTime": "2020-02-27T15:26:42Z",
    "eventSource": "s3.amazonaws.com",
    "eventName": "JobStatusChanged",
    "awsRegion": "us-east-1",
    "sourceIPAddress": "s3.amazonaws.com",
    "userAgent": "s3.amazonaws.com",
    "eventID": "0238c1f7-c2b0-440b-8dbd-1ed5e5833afb",
    "readOnly": false,
    "eventType": "AwsServiceEvent",
    "serviceEventDetails": {
      "jobId": "e849b567-5232-44be-9a0c-40988f14e80c",
      "jobArn": "arn:aws:s3:us-east-1:181572960644:job/e849b567-5232-44be-9a0c-40988f14e80c",
      "status": "Complete",
      "jobEventId": "51f5ac17dba408301d56cd1b2c8d1e9e",
      "failureCodes": [],
      "statusChangeReason": []
    }
  }
}
```

# Esempi: report di completamento delle operazioni in batch S3
<a name="batch-ops-examples-reports"></a>

Quando crei un processo di operazioni in batch S3, è possibile richiedere un report di completamento per tutte le attività o solo per le attività non andate a buon fine. Se almeno un'attività è stata invocata correttamente, le operazioni in batch S3 generano un report per i processi che sono stati completati, che non sono andati a buon fine o che sono stati annullati.

Il rapporto di completamento contiene informazioni aggiuntive per ogni attività, inclusi il nome della chiave e la versione dell'oggetto, lo stato, i codici di errore e le descrizioni degli errori. La descrizione degli errori per ogni attività non andata a buon fine può essere utilizzata per diagnosticare problemi durante la creazione del lavoro, come le autorizzazioni. Per i processi **Calcola il checksum**, il report di completamento contiene i valori di checksum per ogni oggetto.

**Nota**  
I report di completamento sono sempre crittografati con chiavi gestite da Amazon S3 (SSE-S3).

**Example - File di risultato del manifesto di primo livello**  
Il file `manifest.json` di primo livello contiene le posizioni di tutti i rapporti andati a buon fine e (se il processo conteneva errori) la posizione dei rapporti non andati a buon fine, come mostrato nel seguente esempio.  

```
{
    "Format": "Report_CSV_20180820",
    "ReportCreationDate": "2019-04-05T17:48:39.725Z",
    "Results": [
        {
            "TaskExecutionStatus": "succeeded",
            "Bucket": "my-job-reports",
            "MD5Checksum": "83b1c4cbe93fc893f54053697e10fd6e",
            "Key": "job-f8fb9d89-a3aa-461d-bddc-ea6a1b131955/results/6217b0fab0de85c408b4be96aeaca9b195a7daa5.csv"
        },
        {
            "TaskExecutionStatus": "failed",
            "Bucket": "my-job-reports",
            "MD5Checksum": "22ee037f3515975f7719699e5c416eaa",
            "Key": "job-f8fb9d89-a3aa-461d-bddc-ea6a1b131955/results/b2ddad417e94331e9f37b44f1faf8c7ed5873f2e.csv"
        }
    ],
    "ReportSchema": "Bucket, Key, VersionId, TaskStatus, ErrorCode, HTTPStatusCode, ResultMessage"
}
```

**Report sulle attività andate a buon fine**

I report sulle attività andate a buon fine contengono i seguenti dati relativi alle attività *completate correttamente*:
+ `Bucket`
+ `Key`
+ `VersionId`
+ `TaskStatus`
+ `ErrorCode`
+ `HTTPStatusCode`
+ `ResultMessage`

**Report sulle attività non andate a buon fine**

I report sulle attività non andate a buon fine contengono le seguenti informazioni per tutte le attività *non completate*:
+ `Bucket`
+ `Key`
+ `VersionId`
+ `TaskStatus`
+ `ErrorCode`
+ `HTTPStatusCode`
+ `ResultMessage`

**Example - Report sulle attività della funzione Lambda**  
Nel seguente esempio, la funzione Lambda ha copiato correttamente l'oggetto Amazon S3 in un altro bucket. La risposta di Amazon S3 restituita viene passata alle operazioni in batch S3 e quindi viene scritta nel report di completamento finale.  

```
amzn-s3-demo-bucket1,image_17775,,succeeded,200,,"{u'CopySourceVersionId': 'xVR78haVKlRnurYofbTfYr3ufYbktF8h', u'CopyObjectResult': {u'LastModified': datetime.datetime(2019, 4, 5, 17, 35, 39, tzinfo=tzlocal()), u'ETag': '""fe66f4390c50f29798f040d7aae72784""'}, 'ResponseMetadata': {'HTTPStatusCode': 200, 'RetryAttempts': 0, 'HostId': 'nXNaClIMxEJzWNmeMNQV2KpjbaCJLn0OGoXWZpuVOFS/iQYWxb3QtTvzX9SVfx2lA3oTKLwImKw=', 'RequestId': '3ED5852152014362', 'HTTPHeaders': {'content-length': '234', 'x-amz-id-2': 'nXNaClIMxEJzWNmeMNQV2KpjbaCJLn0OGoXWZpuVOFS/iQYWxb3QtTvzX9SVfx2lA3oTKLwImKw=', 'x-amz-copy-source-version-id': 'xVR78haVKlRnurYofbTfYr3ufYbktF8h', 'server': 'AmazonS3', 'x-amz-request-id': '3ED5852152014362', 'date': 'Fri, 05 Apr 2019 17:35:39 GMT', 'content-type': 'application/xml'}}}"
amzn-s3-demo-bucket1,image_17763,,succeeded,200,,"{u'CopySourceVersionId': '6HjOUSim4Wj6BTcbxToXW44pSZ.40pwq', u'CopyObjectResult': {u'LastModified': datetime.datetime(2019, 4, 5, 17, 35, 39, tzinfo=tzlocal()), u'ETag': '""fe66f4390c50f29798f040d7aae72784""'}, 'ResponseMetadata': {'HTTPStatusCode': 200, 'RetryAttempts': 0, 'HostId': 'GiCZNYr8LHd/Thyk6beTRP96IGZk2sYxujLe13TuuLpq6U2RD3we0YoluuIdm1PRvkMwnEW1aFc=', 'RequestId': '1BC9F5B1B95D7000', 'HTTPHeaders': {'content-length': '234', 'x-amz-id-2': 'GiCZNYr8LHd/Thyk6beTRP96IGZk2sYxujLe13TuuLpq6U2RD3we0YoluuIdm1PRvkMwnEW1aFc=', 'x-amz-copy-source-version-id': '6HjOUSim4Wj6BTcbxToXW44pSZ.40pwq', 'server': 'AmazonS3', 'x-amz-request-id': '1BC9F5B1B95D7000', 'date': 'Fri, 05 Apr 2019 17:35:39 GMT', 'content-type': 'application/xml'}}}"
amzn-s3-demo-bucket1,image_17860,,succeeded,200,,"{u'CopySourceVersionId': 'm.MDD0g_QsUnYZ8TBzVFrp.TmjN8PJyX', u'CopyObjectResult': {u'LastModified': datetime.datetime(2019, 4, 5, 17, 35, 40, tzinfo=tzlocal()), u'ETag': '""fe66f4390c50f29798f040d7aae72784""'}, 'ResponseMetadata': {'HTTPStatusCode': 200, 'RetryAttempts': 0, 'HostId': 'F9ooZOgpE5g9sNgBZxjdiPHqB4+0DNWgj3qbsir+sKai4fv7rQEcF2fBN1VeeFc2WH45a9ygb2g=', 'RequestId': '8D9CA56A56813DF3', 'HTTPHeaders': {'content-length': '234', 'x-amz-id-2': 'F9ooZOgpE5g9sNgBZxjdiPHqB4+0DNWgj3qbsir+sKai4fv7rQEcF2fBN1VeeFc2WH45a9ygb2g=', 'x-amz-copy-source-version-id': 'm.MDD0g_QsUnYZ8TBzVFrp.TmjN8PJyX', 'server': 'AmazonS3', 'x-amz-request-id': '8D9CA56A56813DF3', 'date': 'Fri, 05 Apr 2019 17:35:40 GMT', 'content-type': 'application/xml'}}}"
```
Il seguente report di esempio mostra un caso in cui la AWS Lambda funzione è scaduta, causando errori che superano la soglia di errore. Viene quindi contrassegnata come `PermanentFailure`.  

```
amzn-s3-demo-bucket1,image_14975,,failed,200,PermanentFailure,"Lambda returned function error: {""errorMessage"":""2019-04-05T17:35:21.155Z 2845ca0d-38d9-4c4b-abcf-379dc749c452 Task timed out after 3.00 seconds""}"
amzn-s3-demo-bucket1,image_15897,,failed,200,PermanentFailure,"Lambda returned function error: {""errorMessage"":""2019-04-05T17:35:29.610Z 2d0a330b-de9b-425f-b511-29232fde5fe4 Task timed out after 3.00 seconds""}"
amzn-s3-demo-bucket1,image_14819,,failed,200,PermanentFailure,"Lambda returned function error: {""errorMessage"":""2019-04-05T17:35:22.362Z fcf5efde-74d4-4e6d-b37a-c7f18827f551 Task timed out after 3.00 seconds""}"
amzn-s3-demo-bucket1,image_15930,,failed,200,PermanentFailure,"Lambda returned function error: {""errorMessage"":""2019-04-05T17:35:29.809Z 3dd5b57c-4a4a-48aa-8a35-cbf027b7957e Task timed out after 3.00 seconds""}"
amzn-s3-demo-bucket1,image_17644,,failed,200,PermanentFailure,"Lambda returned function error: {""errorMessage"":""2019-04-05T17:35:46.025Z 10a764e4-2b26-4d8c-9056-1e1072b4723f Task timed out after 3.00 seconds""}"
amzn-s3-demo-bucket1,image_17398,,failed,200,PermanentFailure,"Lambda returned function error: {""errorMessage"":""2019-04-05T17:35:44.661Z 1e306352-4c54-4eba-aee8-4d02f8c0235c Task timed out after 3.00 seconds""}"
```

**Example - Report sulle attività Calcola il checksum**  
Nell’esempio seguente, l’operazione **Calcola il checksum** ha calcolato correttamente il checksum per l’oggetto caricato mentre era a riposo. La risposta restituita da Amazon S3 viene passata nuovamente a Operazioni in batch S3 e quindi viene scritta nel report di completamento finale:  

```
amzn-s3-demo-bucket1,s3-standard-1mb-test-object,,succeeded,200,,"{""checksum_base64"":""bS9TOQ\u003d\u003d"",""etag"":""3c3c1813042989094598e4b57ecbdc82"",""checksumAlgorithm"":""CRC32"",""checksumType"":""FULL_OBJECT"",""checksum_hex"":""6D2F5339""}"
```
Il seguente report di esempio mostra cosa succede quando un’operazione **Calcola il checksum** non riesce, con conseguente report sull’attività non andata a buon fine:  

```
amzn-s3-demo-bucket1,image_14975,,failed,200,PermanentFailure,"error details: {""failureMessage"":"Task 2845ca0d-38d9-4c4b-abcf-379dc749c452 SSE-C encryption type is not supported for this operation", ""errorCode"": "400"}"
amzn-s3-demo-bucket1,image_14975,,failed,200,PermanentFailure,"error details: {""failureMessage"":"Task 2845ca0d-38d9-4c4b-abcf-379dc749c452 Key not found", ""errorCode"": "404"}"
amzn-s3-demo-bucket1,image_14975,,failed,200,PermanentFailure,"error details: {""failureMessage"":"Task 2845ca0d-38d9-4c4b-abcf-379dc749c452 Internal server error, please retry", ""errorCode"": "500"}"
```

# Controllo dei lavori di accesso ed etichettatura mediante tag
<a name="batch-ops-job-tags"></a>

È possibile etichettare e controllare l'accesso ai processi di operazioni in batch Amazon S3 aggiungendo *tag*. I tag possono essere utilizzati per identificare chi è responsabile di un processo di operazioni in batch. La presenza dei tag dei lavori può consentire o limitare la capacità di un utente di cancellare un lavoro, attivare un lavoro in stato di conferma o cambiare il livello di priorità di un lavoro. È possibile creare processi con tag collegati e aggiungere tag ai processi dopo la loro creazione. Ogni tag è una coppia chiave-valore che può essere inclusa quando si crea il lavoro o si aggiorna in un secondo momento.

**avvertimento**  
Assicurati che i tuoi tag non contengano informazioni riservate o dati personali.

Considera il seguente esempio di tag: supponiamo che desideri che il reparto Finanze crei un processo Batch Operations. È possibile scrivere una policy AWS Identity and Access Management (IAM) che consenta a un utente di richiamare`CreateJob`, a condizione che il job venga creato con il `Department` tag assegnato al valore. `Finance` Inoltre, è possibile allegare tale policy a tutti gli utenti membri del dipartimento Finanze.

Continuando con questo esempio, è possibile scrivere una policy che consenta a un utente di aggiornare la priorità di qualsiasi lavoro con i tag desiderati o annullare qualsiasi lavoro con tali tag. Per ulteriori informazioni, consulta [Controllo delle autorizzazioni per le operazioni in batch utilizzando i tag di processo](batch-ops-job-tags-examples.md).

È possibile aggiungere tag a nuovi processi di operazioni in batch Amazon S3 al momento della loro creazione o a processi esistenti. 

Sono valide le seguenti limitazioni sui tag:
+ È possibile associare fino a 50 tag a un lavoro purché abbiano chiavi tag univoche.
+ Una chiave di tag può essere composta da un massimo di 128 caratteri Unicode e i valori di tag possono essere composti da un massimo di 256 caratteri Unicode.
+ La chiave e i valori fanno distinzione tra maiuscole e minuscole.

Per ulteriori informazioni sui limiti dei tag, consulta [Restrizioni sui tag definiti dall'utente](https://docs.aws.amazon.com/awsaccountbilling/latest/aboutv2/allocation-tag-restrictions.html) nella *Guida per l'utente Gestione dei costi e fatturazione AWS *.

## Operazioni API correlate al tagging dei processi di operazioni in batch Amazon S3
<a name="batch-ops-job-tags-api"></a>

Amazon S3 supporta le seguenti operazioni API specifiche del tagging dei processi di operazioni in batch Amazon S3:
+ [https://docs.aws.amazon.com/AmazonS3/latest/API/API_control_GetJobTagging.html](https://docs.aws.amazon.com/AmazonS3/latest/API/API_control_GetJobTagging.html) - Restituisce il set di tag associato a un processo di Operazioni in batch. 
+ [https://docs.aws.amazon.com/AmazonS3/latest/API/API_control_PutJobTagging.html](https://docs.aws.amazon.com/AmazonS3/latest/API/API_control_PutJobTagging.html) - Sostituisce il set di tag associato a un processo. La gestione di tag dei processi di operazioni in batch Amazon S3 mediante questa operazione API prevede due scenari distinti:
  + Il processo non ha tag - È possibile aggiungere una serie di etichette a un processo (il processo non ha tag precedenti).
  + Il processo ha un insieme di tag esistenti - Per modificare l'insieme di tag esistente, è possibile sostituirlo completamente o apportare modifiche all'interno dell'insieme di tag esistente, recuperando l'insieme di tag esistente con [https://docs.aws.amazon.com/AmazonS3/latest/API/API_control_GetJobTagging.html](https://docs.aws.amazon.com/AmazonS3/latest/API/API_control_GetJobTagging.html), modificare quel set di tag e utilizzare questa azione API per sostituire il set di tag con quello modificato.
**Nota**  
Se invii questa richiesta con un set di tag vuoto, le operazioni in batch S3 eliminano il set di tag esistenti sull'oggetto. Se si utilizza questo metodo, viene addebitato un costo per una richiesta di livello 1 (`PUT`). Per ulteriori informazioni, consulta [Prezzi di Amazon S3](https://aws.amazon.com/s3/pricing).  
Per eliminare i tag esistenti per il processo Batch Operations, l'operazione `DeleteJobTagging` è da preferire perché ottiene lo stesso risultato senza incorrere in addebiti.
+ [https://docs.aws.amazon.com/AmazonS3/latest/API/API_control_DeleteJobTagging.html](https://docs.aws.amazon.com/AmazonS3/latest/API/API_control_DeleteJobTagging.html) - Elimina il set di tag associato a un processo di Operazioni in batch. 

# Creazione di un processo Batch Operations con tag di processo utilizzati per l'etichettatura
<a name="batch-ops-tags-create"></a>

È possibile etichettare e controllare l'accesso ai processi di Operazioni in batch Amazon S3 aggiungendo dei *tag*. I tag possono essere utilizzati per identificare chi è responsabile di un processo di operazioni in batch. È possibile creare lavori con tag ad essi associati e aggiungere tag ai lavori dopo la creazione. Per ulteriori informazioni, consulta [Controllo dei lavori di accesso ed etichettatura mediante tag](batch-ops-job-tags.md).

## Usando il AWS CLI
<a name="batch-ops-example-cli-job-tags-create-job"></a>

L' AWS CLI esempio seguente crea un `S3PutObjectCopy` lavoro S3 Batch Operations utilizzando i tag del lavoro come etichette per il lavoro. 

1. Selezionare l'operazione o `OPERATION` da far eseguire al processo di operazioni in batch e scegliere il proprio `TargetResource`.

   ```
   read -d '' OPERATION <<EOF
   {
     "S3PutObjectCopy": {
       "TargetResource": "arn:aws:s3:::amzn-s3-demo-destination-bucket"
     }
   }
   EOF
   ```

1. Identificare il lavoro `TAGS` che si desidera per il lavoro. In questo caso, si applicano due tag `department` e `FiscalYear`, con i valori `Marketing` e `2020` rispettivamente.

   ```
   read -d '' TAGS <<EOF
   [
     {
       "Key": "department",
       "Value": "Marketing"
     },
     {
       "Key": "FiscalYear",
       "Value": "2020"
     }
   ]
   EOF
   ```

1. Specificare `MANIFEST` per il processo di operazioni in batch.

   ```
   read -d '' MANIFEST <<EOF
   {
     "Spec": {
       "Format": "EXAMPLE_S3BatchOperations_CSV_20180820",
       "Fields": [
         "Bucket",
         "Key"
       ]
     },
     "Location": {
       "ObjectArn": "arn:aws:s3:::amzn-s3-demo-manifest-bucket/example_manifest.csv",
       "ETag": "example-5dc7a8bfb90808fc5d546218"
     }
   }
   EOF
   ```

1. Configurare `REPORT` per il processo di operazioni in batch.

   ```
   read -d '' REPORT <<EOF
   {
     "Bucket": "arn:aws:s3:::amzn-s3-demo-completion-report-bucket",
     "Format": "Example_Report_CSV_20180820",
     "Enabled": true,
     "Prefix": "reports/copy-with-replace-metadata",
     "ReportScope": "AllTasks"
   }
   EOF
   ```

1. Eseguire l'operazione `create-job` per creare il processo di operazioni in batch con input impostati nelle fasi precedenti.

   ```
   aws \
       s3control create-job \
       --account-id 123456789012 \
       --manifest "${MANIFEST//$'\n'}" \
       --operation "${OPERATION//$'\n'/}" \
       --report "${REPORT//$'\n'}" \
       --priority 10 \
       --role-arn arn:aws:iam::123456789012:role/batch-operations-role \
       --tags "${TAGS//$'\n'/}" \
       --client-request-token "$(uuidgen)" \
       --region us-west-2 \
       --description "Copy with Replace Metadata";
   ```

## Utilizzo dell' AWS SDK for Java
<a name="batch-ops-examples-java-job-with-tags-create"></a>

Per creare un job S3 Batch Operations con tag utilizzando l' AWS SDK for Java, puoi utilizzare il client S3Control per configurare i parametri del lavoro, tra cui posizione del manifesto, operazioni di lavoro, impostazioni di reporting e tag per scopi di organizzazione e tracciamento.

Per esempi di come creare job S3 Batch Operations con tag utilizzando l' AWS SDK for Java, [consulta Creare un processo batch per copiare](https://docs.aws.amazon.com/AmazonS3/latest/API/s3-control_example_s3-control_CreateJob_section.html) oggetti nell'*Amazon S3* API Reference.

# Eliminazione dei tag da un processo S3 Batch Operations
<a name="delete-job-tags"></a>

È possibile utilizzare questi esempi per eliminare i tag da un processo di Operazioni in batch Amazon S3.

## Usando il AWS CLI
<a name="batch-ops-example-cli-job-tags-delete-job-tagging"></a>

Nell'esempio seguente vengono eliminati i tag da un processo di operazioni in batch tramite la AWS CLI.

```
aws \
    s3control delete-job-tagging \
    --account-id 123456789012 \
    --job-id Example-e25a-4ed2-8bee-7f8ed7fc2f1c \
    --region us-east-1
```

## Eliminare i tag di processo di un processo di operazioni in batch
<a name="batch-ops-examples-java-job-with-tags-delete"></a>

Per eliminare i tag di un job S3 Batch Operations utilizzando l' AWS SDK for Java, puoi utilizzare il client S3Control con l'ID del lavoro per rimuovere tutti i tag associati al processo di operazioni batch.

Per esempi di come eliminare i tag di lavoro con l' AWS SDK for Java, [consulta Eliminare tag da un processo batch](https://docs.aws.amazon.com/AmazonS3/latest/API/s3-control_example_s3-control_DeleteJobTagging_section.html) nel riferimento *alle API di Amazon S3*.

# Aggiunta di tag di processo a un processo di Operazioni in batch esistente
<a name="put-job-tags"></a>

È possibile utilizzare l'operazione API [https://docs.aws.amazon.com/AmazonS3/latest/API/API_control_PutJobTagging.html](https://docs.aws.amazon.com/AmazonS3/latest/API/API_control_PutJobTagging.html) per aggiungere tag ai processi esistenti di Operazioni in batch Amazon S3. Per maggiori informazioni, consulta i seguenti esempi.

## Usando il AWS CLI
<a name="batch-ops-example-cli-job-tags-put-job-tagging"></a>

Di seguito è riportato un esempio di utilizzo di `s3control put-job-tagging` per aggiungere tag al processo di Operazioni in batch S3 tramite AWS CLI. Per utilizzare gli esempi, sostituisci i caratteri *`user input placeholders`* con le tue informazioni.

**Nota**  
Se si invia questa richiesta con un set di tag vuoto, Operazioni in batch elimina il set di tag esistente sull'oggetto. Tuttavia, se si utilizza questo approccio, viene addebitato un costo per una richiesta di livello 1 (`PUT`). Per ulteriori informazioni, consulta [Prezzi di Amazon S3](https://aws.amazon.com/s3/pricing).  
Per eliminare i tag esistenti per il processo di Operazioni in batch, si consiglia di utilizzare l'operazione `DeleteJobTagging`, che consente di ottenere lo stesso risultato senza incorrere in spese.

1. Identificare il lavoro `TAGS` che si desidera per il lavoro. In questo caso, si applicano due tag `department` e `FiscalYear`, con i valori `Marketing` e `2020` rispettivamente.

   ```
   read -d '' TAGS <<EOF
   [
     {
       "Key": "department",
       "Value": "Marketing"
     },
     {
       "Key": "FiscalYear",
       "Value": "2020"
     }
   ]
   EOF
   ```

1. Esegui il seguente comando `put-job-tagging` con i parametri richiesti:

   ```
   aws \
       s3control put-job-tagging \
       --account-id 123456789012 \
       --tags "${TAGS//$'\n'/}" \
       --job-id Example-e25a-4ed2-8bee-7f8ed7fc2f1c \
       --region us-east-1
   ```

## Utilizzo dell' AWS SDK for Java
<a name="batch-ops-examples-java-job-with-tags-put"></a>

Per inserire tag in un job S3 Batch Operations utilizzando l' AWS SDK for Java, puoi utilizzare il client S3Control per aggiungere o aggiornare tag con coppie chiave-valore per scopi di organizzazione e tracciamento.

Per esempi di come inserire tag di lavoro con l' AWS SDK for Java, [consulta Aggiungere tag a un processo batch](https://docs.aws.amazon.com/AmazonS3/latest/API/s3-control_example_s3-control_PutJobTagging_section.html) *nell'Amazon S3 API Reference*.

# Recupero dei tag di processo di un processo S3 Batch Operations
<a name="get-job-tags"></a>

Per recuperare i tag di un processo di Operazioni in batch Amazon S3, si può utilizzare l'operazione API `GetJobTagging`. Per maggiori informazioni, consulta i seguenti esempi.

## Usando il AWS CLI
<a name="batch-ops-example-cli-job-tags-get-job-tagging"></a>

Nell'esempio seguente vengono recuperati i tag da un processo di operazioni in batch tramite la AWS CLI. Per utilizzare questo esempio, sostituisci *`user input placeholders`* con le informazioni appropriate.

```
aws \
    s3control get-job-tagging \
    --account-id 123456789012 \
    --job-id Example-e25a-4ed2-8bee-7f8ed7fc2f1c \
    --region us-east-1
```

## Utilizzo dell' AWS SDK for Java
<a name="batch-ops-examples-java-job-with-tags-get"></a>

Per ottenere i tag di un lavoro S3 Batch Operations utilizzando l' AWS SDK for Java, puoi utilizzare il client S3Control con l'ID del lavoro per recuperare tutti i tag associati al processo di operazioni batch e restituirli come elenco.

Per esempi su come ottenere tag di lavoro con l' AWS SDK for Java, [consulta Get tags from a batch](https://docs.aws.amazon.com/AmazonS3/latest/API/s3-control_example_s3-control_GetJobTagging_section.html) job in *Amazon S3 API Reference*.

# Controllo delle autorizzazioni per le operazioni in batch utilizzando i tag di processo
<a name="batch-ops-job-tags-examples"></a>

Per facilitare la gestione dei processi di Operazioni in batch Amazon S3, è possibile aggiungere *tag di processo*. Con i tag di processo, è possibile controllare l'accesso ai processi di operazioni in batch e imporre che i tag vengano applicati quando viene creato un processo. 

È possibile applicare fino a 50 tag di processo a ciascun processo di operazioni in batch. Utilizzando i tag, è possibile impostare policy granulari per limitare l'insieme degli utenti che possono modificare il processo. I tag di lavoro possono favorire o limitare la capacità di un utente di annullare un lavoro, attivare un lavoro in stato di conferma o cambiare il livello di priorità di un lavoro. Inoltre, è possibile applicare i tag a tutti i nuovi lavori e specificare le coppie chiave-valore consentite per i tag. È possibile esprimere tutte queste condizioni utilizzando il [linguaggio delle policy AWS Identity and Access Management (IAM)](https://docs.aws.amazon.com/IAM/latest/UserGuide/access_iam-tags.html). Per ulteriori informazioni, consulta [Azioni, risorse e chiavi di condizione per Amazon S3](https://docs.aws.amazon.com/service-authorization/latest/reference/list_amazons3.html) in *Riferimento alle autorizzazioni di servizio*.

Per ulteriori informazioni sulle autorizzazioni alle operazioni API S3 per tipi di risorse S3, consulta [Autorizzazioni necessarie per le operazioni API di Amazon S3](using-with-s3-policy-actions.md).

Nell'esempio seguente viene illustrato come utilizzare i tag di processo di operazioni in batch S3 per concedere agli utenti l'autorizzazione per la creazione e la modifica solo dei processi eseguiti all'interno di un reparto specifico (ad esempio, il reparto Finanza o Conformità). È inoltre possibile assegnare i lavori in base allo stadio di sviluppo a cui sono correlati, ad esempio QA o Produzione.

In questo esempio, si utilizzano i tag dei processi di Operazioni in batch S3 nelle policy IAM per concedere agli utenti l'autorizzazione a creare e modificare solo i processi eseguiti nel loro reparto. Assegnare i lavori in base alla fase di sviluppo a cui sono correlati, ad esempio QA o Produzione. 

Gli esempi che seguono utilizzano i seguenti reparti, ognuno dei quali utilizza Operazioni in batch in modo diverso:
+ Finanza
+ Conformità
+ Business Intelligence
+ Engineering (Progettazione)

**Topics**
+ [

## Controllo degli accessi mediante l'assegnazione di tag a utenti e risorse
](#job-tags-examples-attaching-tags)
+ [

## Tagging dei processi di operazioni in batch per fase e applicazione dei limiti sulla priorità del processo
](#tagging-jobs-by-stage-and-enforcing-limits-on-job-priority)

## Controllo degli accessi mediante l'assegnazione di tag a utenti e risorse
<a name="job-tags-examples-attaching-tags"></a>

In questo scenario, gli amministratori utilizzano il [controllo di accesso basato su attributi (ABAC)](https://docs.aws.amazon.com/IAM/latest/UserGuide/introduction_attribute-based-access-control.html). ABAC è una strategia di autorizzazione IAM che definisce le autorizzazioni allegando tag sia agli utenti che alle risorse. AWS 

Agli utenti e ai lavori viene assegnato uno dei seguenti tag reparto:

**Chiave: Valore)**
+ `department : Finance`
+ `department : Compliance`
+ `department : BusinessIntelligence`
+ `department : Engineering`
**Nota**  
I valori e le chiavi dei tag rispettano la distinzione tra maiuscole e minuscole.

Utilizzando la strategia di controllo degli accessi ABAC, concedi a un utente del reparto Finanza l'autorizzazione per la creazione e la gestione dei processi di operazioni in batch Amazon S3 all'interno del proprio reparto associando il tag `department=Finance` al relativo utente.

Inoltre, è possibile collegare una policy gestita all'utente IAM che consente a qualsiasi utente della propria azienda di creare o modificare processi di operazioni in batch Amazon S3 all'interno dei rispettivi reparti. 

La policy riportata in questo esempio include tre dichiarazioni di policy:
+ La prima istruzione della policy consente all'utente di creare un processo di operazioni in batch a condizione che la richiesta di creazione del processo includa un tag di processo corrispondente al rispettivo reparto. Si esprime utilizzando la sintassi `"${aws:PrincipalTag/department}"`, che viene sostituita dal tag reparto dell'utente al momento della valutazione delle policy. La condizione è soddisfatta quando il valore fornito per il tag reparto nella richiesta `("aws:RequestTag/department")` corrisponde al reparto dell'utente. 
+ La seconda istruzione della policy consente agli utenti di modificare la priorità dei lavori o di aggiornare lo stato di un lavoro a condizione che il lavoro che l'utente sta aggiornando corrisponda al reparto dell'utente. 
+ La terza istruzione consente a un utente di aggiornare i tag di un processo di operazioni in batch in qualsiasi momento tramite una richiesta `PutJobTagging`, purché (1) il tag del reparto sia conservato e (2) il processo che sta aggiornando sia all'interno del reparto. 

------
#### [ JSON ]

****  

```
{
      "Version":"2012-10-17",		 	 	 
      "Statement": [
            {
                  "Effect": "Allow",
                  "Action": "s3:CreateJob",
                  "Resource": "*",
                  "Condition": {
                        "StringEquals": {
                              "aws:RequestTag/department": "${aws:PrincipalTag/department}"        
                }      
            }    
        },
            {
                  "Effect": "Allow",
                  "Action": [
                        "s3:UpdateJobPriority",
                        "s3:UpdateJobStatus"      
            ],
                  "Resource": "*",
                  "Condition": {
                        "StringEquals": {
                              "aws:ResourceTag/department": "${aws:PrincipalTag/department}"        
                }      
            }    
        },
            {
                  "Effect": "Allow",
                  "Action": "s3:PutJobTagging",
                  "Resource": "*",
                  "Condition": {
                        "StringEquals": {
                              "aws:RequestTag/department": "${aws:PrincipalTag/department}",
                              "aws:ResourceTag/department": "${aws:PrincipalTag/department}"        
                }      
            }    
        }  
    ]
}
```

------

## Tagging dei processi di operazioni in batch per fase e applicazione dei limiti sulla priorità del processo
<a name="tagging-jobs-by-stage-and-enforcing-limits-on-job-priority"></a>

Tutti i processi di operazioni in batch Amazon S3 hanno una priorità numerica, che Amazon S3 utilizza per decidere in quale ordine eseguire i processi. In questo esempio, si limita la priorità massima che la maggior parte degli utenti può assegnare ai lavori, con intervalli di priorità più elevati riservati a un gruppo limitato di utenti con privilegi, come segue:
+ Intervallo di priorità dello stadio QA (basso): 1-100
+ Intervallo di priorità della fase di produzione (alto): 1-300

Per fare ciò, introdurre un nuovo set di tag che rappresenta la fase del lavoro:

**Chiave: Valore)**
+ `stage : QA`
+ `stage : Production`

### Creazione e aggiornamento di lavori con priorità bassa all'interno di un reparto
<a name="creating-and-updating-low-priority-jobs"></a>

Questa policy introduce due nuove restrizioni per la creazione e l'aggiornamento di processi di operazioni in batch S3, oltre alla restrizione basata sul reparto:
+ Consente agli utenti di creare o aggiornare lavori nel proprio reparto con una nuova condizione che richiede che il lavoro includa il tag `stage=QA`.
+ Consente agli utenti di creare o aggiornare la priorità di un lavoro fino a una nuova priorità massima di 100.

```
{
        "Version": "2012-10-17",		 	 	 
        "Statement": [
        {
        "Effect": "Allow",
        "Action": "s3:CreateJob",
        "Resource": "*",
        "Condition": {
            "StringEquals": {
                "aws:RequestTag/department": "${aws:PrincipalTag/department}",
                "aws:RequestTag/stage": "QA"
            },
            "NumericLessThanEquals": {
                "s3:RequestJobPriority": 100
            }
        }
    },
    {
        "Effect": "Allow",
        "Action": [
            "s3:UpdateJobStatus"
        ],
        "Resource": "*",
        "Condition": {
            "StringEquals": {
                "aws:ResourceTag/department": "${aws:PrincipalTag/department}"
            }
        }
    },
    {
        "Effect": "Allow",
        "Action": "s3:UpdateJobPriority",
        "Resource": "*",
        "Condition": {
            "StringEquals": {
                "aws:ResourceTag/department": "${aws:PrincipalTag/department}",
                "aws:ResourceTag/stage": "QA"
            },
            "NumericLessThanEquals": {
                "s3:RequestJobPriority": 100
            }
        }
    },
    {
        "Effect": "Allow",
        "Action": "s3:PutJobTagging",
        "Resource": "*",
        "Condition": {
            "StringEquals": {
                "aws:RequestTag/department" : "${aws:PrincipalTag/department}",
                "aws:ResourceTag/department": "${aws:PrincipalTag/department}",
                "aws:RequestTag/stage": "QA",
                "aws:ResourceTag/stage": "QA"
            }
        }
    },
    {
        "Effect": "Allow",
        "Action": "s3:GetJobTagging",
        "Resource": "*"
    }
    ]
}
```

### Creazione e aggiornamento di lavori ad alta priorità all'interno di un reparto
<a name="creating-and-updating-high-priority-jobs"></a>

Un numero ristretto di utenti potrebbe richiedere la possibilità di creare lavori con priorità elevata in QA o Produzione. Per supportare questa esigenza, è possibile creare una policy gestita adattata alla policy con priorità bassa nella sezione precedente. 

Questa policy esegue le seguenti operazioni: 
+ Consente agli utenti di creare o aggiornare lavori nel proprio reparto con il tag `stage=QA` o `stage=Production`.
+ Consente agli utenti di creare o aggiornare la priorità di un lavoro fino a un massimo di 300.

------
#### [ JSON ]

****  

```
{
      "Version":"2012-10-17",		 	 	 
      "Statement": [
          {
                "Effect": "Allow",
                "Action": "s3:CreateJob",
                "Resource": "*",
                "Condition": {
                      "ForAnyValue:StringEquals": {
                            "aws:RequestTag/stage": [
                                  "QA",
                                  "Production"        
                    ]      
                },
                      "StringEquals": {
                            "aws:RequestTag/department": "${aws:PrincipalTag/department}"      
                },
                      "NumericLessThanEquals": {
                            "s3:RequestJobPriority": 300      
                }    
            }  
        },
          {
                "Effect": "Allow",
                "Action": [
                      "s3:UpdateJobStatus"    
            ],
                "Resource": "*",
                "Condition": {
                      "StringEquals": {
                            "aws:ResourceTag/department": "${aws:PrincipalTag/department}"      
                }    
            }  
        },
          {
                "Effect": "Allow",
                "Action": "s3:UpdateJobPriority",
                "Resource": "*",
                "Condition": {
                      "ForAnyValue:StringEquals": {
                            "aws:ResourceTag/stage": [
                                  "QA",
                                  "Production"        
                    ]      
                },
                      "StringEquals": {
                            "aws:ResourceTag/department": "${aws:PrincipalTag/department}"      
                },
                      "NumericLessThanEquals": {
                            "s3:RequestJobPriority": 300      
                }    
            }  
        },
          {
                "Effect": "Allow",
                "Action": "s3:PutJobTagging",
                "Resource": "*",
                "Condition": {
                      "StringEquals": {
                            "aws:RequestTag/department": "${aws:PrincipalTag/department}",
                            "aws:ResourceTag/department": "${aws:PrincipalTag/department}"      
                },
                      "ForAnyValue:StringEquals": {
                            "aws:RequestTag/stage": [
                                  "QA",
                                  "Production"        
                    ],
                            "aws:ResourceTag/stage": [
                                  "QA",
                                  "Production"        
                    ]      
                }    
            }  
        }  
    ]
}
```

------

# Gestione del blocco oggetti S3 utilizzando S3 Batch Operations
<a name="managing-object-lock-batchops"></a>

È possibile utilizzare Operazioni in batch S3 per eseguire operazioni in batch su larga scala su oggetti Amazon S3. Le operazioni in batch S3 possono eseguire una singola operazione su elenchi di oggetti Amazon S3 specificati. Un solo processo può eseguire l'operazione specificata su miliardi di oggetti contenenti exabyte di dati. Amazon S3 tiene traccia dei progressi, invia notifiche e archivia un report dettagliato sul completamento di tutte le azioni, offrendo un'esperienza completamente gestita, verificabile e serverless. Puoi utilizzare S3 Batch Operations tramite la console Amazon S3 o l'API AWS CLI AWS SDKs REST di Amazon S3.

Con il blocco oggetti S3 è possibile inserire anche un blocco di carattere legale sulla versione di un oggetto. Analogamente all'impostazione di un periodo di conservazione, un blocco a di carattere legale impedisce che una versione di un oggetto venga sovrascritta o eliminata. Tuttavia, un blocco legale non ha un periodo di conservazione associato e rimane in vigore fino a quando non viene rimosso. Per ulteriori informazioni, consulta [Blocco di carattere legale del blocco oggetti S3](batch-ops-legal-hold.md).

Per utilizzare Operazioni in batch S3 con Object Lock per aggiungere le blocchi legali a molti oggetti Amazon S3 in una sola volta, consulta i seguenti argomenti.

**Topics**
+ [

# Abilitazione del blocco oggetti S3 utilizzando S3 Batch Operations
](batch-ops-object-lock.md)
+ [

# Impostazione della conservazione del blocco oggetti mediante Batch Operations
](batch-ops-object-lock-retention.md)
+ [

# Utilizzo delle operazioni in batch S3 con la modalità di conformità della conservazione del blocco oggetti S3
](batch-ops-compliance-mode.md)
+ [

# Utilizzare le operazioni in batch S3 con la modalità di governance della conservazione del blocco oggetti S3
](batch-ops-governance-mode.md)
+ [

# Utilizzo di Operazioni in batch S3 per disattivare i blocchi legali di S3 Object Lock
](batch-ops-legal-hold-off.md)

# Abilitazione del blocco oggetti S3 utilizzando S3 Batch Operations
<a name="batch-ops-object-lock"></a>

È possibile utilizzare Operazioni in batch Amazon S3 con S3 Object Lock per gestire la conservazione o attivare un blocco legale per molti oggetti Amazon S3 contemporaneamente. Si specifica l'elenco degli oggetti di destinazione nel manifesto e lo si invia a Operazioni in batch per il completamento. Per ulteriori informazioni, consultare [Conservazione Blocco oggetto S3](batch-ops-retention-date.md) e [Blocco di carattere legale del blocco oggetti S3](batch-ops-legal-hold.md). 

Gli esempi seguenti mostrano come creare un ruolo AWS Identity and Access Management (IAM) con autorizzazioni S3 Batch Operations e aggiornare le autorizzazioni del ruolo per creare lavori che abilitino Object Lock. È inoltre necessario disporre di un manifesto `CSV` che identifichi gli oggetti per il processo Operazioni in batch S3. Per ulteriori informazioni, consulta [Specifica di un manifest](batch-ops-create-job.md#specify-batchjob-manifest).

Per utilizzare gli esempi seguenti, sostituisci *`user input placeholders`* con le tue informazioni. 

## Usando il AWS CLI
<a name="batchops-example-cli-object-lock"></a>

1. Creare un ruolo IAM e assegnare autorizzazioni delle operazioni in batch S3 per l'esecuzione.

   Questa fase è necessaria per tutti i processi di operazioni in batch S3.

   ```
   export AWS_PROFILE='aws-user'
   
   read -d '' batch_operations_trust_policy <<EOF
   {
     "Version": "2012-10-17"		 	 	 ,		 	 	 TCX5-2025-waiver;,
     "Statement": [
       {
         "Effect": "Allow",
         "Principal": {
           "Service": [
             "batchoperations.s3.amazonaws.com"
           ]
         },
         "Action": "sts:AssumeRole"
       }
     ]
   }
   EOF
   aws iam create-role --role-name batch_operations-objectlock \
   --assume-role-policy-document "${batch_operations_trust_policy}"
   ```

1. Configurare le operazioni in batch S3 con il blocco oggetti S3 per l'esecuzione.

   In questa fase è possibile consentire al ruolo di eseguire le operazioni seguenti:

   1. Eseguire Object Lock sul bucket S3 che contiene gli oggetti di destinazione su cui eseguire Operazioni in batch.

   1. Leggere il bucket S3 in cui si trovano il file manifesto CSV e gli oggetti.

   1. Scrivi i risultati del processo di Operazioni in batch S3 nel bucket di reporting.

   ```
   read -d '' batch_operations_permissions <<EOF
   {
       "Version": "2012-10-17"		 	 	 ,		 	 	 TCX5-2025-waiver;,
       "Statement": [
           {
               "Effect": "Allow",
               "Action": "s3:GetBucketObjectLockConfiguration",
               "Resource": [
                   "arn:aws:s3:::{{amzn-s3-demo-manifest-bucket}}"
               ]
           },
           {
               "Effect": "Allow",
               "Action": [
                   "s3:GetObject",
                   "s3:GetObjectVersion",
                   "s3:GetBucketLocation"
               ],
               "Resource": [
                   "arn:aws:s3:::{{amzn-s3-demo-manifest-bucket}}/*"
               ]
           },
           {
               "Effect": "Allow",
               "Action": [
                   "s3:PutObject",
                   "s3:GetBucketLocation"
               ],
               "Resource": [
                   "arn:aws:s3:::{{amzn-s3-demo-completion-report-bucket}}/*"
               ]
           }
       ]
   }
   EOF
   
   aws iam put-role-policy --role-name batch_operations-objectlock \
   --policy-name object-lock-permissions \
   --policy-document "${batch_operations_permissions}"
   ```

## Utilizzo dell' AWS SDK for Java
<a name="batchops-examples-java-object-lock"></a>

È possibile creare un ruolo IAM con le autorizzazioni per Operazioni in batch S3 e aggiornare le autorizzazioni del ruolo per creare processi che abilitano Object Lock tramite AWS SDK per Java. È inoltre necessario disporre di un manifest `CSV` che identifichi gli oggetti per il processo di operazioni in batch S3. Per ulteriori informazioni, consulta [Specifica di un manifest](batch-ops-create-job.md#specify-batchjob-manifest).

Esegui queste fasi:

1. Creare un ruolo IAM e assegnare autorizzazioni delle operazioni in batch S3 per l'esecuzione. Questa fase è necessaria per tutti i processi di operazioni in batch S3.

1. Configurare Operazioni in batch S3 con S3 Object Lock per l'esecuzione.

   Consenti al ruolo di eseguire le seguenti operazioni:

   1. Eseguire il blocco oggetti sul bucket S3 che contiene gli oggetti di destinazione su cui eseguire le operazioni in batch.

   1. Leggere il bucket S3 in cui si trovano il file manifesto CSV e gli oggetti.

   1. Scrivi i risultati del processo di Operazioni in batch S3 nel bucket di reporting.

Per un esempio di codice che dimostra come creare un ruolo IAM per abilitare S3 Object Lock utilizzando S3 Batch Operations con AWS l'SDK for Java [CreateObjectLockRole,](https://github.com/awsdocs/aws-doc-sdk-examples/blob/main/javav2/example_code/s3/src/main/java/com/example/s3/batch/CreateObjectLockRole.java) consulta.java negli esempi di codice SDK *AWS for Java 2.x*.

# Impostazione della conservazione del blocco oggetti mediante Batch Operations
<a name="batch-ops-object-lock-retention"></a>

È possibile utilizzare Operazioni in batch Amazon S3 con S3 Object Lock per gestire la conservazione di più oggetti Amazon S3 contemporaneamente. Si specifica l'elenco degli oggetti di destinazione nel manifesto e lo si invia a Operazioni in batch per il completamento. Per ulteriori informazioni, consultare [Conservazione Blocco oggetto S3](batch-ops-retention-date.md) e [Blocco di carattere legale del blocco oggetti S3](batch-ops-legal-hold.md). 

Gli esempi seguenti mostrano come creare un ruolo AWS Identity and Access Management (IAM) con autorizzazioni S3 Batch Operations e aggiornare le autorizzazioni del ruolo per includere le autorizzazioni in modo da poter eseguire la `s3:PutObjectRetention` conservazione di S3 Object Lock sugli oggetti nel bucket manifest. È inoltre necessario disporre di un manifesto `CSV` che identifichi gli oggetti per il processo Operazioni in batch S3. Per ulteriori informazioni, consulta [Specifica di un manifest](batch-ops-create-job.md#specify-batchjob-manifest).

Per utilizzare gli esempi seguenti, sostituisci *`user input placeholders`* con le tue informazioni. 

## Usando il AWS CLI
<a name="batch-ops-cli-object-lock-retention-example"></a>

L' AWS CLI esempio seguente mostra come utilizzare Batch Operations per applicare la conservazione di S3 Object Lock su più oggetti.

```
export AWS_PROFILE='aws-user'

read -d '' retention_permissions <<EOF
{
    "Version": "2012-10-17"		 	 	 ,		 	 	 TCX5-2025-waiver;,
    "Statement": [
        {
            "Effect": "Allow",
            "Action": [
                "s3:PutObjectRetention"
            ],
            "Resource": [
                "arn:aws:s3:::{{amzn-s3-demo-manifest-bucket}}/*"
            ]
        }
    ]
}
EOF

aws iam put-role-policy --role-name batch_operations-objectlock --policy-name retention-permissions --policy-document "${retention_permissions}"
```

## Utilizzo dell' AWS SDK for Java
<a name="batch-ops-examples-java-object-lock-retention"></a>

Per esempi di come utilizzare Batch Operations per applicare la conservazione di S3 Object Lock su più oggetti con l' AWS SDK for Java, [consulta CreateJob Use with AWS an SDK o](https://docs.aws.amazon.com/AmazonS3/latest/API/s3-control_example_s3-control_CreateJob_section.html) *CLI nel Amazon* S3 API Reference.

# Utilizzo delle operazioni in batch S3 con la modalità di conformità della conservazione del blocco oggetti S3
<a name="batch-ops-compliance-mode"></a>

L'esempio seguente si basa sugli esempi precedenti di creazione di una policy di attendibilità e sull'impostazione delle autorizzazioni di configurazione di S3 Batch Operations e del blocco oggetti S3 per gli oggetti. Questo esempio imposta la modalità di conservazione su `COMPLIANCE` e `retain until date` il 1° gennaio 2025. Questo esempio crea un processo che ha come target gli oggetti del bucket manifesto e riporta i risultati nel bucket del report identificato.

Per utilizzare gli esempi seguenti, sostituisci *`user input placeholders`* con le tue informazioni. 

## Utilizzando il AWS CLI
<a name="batch-ops-cli-object-lock-compliance-example"></a>

 AWS CLI Gli esempi seguenti mostrano come utilizzare Batch Operations per applicare la modalità di conformità alla conservazione di S3 Object Lock su più oggetti.

**Example - Impostazione della modalità di conformità di conservazione S3 Object Lock per più oggetti**  

```
export AWS_PROFILE='aws-user'
export AWS_DEFAULT_REGION='us-west-2'
export ACCOUNT_ID=123456789012
export ROLE_ARN='arn:aws:iam::123456789012:role/batch_operations-objectlock'

read -d '' OPERATION <<EOF
{
  "S3PutObjectRetention": {
    "Retention": {
      "RetainUntilDate":"2025-01-01T00:00:00",
      "Mode":"COMPLIANCE"
    }
  }
}
EOF

read -d '' MANIFEST <<EOF
{
  "Spec": {
    "Format": "S3BatchOperations_CSV_20180820",
    "Fields": [
      "Bucket",
      "Key"
    ]
  },
  "Location": {
    "ObjectArn": "arn:aws:s3:::amzn-s3-demo-manifest-bucket/compliance-objects-manifest.csv",
    "ETag": "Your-manifest-ETag"
  }
}
EOF

read -d '' REPORT <<EOF
{
  "Bucket": "arn:aws:s3:::ReportBucket",
  "Format": "Report_CSV_20180820",
  "Enabled": true,
  "Prefix": "amzn-s3-demo-completion-report-bucket/compliance-objects-batch-operations",
  "ReportScope": "AllTasks"
}
EOF

aws \
    s3control create-job \
    --account-id "${ACCOUNT_ID}" \
    --manifest "${MANIFEST//$'\n'}" \
    --operation "${OPERATION//$'\n'/}" \
    --report "${REPORT//$'\n'}" \
    --priority 10 \
    --role-arn "${ROLE_ARN}" \
    --client-request-token "$(uuidgen)" \
    --region "${AWS_DEFAULT_REGION}" \
    --description "Set compliance retain-until to 1 Jul 2030";
```

**Example - Estensione del valore `retain until date` della modalità `COMPLIANCE` al 15 gennaio 2025**  
L'esempio seguente estende la `COMPLIANCE` della modalità `retain until date` al 15 gennaio 2025.  

```
export AWS_PROFILE='aws-user'
export AWS_DEFAULT_REGION='us-west-2'
export ACCOUNT_ID=123456789012
export ROLE_ARN='arn:aws:iam::123456789012:role/batch_operations-objectlock'

read -d '' OPERATION <<EOF
{
  "S3PutObjectRetention": {
    "Retention": {
      "RetainUntilDate":"2025-01-15T00:00:00",
      "Mode":"COMPLIANCE"
    }
  }
}
EOF

read -d '' MANIFEST <<EOF
{
  "Spec": {
    "Format": "S3BatchOperations_CSV_20180820",
    "Fields": [
      "Bucket",
      "Key"
    ]
  },
  "Location": {
    "ObjectArn": "arn:aws:s3:::amzn-s3-demo-manifest-bucket/compliance-objects-manifest.csv",
    "ETag": "Your-manifest-ETag"
  }
}
EOF

read -d '' REPORT <<EOF
{
  "Bucket": "arn:aws:s3:::amzn-s3-demo-completion-report-bucket",
  "Format": "Report_CSV_20180820",
  "Enabled": true,
  "Prefix": "reports/compliance-objects-batch_operations",
  "ReportScope": "AllTasks"
}
EOF

aws \
    s3control create-job \
    --account-id "${ACCOUNT_ID}" \
    --manifest "${MANIFEST//$'\n'}" \
    --operation "${OPERATION//$'\n'/}" \
    --report "${REPORT//$'\n'}" \
    --priority 10 \
    --role-arn "${ROLE_ARN}" \
    --client-request-token "$(uuidgen)" \
    --region "${AWS_DEFAULT_REGION}" \
    --description "Extend compliance retention to 15 Jan 2025";
```

## Utilizzo dell' AWS SDK for Java
<a name="batch-ops-examples-java-object-lock-compliance"></a>

I seguenti esempi di AWS SDK for Java mostrano come utilizzare Batch Operations per applicare la modalità di conformità alla conservazione di S3 Object Lock su più oggetti, inclusa l'impostazione della modalità di conservazione su COMPLIANCE con una retention until date e l'estensione della modalità COMPLIANCE keep until date.

Per esempi di come utilizzare Batch Operations per applicare la modalità di conformità alla conservazione di S3 Object Lock su più oggetti con l' AWS SDK for Java, [consulta CreateJob Use with AWS an SDK o](https://docs.aws.amazon.com/AmazonS3/latest/API/s3-control_example_s3-control_CreateJob_section.html) *CLI nel Amazon* S3 API Reference.

# Utilizzare le operazioni in batch S3 con la modalità di governance della conservazione del blocco oggetti S3
<a name="batch-ops-governance-mode"></a>

L'esempio seguente si basa sull'esempio precedente di creazione di una policy di attendibilità e sull'impostazione delle autorizzazioni di configurazione di Operazioni in batch S3 e S3 Object Lock. Questo esempio mostra come applicare la governance di conservazione S3 Object Lock con `retain until date` il 30 gennaio 2025, su più oggetti. Crea un processo di operazioni in batch che utilizza il bucket manifest e notifica i risultati nel bucket dei report.

Per utilizzare gli esempi seguenti, sostituisci *`user input placeholders`* con le tue informazioni. 

## Utilizzando il AWS CLI
<a name="batch-ops-cli-object-lock-governance-example"></a>

 AWS CLI Gli esempi seguenti mostrano come utilizzare Batch Operations per applicare la modalità di governance della conservazione di S3 Object Lock su più oggetti.

**Example - Applicazione della governance di conservazione S3 Object Lock a più oggetti con la data di conservazione fino al 30 gennaio 2025**  

```
export AWS_PROFILE='aws-user'
export AWS_DEFAULT_REGION='us-west-2'
export ACCOUNT_ID=123456789012
export ROLE_ARN='arn:aws:iam::123456789012:role/batch_operations-objectlock'

read -d '' OPERATION <<EOF
{
  "S3PutObjectRetention": {
    "Retention": {
      "RetainUntilDate":"2025-01-30T00:00:00",
      "Mode":"GOVERNANCE"
    }
  }
}
EOF

read -d '' MANIFEST <<EOF
{
  "Spec": {
    "Format": "S3BatchOperations_CSV_20180820",
    "Fields": [
      "Bucket",
      "Key"
    ]
  },
  "Location": {
    "ObjectArn": "arn:aws:s3:::amzn-s3-demo-manifest-bucket/governance-objects-manifest.csv",
    "ETag": "Your-manifest-ETag"
  }
}
EOF

read -d '' REPORT <<EOF
{
  "Bucket": "arn:aws:s3:::amzn-s3-demo-completion-report-bucketT",
  "Format": "Report_CSV_20180820",
  "Enabled": true,
  "Prefix": "reports/governance-objects",
  "ReportScope": "AllTasks"
}
EOF

aws \
    s3control create-job \
    --account-id "${ACCOUNT_ID}" \
    --manifest "${MANIFEST//$'\n'}" \
    --operation "${OPERATION//$'\n'/}" \
    --report "${REPORT//$'\n'}" \
    --priority 10 \
    --role-arn "${ROLE_ARN}" \
    --client-request-token "$(uuidgen)" \
    --region "${AWS_DEFAULT_REGION}" \
    --description "Put governance retention";
```

**Example - Bypass della governance di conservazione su più oggetti**  
L'esempio seguente si basa sull'esempio precedente di creazione di una policy di attendibilità e sull'impostazione delle autorizzazioni di configurazione di Operazioni in batch S3 e S3 Object Lock. Viene illustrato come ignorare la governance della conservazione tra più oggetti e creare un processo di operazioni in batch che utilizza il bucket manifest e notifica i risultati nel bucket dei report.  

```
export AWS_PROFILE='aws-user'

read -d '' bypass_governance_permissions <<EOF
{
    "Version": "2012-10-17"		 	 	 ,		 	 	 TCX5-2025-waiver;,
    "Statement": [
        {
            "Effect": "Allow",
            "Action": [
                "s3:BypassGovernanceRetention"
            ],
            "Resource": [
                "arn:aws:s3:::amzn-s3-demo-manifest-bucket/*"
            ]
        }
    ]
}
EOF

aws iam put-role-policy --role-name batch-operations-objectlock --policy-name bypass-governance-permissions --policy-document "${bypass_governance_permissions}"

export AWS_PROFILE='aws-user'
export AWS_DEFAULT_REGION='us-west-2'
export ACCOUNT_ID=123456789012
export ROLE_ARN='arn:aws:iam::123456789012:role/batch_operations-objectlock'

read -d '' OPERATION <<EOF
{
  "S3PutObjectRetention": {
    "BypassGovernanceRetention": true,
    "Retention": {
    }
  }
}
EOF

read -d '' MANIFEST <<EOF
{
  "Spec": {
    "Format": "S3BatchOperations_CSV_20180820",
    "Fields": [
      "Bucket",
      "Key"
    ]
  },
  "Location": {
    "ObjectArn": "arn:aws:s3:::amzn-s3-demo-manifest-bucket/governance-objects-manifest.csv",
    "ETag": "Your-manifest-ETag"
  }
}
EOF

read -d '' REPORT <<EOF
{
  "Bucket": "arn:aws:s3:::amzn-s3-demo-completion-report-bucket",
  "Format": "Report_CSV_20180820",
  "Enabled": true,
  "Prefix": "reports/batch_operations-governance",
  "ReportScope": "AllTasks"
}
EOF

aws \
    s3control create-job \
    --account-id "${ACCOUNT_ID}" \
    --manifest "${MANIFEST//$'\n'}" \
    --operation "${OPERATION//$'\n'/}" \
    --report "${REPORT//$'\n'}" \
    --priority 10 \
    --role-arn "${ROLE_ARN}" \
    --client-request-token "$(uuidgen)" \
    --region "${AWS_DEFAULT_REGION}" \
    --description "Remove governance retention";
```

## Utilizzo dell' AWS SDK for Java
<a name="batch-ops-examples-java-object-lock-governance"></a>

I seguenti esempi di AWS SDK for Java mostrano come applicare la governance di conservazione di S3 Object Lock con data di conservazione impostata `retain until date` al 30 gennaio 2025 su più oggetti, inclusa l'applicazione della governance di conservazione di Object Lock su più oggetti con una data di conservazione fino al 30 gennaio 2025 e l'aggiramento della governance di conservazione su più oggetti.

Per esempi di come utilizzare Batch Operations con la modalità di retention governance di S3 Object Lock con l' AWS SDK for Java, [consulta CreateJob Use with AWS an SDK o](https://docs.aws.amazon.com/AmazonS3/latest/API/s3-control_example_s3-control_CreateJob_section.html) *CLI nel Amazon* S3 API Reference.

# Utilizzo di Operazioni in batch S3 per disattivare i blocchi legali di S3 Object Lock
<a name="batch-ops-legal-hold-off"></a>

L'esempio seguente si basa sugli esempi precedenti di creazione di una policy di attendibilità e sull'impostazione delle autorizzazioni di configurazione di operazioni in batch S3 e del blocco oggetti S3. Questo esempio mostra come disattivare il blocco legale Object Lock degli oggetti utilizzando Operazioni in batch. 

Nell'esempio viene innanzitutto aggiornato il ruolo per concedere le autorizzazioni `s3:PutObjectLegalHold`, viene creato un processo di operazioni in batch che disattiva (rimuove) il blocco di carattere legale dagli oggetti identificati nel manifest, quindi viene inviata una segnalazione.

Per utilizzare gli esempi seguenti, sostituisci *`user input placeholders`* con le tue informazioni. 

## Usando il AWS CLI
<a name="batch-ops-cli-object-lock-legalhold-example"></a>

 AWS CLI Gli esempi seguenti mostrano come utilizzare Batch Operations per disattivare i blocchi legali di S3 Object Lock su più oggetti.

**Example - Aggiornamento del ruolo per concedere le autorizzazioni di `s3:PutObjectLegalHold`**  

```
export AWS_PROFILE='aws-user'

read -d '' legal_hold_permissions <<EOF
{
    "Version": "2012-10-17"		 	 	 ,		 	 	 TCX5-2025-waiver;,
    "Statement": [
        {
            "Effect": "Allow",
            "Action": [
                "s3:PutObjectLegalHold"
            ],
            "Resource": [
                "arn:aws:s3:::amzn-s3-demo-manifest-bucket/*"
            ]
        }
    ]

EOF

aws iam put-role-policy --role-name batch_operations-objectlock --policy-name legal-hold-permissions --policy-document "${legal_hold_permissions}"
```

**Example - Disattivazione del blocco legale**  
Nell'esempio seguente viene disattivato il blocco di carattere legale.  

```
export AWS_PROFILE='aws-user'
export AWS_DEFAULT_REGION='us-west-2'
export ACCOUNT_ID=123456789012
export ROLE_ARN='arn:aws:iam::123456789012:role/batch_operations-objectlock'

read -d '' OPERATION <<EOF
{
  "S3PutObjectLegalHold": {
    "LegalHold": {
      "Status":"OFF"
    }
  }
}
EOF

read -d '' MANIFEST <<EOF
{
  "Spec": {
    "Format": "S3BatchOperations_CSV_20180820",
    "Fields": [
      "Bucket",
      "Key"
    ]
  },
  "Location": {
    "ObjectArn": "arn:aws:s3:::amzn-s3-demo-manifest-bucket/legalhold-object-manifest.csv",
    "ETag": "Your-manifest-ETag"
  }
}
EOF

read -d '' REPORT <<EOF
{
  "Bucket": "arn:aws:s3:::amzn-s3-demo-completion-report-bucket",
  "Format": "Report_CSV_20180820",
  "Enabled": true,
  "Prefix": "reports/legalhold-objects-batch_operations",
  "ReportScope": "AllTasks"
}
EOF

aws \
    s3control create-job \
    --account-id "${ACCOUNT_ID}" \
    --manifest "${MANIFEST//$'\n'}" \
    --operation "${OPERATION//$'\n'/}" \
    --report "${REPORT//$'\n'}" \
    --priority 10 \
    --role-arn "${ROLE_ARN}" \
    --client-request-token "$(uuidgen)" \
    --region "${AWS_DEFAULT_REGION}" \
    --description "Turn off legal hold";
```

## Utilizzo dell' AWS SDK for Java
<a name="batch-ops-examples-java-object-lock-legalhold"></a>

*Per esempi di come utilizzare S3 Batch Operations per disattivare la conservazione legale di S3 Object Lock con l' AWS SDK for Java, consulta [Use CreateJob with an SDK AWS o CLI nel](https://docs.aws.amazon.com/AmazonS3/latest/API/s3-control_example_s3-control_CreateJob_section.html) Amazon S3 API Reference.*

# Tutorial: transcodifica in batch dei video con Operazioni in batch S3
<a name="tutorial-s3-batchops-lambda-mediaconvert-video"></a>

I consumatori di video utilizzano dispositivi di tutte le forme, dimensioni ed età per godere dei contenuti multimediali. Questa vasta gamma di dispositivi rappresenta una sfida per i creatori e i distributori di contenuti. Invece di essere in un one-size-fits-all formato, i video devono essere convertiti in modo che possano coprire un'ampia gamma di dimensioni, formati e bitrate. Questa operazione di conversione è ancora più difficile quando si dispone di un numero elevato di video che devono essere convertiti.

AWS offre un metodo per creare un'architettura scalabile e distribuita che esegue le seguenti operazioni: 
+ Importa video di input
+ Elabora i video per la riproduzione su un'ampia gamma di dispositivi
+ Memorizza i file multimediali transcodificati
+ Fornisce i file multimediali di output per soddisfare la domanda

Quando hai repository video di grandi dimensioni archiviati in Amazon S3, puoi transcodificare questi video dal loro formato di origine in più tipi di file nelle dimensioni, nella risoluzione o nel formato necessario per un determinato lettore video o dispositivo. In particolare, [S3 Batch Operations](https://aws.amazon.com/s3/features/batch-operations) offre una soluzione per richiamare AWS Lambda funzioni per i video di input esistenti in un bucket sorgente S3. Quindi, le funzioni Lambda richiamano [AWS Elemental MediaConvert](https://aws.amazon.com/mediaconvert/) perché esegua processi di transcodifica di video su larga scala. I file multimediali di output convertiti sono archiviati in un bucket di destinazione S3. 

![\[Diagramma del flusso di lavoro della transcodifica batch.\]](http://docs.aws.amazon.com/it_it/AmazonS3/latest/userguide/images/batchops-example-image-global.png)


**Obiettivo**  
In questa esercitazione imparerai a impostare le operazioni in batch S3 per richiamare una funzione Lambda per la transcodificazione in batch di video memorizzati in un bucket S3 di origine. La funzione Lambda chiama MediaConvert per transcodificare i video. Gli output per ogni video nel bucket S3 di origine hanno le caratteristiche mostrate di seguito:
+ Un flusso di bitrate adattivo [HTTP Live Streaming (HLS)](http://wikipedia.org/wiki/HTTP_Live_Streaming) per la riproduzione su dispositivi di dimensioni multiple e con larghezza di banda variabile.
+ Un file video MP4 
+ Immagini in miniatura raccolte a intervalli

**Topics**
+ [

## Prerequisiti
](#batchops-s3-prerequisites)
+ [

## Fase 1: Creazione di un bucket S3 per i file multimediali di output
](#batchops-s3-step1)
+ [

## Fase 2: Creare un ruolo IAM per MediaConvert
](#batchops-s3-step2)
+ [

## Fase 3: creazione di un ruolo IAM per la funzione Lambda
](#batchops-s3-step3)
+ [

## Fase 4: Creazione di una funzione Lambda per la transcodifica dei video
](#batchops-s3-step4)
+ [

## Fase 5: Configurazione dell'inventario Amazon S3 per il bucket S3 di origine
](#batchops-s3-step5)
+ [

## Fase 6: creazione di un ruolo IAM per le operazioni in batch S3
](#batchops-s3-step6)
+ [

## Fase 7: creazione ed esecuzione di un processo di operazioni in batch S3
](#batchops-s3-step7)
+ [

## Fase 8: Controllo dei file multimediali di output dal bucket S3 di destinazione
](#batchops-s3-step8)
+ [

## Fase 9: Pulizia
](#batchops-s3-step9)
+ [

## Fasi successive
](#batchops-s3-next-steps)

## Prerequisiti
<a name="batchops-s3-prerequisites"></a>

Prima di iniziare questo tutorial, devi disporre di un bucket Amazon S3 di origine (ad esempio, `amzn-s3-demo-source-bucket`) dove siano già archiviati video da transcodificare.

Se lo desideri, puoi assegnare al bucket un altro nome. Per ulteriori informazioni sulle regole di denominazione dei bucket in Amazon S3, consulta [Regole di denominazione dei bucket per uso generico](bucketnamingrules.md).

Per il bucket S3 di origine, mantieni le impostazioni relative a **Impostazioni di blocco dell'accesso pubblico per questo bucket** sui valori di default (l'opzione **Blocca *tutto* l'accesso pubblico** è abilitata). Per ulteriori informazioni, consulta [Creazione di un bucket per uso generico](create-bucket-overview.md). 

Per ulteriori informazioni sul caricamento di video nel bucket S3 di origine, consulta [Caricamento degli oggetti](upload-objects.md). Quando carichi un video in S3, puoi anche possibile utilizzare [Amazon S3 Transfer Acceleration](https://aws.amazon.com/s3/transfer-acceleration) per configurare trasferimenti di file veloci e sicuri. Transfer Acceleration può velocizzare il caricamento dei video nel bucket S3 per il trasferimento a lunga distanza di video di grandi dimensioni. Per ulteriori informazioni, consulta [Configurazione di trasferimenti veloci e sicuri di file con Amazon S3 Transfer Acceleration](transfer-acceleration.md). 

## Fase 1: Creazione di un bucket S3 per i file multimediali di output
<a name="batchops-s3-step1"></a>

In questa fase, viene creato un bucket S3 di destinazione per archiviare i file multimediali di output convertiti. Puoi inoltre creare una configurazione per l'abilitazione della condivisione di risorse multiorigine (CORS, Cross Origin Resource Sharing) per permettere l'accesso tra origini ai file multimediali transcodificati archiviati nel bucket S3 di destinazione. 

**Topics**
+ [

### Creazione di un bucket per i file multimediali di output
](#batchops-s3-step1-create-bucket)
+ [

### Aggiunta di una configurazione CORS a un bucket S3 di output
](#batchops-s3-step1-cors)

### Creazione di un bucket per i file multimediali di output
<a name="batchops-s3-step1-create-bucket"></a>



1. Accedi a Console di gestione AWS e apri la console Amazon S3 all'indirizzo. [https://console.aws.amazon.com/s3/](https://console.aws.amazon.com/s3/)

1. Nel pannello di navigazione a sinistra, scegli **Buckets** (Bucket).

1. Seleziona **Crea bucket**. 

1. Per **Nome bucket**, specifica un nome per il bucket, ad esempio `amzn-s3-demo-destination-bucket1`. 

1. Per la **regione**, scegli Regione AWS dove vuoi che risieda il bucket. 

1. Per garantire l'accesso pubblico ai file multimediali di output, in **Block Public Access settings for this bucket** (Impostazioni di blocco dell'accesso pubblico per questo bucket), deseleziona **Block *all* public access** (Blocca tutto l'accesso pubblico). 
**avvertimento**  
Prima di completare questa fase, consulta [Blocco dell'accesso pubblico allo storage Amazon S3](access-control-block-public-access.md) per confermare di avere compreso e accettato i rischi connessi alla concessione di un accesso pubblico. Quando si disattivano le impostazioni di blocco dell'accesso pubblico per rendere pubblico il bucket, chiunque su Internet può accedere al bucket. Consigliamo di bloccare tutti gli accessi pubblici ai bucket.  
Se non desideri cancellare le impostazioni Block Public Access, puoi utilizzare Amazon CloudFront per distribuire i file multimediali transcodificati agli spettatori (utenti finali). Per ulteriori informazioni, consulta [Tutorial: hosting di video in streaming su richiesta con Amazon S3, Amazon e CloudFront Amazon Route 53](tutorial-s3-cloudfront-route53-video-streaming.md). 

1. Seleziona la casella di controllo accanto a **I acknowledge that the current settings might result in this bucket and the objects within becoming public. (Riconosco che le impostazioni correnti possono portare il bucket e gli oggetti all'interno a diventare pubblici)**.

1. Mantieni le impostazioni rimanenti impostate sui valori predefiniti. 

1. Seleziona **Crea bucket**.

### Aggiunta di una configurazione CORS a un bucket S3 di output
<a name="batchops-s3-step1-cors"></a>

Una configurazione JSON CORS definisce un metodo con cui le applicazioni Web client (lettori video in questo contesto) caricate in un dominio possono riprodurre file multimediali di output transcodificati in un dominio differente. 

1. Accedi a Console di gestione AWS e apri la console Amazon S3 all'indirizzo. [https://console.aws.amazon.com/s3/](https://console.aws.amazon.com/s3/)

1. Nel pannello di navigazione a sinistra, scegli **Buckets** (Bucket).

1. Nell'elenco **Bucket** scegli il nome del bucket creato in precedenza (ad esempio, `amzn-s3-demo-destination-bucket1`).

1. Scegli la scheda **Autorizzazioni**.

1. Nella sezione **Cross-Origin Resource Sharing (CORS)** scegliere **Edit (Modifica)**.

1. Nella casella di testo della configurazione CORS, copia e incolla la nuova configurazione CORS mostrata di seguito.

   La configurazione CORS deve essere in formato JSON. In questo esempio, l'attributo `AllowedOrigins` utilizza il carattere jolly (`*`) per specificare tutte le origini. Se conosci la tua origine specifica, puoi limitare l'attributo `AllowedOrigins` all'URL del lettore specifico. Per ulteriori informazioni sulla configurazione di questo e altri attributi, consulta [Elementi di una configurazione CORS](ManageCorsUsing.md).

   ```
   [
       {
           "AllowedOrigins": [
               "*"
           ],
           "AllowedMethods": [
               "GET"
           ],
           "AllowedHeaders": [
               "*"
           ],
           "ExposeHeaders": []
   
       }
   ]
   ```

1. Scegli **Save changes** (Salva modifiche).

## Fase 2: Creare un ruolo IAM per MediaConvert
<a name="batchops-s3-step2"></a>

Per poter AWS Elemental MediaConvert transcodificare i video di input archiviati nel bucket S3, devi avere un ruolo di servizio AWS Identity and Access Management (IAM) che conceda MediaConvert le autorizzazioni per leggere e scrivere file video da e verso i bucket di origine e destinazione S3. Quando esegui lavori di transcodifica, la console utilizza questo ruolo. MediaConvert 

**Per creare un ruolo IAM per MediaConvert**

1. Crea un ruolo IAM scegliendo un nome di ruolo (ad esempio, **tutorial-mediaconvert-role**). Per creare questo ruolo, segui i passaggi in [Crea il tuo MediaConvert ruolo in IAM (console)](https://docs.aws.amazon.com/mediaconvert/latest/ug/creating-the-iam-role-in-iam.html) nella *Guida per l'AWS Elemental MediaConvert utente*.

1. Dopo aver creato il ruolo IAM per MediaConvert, nell'elenco dei **ruoli**, scegli il nome del ruolo per MediaConvert cui hai creato (ad esempio,**tutorial-mediaconvert-role**).

1. Nella pagina **Riepilogo**, copia l'**ARN ruolo** (che inizia con `arn:aws:iam::`) e salva l'ARN per utilizzarlo in un secondo momento. 

   Per ulteriori informazioni in merito ARNs, consulta [Amazon Resource Names (ARNs)](https://docs.aws.amazon.com/general/latest/gr/aws-arns-and-namespaces.html) nella *AWS Guida generale*. 

## Fase 3: creazione di un ruolo IAM per la funzione Lambda
<a name="batchops-s3-step3"></a>

Per transcodificare in batch i video con e MediaConvert S3 Batch Operations, usi una funzione Lambda per connettere questi due servizi e convertire i video. Questa funzione Lambda deve avere un ruolo IAM che conceda alla funzione Lambda le autorizzazioni di accesso e le operazioni in batch di S3. MediaConvert 

**Topics**
+ [

### Creazione di un ruolo IAM per la funzione Lambda
](#batchops-s3-step3-role)
+ [

### Incorporazione di una policy inline per il ruolo IAM della funzione Lambda
](#batchops-s3-step3-inline-policy)

### Creazione di un ruolo IAM per la funzione Lambda
<a name="batchops-s3-step3-role"></a>

1. Accedi Console di gestione AWS e apri la console IAM all'indirizzo. [https://console.aws.amazon.com/iam/](https://console.aws.amazon.com/iam/)

1. Nel pannello di navigazione a sinistra, scegli **Ruoli**, quindi **Crea ruolo**. 

1. Scegli il tipo di ruolo **Servizio AWS ** dopodiché in **Casi d'uso comuni** scegli **Lambda**. 

1. Scegli **Successivo: autorizzazioni**. 

1. Sulla pagina **Collega policy di autorizzazioni**, immetti **AWSLambdaBasicExecutionRole** nella casella **Filtra policy**. Per allegare la policy gestita **AWSLambdaBasicExecutionRole**a questo ruolo per concedere le autorizzazioni di scrittura ad Amazon CloudWatch Logs, seleziona la casella di controllo accanto a. **AWSLambdaBasicExecutionRole**

1. Scegli **Next (Successivo)**.

1. Per **Nome ruolo**, inserisci **tutorial-lambda-transcode-role**.

1. (Facoltativo) Aggiungi i tag alla policy gestita.

1. Scegli **Crea ruolo**.

### Incorporazione di una policy inline per il ruolo IAM della funzione Lambda
<a name="batchops-s3-step3-inline-policy"></a>

Per concedere le autorizzazioni alla MediaConvert risorsa necessaria per l'esecuzione della funzione Lambda, è necessario utilizzare una policy in linea.

1. Accedi Console di gestione AWS e apri la console IAM all'indirizzo. [https://console.aws.amazon.com/iam/](https://console.aws.amazon.com/iam/)

1. Nel pannello di navigazione a sinistra, seleziona **Ruoli**. 

1. Nell'elenco **Ruoli** scegli il nome del ruolo IAM creato in precedenza per la funzione Lambda (ad esempio, **tutorial-lambda-transcode-role**).

1. Scegliere la scheda **Permissions (Autorizzazioni)**.

1. Scegliere **Add inline policy (Aggiungi policy inline)**.

1. Scegli la scheda **JSON** e copia e incolla la seguente policy JSON.

   Nella policy JSON, sostituisci il valore ARN di esempio `Resource` di con il ruolo ARN del ruolo IAM MediaConvert per il quale hai creato [nella Fase](#batchops-s3-step2) 2 (ad esempio,). **tutorial-mediaconvert-role**

------
#### [ JSON ]

****  

   ```
   {
       "Version":"2012-10-17",		 	 	 
       "Statement": [
           {
               "Action": [
                   "logs:CreateLogGroup",
                   "logs:CreateLogStream",
                   "logs:PutLogEvents"
               ],
               "Resource": "*",
               "Effect": "Allow",
               "Sid": "Logging"
           },
           {
               "Action": [
                   "iam:PassRole"
               ],
               "Resource": [
                   "arn:aws:iam::111122223333:role/tutorial-mediaconvert-role"
               ],
               "Effect": "Allow",
               "Sid": "PassRole"
           },
           {
               "Action": [
                   "mediaconvert:*"
               ],
               "Resource": [
                   "*"
               ],
               "Effect": "Allow",
               "Sid": "MediaConvertService"
           },
           {
               "Action": [
                   "s3:*"
               ],
               "Resource": [
                   "*"
               ],
               "Effect": "Allow",
               "Sid": "S3Service"
           }
       ]
   }
   ```

------

1. Scegli **Esamina la policy**.

1. In **Nome**, inserisci **tutorial-lambda-policy**.

1. Scegli **Crea policy**.

   Una volta creata, la policy inline viene automaticamente incorporata nel ruolo IAM della funzione Lambda.

## Fase 4: Creazione di una funzione Lambda per la transcodifica dei video
<a name="batchops-s3-step4"></a>

In questa sezione del tutorial, crei una funzione Lambda utilizzando l'SDK per Python per l'integrazione con S3 Batch Operations e. MediaConvert Per iniziare a transcodificare i video già archiviati nel bucket S3 di origine, esegui un processo di operazioni in batch S3 che richiama direttamente la funzione Lambda per ogni video nel bucket S3 di origine. Quindi, la funzione Lambda invia un processo di transcodifica per ogni video a. MediaConvert

**Topics**
+ [

### Scrittura del codice della funzione Lambda e creazione di un pacchetto di implementazione
](#batchops-s3-step4-write-function)
+ [

### Creare una funzione Lambda con un ruolo di esecuzione (console)
](#batchops-s3-step4-create-function)
+ [

### Implementa la tua funzione Lambda con gli archivi in file .zip e configura la funzione Lambda (console)
](#batchops-s3-step4-deploy-function)

### Scrittura del codice della funzione Lambda e creazione di un pacchetto di implementazione
<a name="batchops-s3-step4-write-function"></a>

1. Nel computer locale, crea un cartella denominata `batch-transcode`.

1. Nella cartella `batch-transcode`, crea un file con le impostazioni del processo JSON. Ad esempio, è possibile utilizzare le impostazioni fornite in questa sezione e denominare il file `job.json`. 

   Un file `job.json` specifica le seguenti informazioni: 
   + Quali file transcodificare
   + Come transcodificare i tuoi video di input
   + Quali file multimediali di output si desidera creare
   + Come denominare i file transcodificati
   + Dove salvare i file transcodificati
   + Le funzioni avanzate da applicare e così via.

   In questo tutorial utilizziamo il seguente file `job.json` per creare i seguenti output per ogni video del bucket S3 di origine:
   + Un flusso di bitrate adattivo HTTP Live Streaming (HLS) per la riproduzione su dispositivi di dimensioni differenti e con larghezza di banda variabile.
   + Un file video MP4 
   + Immagini in miniatura raccolte a intervalli

   Questo file `job.json` di esempio utilizza il bitrate della variabile definita dalla qualità (QVCR, Quality-Defined Variable Bitrate) per ottimizzare la qualità del video. L'output HTTP Live Streaming (HLS) è conforme a Apple (audio non mixato al video, durata del segmento corretta di 6 secondi e qualità video ottimizzata tramite QVBR automatico). 

   Se non si desidera utilizzare le impostazioni di esempio fornite qui, è possibile generare una specifica `job.json` basata sul proprio caso d'uso. Per garantire la coerenza tra gli output, assicurati che i file di input abbiano configurazioni video e audio simili. Per tutti i file di input con configurazioni video e audio diverse, è consigliabile creare automazioni separate (impostazioni `job.json` univoche). Per ulteriori informazioni, consulta [Example AWS Elemental MediaConvert job settings in JSON](https://docs.aws.amazon.com/mediaconvert/latest/ug/example-job-settings.html) nella *Guida per l'utente di AWS Elemental MediaConvert *. 

   ```
   {
     "OutputGroups": [
       {
         "CustomName": "HLS",
         "Name": "Apple HLS",
         "Outputs": [
           {
             "ContainerSettings": {
               "Container": "M3U8",
               "M3u8Settings": {
                 "AudioFramesPerPes": 4,
                 "PcrControl": "PCR_EVERY_PES_PACKET",
                 "PmtPid": 480,
                 "PrivateMetadataPid": 503,
                 "ProgramNumber": 1,
                 "PatInterval": 0,
                 "PmtInterval": 0,
                 "TimedMetadata": "NONE",
                 "VideoPid": 481,
                 "AudioPids": [
                   482,
                   483,
                   484,
                   485,
                   486,
                   487,
                   488,
                   489,
                   490,
                   491,
                   492
                 ]
               }
             },
             "VideoDescription": {
               "Width": 640,
               "ScalingBehavior": "DEFAULT",
               "Height": 360,
               "TimecodeInsertion": "DISABLED",
               "AntiAlias": "ENABLED",
               "Sharpness": 50,
               "CodecSettings": {
                 "Codec": "H_264",
                 "H264Settings": {
                   "InterlaceMode": "PROGRESSIVE",
                   "NumberReferenceFrames": 3,
                   "Syntax": "DEFAULT",
                   "Softness": 0,
                   "GopClosedCadence": 1,
                   "GopSize": 2,
                   "Slices": 1,
                   "GopBReference": "DISABLED",
                   "MaxBitrate": 1200000,
                   "SlowPal": "DISABLED",
                   "SpatialAdaptiveQuantization": "ENABLED",
                   "TemporalAdaptiveQuantization": "ENABLED",
                   "FlickerAdaptiveQuantization": "DISABLED",
                   "EntropyEncoding": "CABAC",
                   "FramerateControl": "INITIALIZE_FROM_SOURCE",
                   "RateControlMode": "QVBR",
                   "CodecProfile": "MAIN",
                   "Telecine": "NONE",
                   "MinIInterval": 0,
                   "AdaptiveQuantization": "HIGH",
                   "CodecLevel": "AUTO",
                   "FieldEncoding": "PAFF",
                   "SceneChangeDetect": "TRANSITION_DETECTION",
                   "QualityTuningLevel": "SINGLE_PASS_HQ",
                   "FramerateConversionAlgorithm": "DUPLICATE_DROP",
                   "UnregisteredSeiTimecode": "DISABLED",
                   "GopSizeUnits": "SECONDS",
                   "ParControl": "INITIALIZE_FROM_SOURCE",
                   "NumberBFramesBetweenReferenceFrames": 2,
                   "RepeatPps": "DISABLED"
                 }
               },
               "AfdSignaling": "NONE",
               "DropFrameTimecode": "ENABLED",
               "RespondToAfd": "NONE",
               "ColorMetadata": "INSERT"
             },
             "OutputSettings": {
               "HlsSettings": {
                 "AudioGroupId": "program_audio",
                 "AudioRenditionSets": "program_audio",
                 "SegmentModifier": "$dt$",
                 "IFrameOnlyManifest": "EXCLUDE"
               }
             },
             "NameModifier": "_360"
           },
           {
             "ContainerSettings": {
               "Container": "M3U8",
               "M3u8Settings": {
                 "AudioFramesPerPes": 4,
                 "PcrControl": "PCR_EVERY_PES_PACKET",
                 "PmtPid": 480,
                 "PrivateMetadataPid": 503,
                 "ProgramNumber": 1,
                 "PatInterval": 0,
                 "PmtInterval": 0,
                 "TimedMetadata": "NONE",
                 "TimedMetadataPid": 502,
                 "VideoPid": 481,
                 "AudioPids": [
                   482,
                   483,
                   484,
                   485,
                   486,
                   487,
                   488,
                   489,
                   490,
                   491,
                   492
                 ]
               }
             },
             "VideoDescription": {
               "Width": 960,
               "ScalingBehavior": "DEFAULT",
               "Height": 540,
               "TimecodeInsertion": "DISABLED",
               "AntiAlias": "ENABLED",
               "Sharpness": 50,
               "CodecSettings": {
                 "Codec": "H_264",
                 "H264Settings": {
                   "InterlaceMode": "PROGRESSIVE",
                   "NumberReferenceFrames": 3,
                   "Syntax": "DEFAULT",
                   "Softness": 0,
                   "GopClosedCadence": 1,
                   "GopSize": 2,
                   "Slices": 1,
                   "GopBReference": "DISABLED",
                   "MaxBitrate": 3500000,
                   "SlowPal": "DISABLED",
                   "SpatialAdaptiveQuantization": "ENABLED",
                   "TemporalAdaptiveQuantization": "ENABLED",
                   "FlickerAdaptiveQuantization": "DISABLED",
                   "EntropyEncoding": "CABAC",
                   "FramerateControl": "INITIALIZE_FROM_SOURCE",
                   "RateControlMode": "QVBR",
                   "CodecProfile": "MAIN",
                   "Telecine": "NONE",
                   "MinIInterval": 0,
                   "AdaptiveQuantization": "HIGH",
                   "CodecLevel": "AUTO",
                   "FieldEncoding": "PAFF",
                   "SceneChangeDetect": "TRANSITION_DETECTION",
                   "QualityTuningLevel": "SINGLE_PASS_HQ",
                   "FramerateConversionAlgorithm": "DUPLICATE_DROP",
                   "UnregisteredSeiTimecode": "DISABLED",
                   "GopSizeUnits": "SECONDS",
                   "ParControl": "INITIALIZE_FROM_SOURCE",
                   "NumberBFramesBetweenReferenceFrames": 2,
                   "RepeatPps": "DISABLED"
                 }
               },
               "AfdSignaling": "NONE",
               "DropFrameTimecode": "ENABLED",
               "RespondToAfd": "NONE",
               "ColorMetadata": "INSERT"
             },
             "OutputSettings": {
               "HlsSettings": {
                 "AudioGroupId": "program_audio",
                 "AudioRenditionSets": "program_audio",
                 "SegmentModifier": "$dt$",
                 "IFrameOnlyManifest": "EXCLUDE"
               }
             },
             "NameModifier": "_540"
           },
           {
             "ContainerSettings": {
               "Container": "M3U8",
               "M3u8Settings": {
                 "AudioFramesPerPes": 4,
                 "PcrControl": "PCR_EVERY_PES_PACKET",
                 "PmtPid": 480,
                 "PrivateMetadataPid": 503,
                 "ProgramNumber": 1,
                 "PatInterval": 0,
                 "PmtInterval": 0,
                 "TimedMetadata": "NONE",
                 "VideoPid": 481,
                 "AudioPids": [
                   482,
                   483,
                   484,
                   485,
                   486,
                   487,
                   488,
                   489,
                   490,
                   491,
                   492
                 ]
               }
             },
             "VideoDescription": {
               "Width": 1280,
               "ScalingBehavior": "DEFAULT",
               "Height": 720,
               "TimecodeInsertion": "DISABLED",
               "AntiAlias": "ENABLED",
               "Sharpness": 50,
               "CodecSettings": {
                 "Codec": "H_264",
                 "H264Settings": {
                   "InterlaceMode": "PROGRESSIVE",
                   "NumberReferenceFrames": 3,
                   "Syntax": "DEFAULT",
                   "Softness": 0,
                   "GopClosedCadence": 1,
                   "GopSize": 2,
                   "Slices": 1,
                   "GopBReference": "DISABLED",
                   "MaxBitrate": 5000000,
                   "SlowPal": "DISABLED",
                   "SpatialAdaptiveQuantization": "ENABLED",
                   "TemporalAdaptiveQuantization": "ENABLED",
                   "FlickerAdaptiveQuantization": "DISABLED",
                   "EntropyEncoding": "CABAC",
                   "FramerateControl": "INITIALIZE_FROM_SOURCE",
                   "RateControlMode": "QVBR",
                   "CodecProfile": "MAIN",
                   "Telecine": "NONE",
                   "MinIInterval": 0,
                   "AdaptiveQuantization": "HIGH",
                   "CodecLevel": "AUTO",
                   "FieldEncoding": "PAFF",
                   "SceneChangeDetect": "TRANSITION_DETECTION",
                   "QualityTuningLevel": "SINGLE_PASS_HQ",
                   "FramerateConversionAlgorithm": "DUPLICATE_DROP",
                   "UnregisteredSeiTimecode": "DISABLED",
                   "GopSizeUnits": "SECONDS",
                   "ParControl": "INITIALIZE_FROM_SOURCE",
                   "NumberBFramesBetweenReferenceFrames": 2,
                   "RepeatPps": "DISABLED"
                 }
               },
               "AfdSignaling": "NONE",
               "DropFrameTimecode": "ENABLED",
               "RespondToAfd": "NONE",
               "ColorMetadata": "INSERT"
             },
             "OutputSettings": {
               "HlsSettings": {
                 "AudioGroupId": "program_audio",
                 "AudioRenditionSets": "program_audio",
                 "SegmentModifier": "$dt$",
                 "IFrameOnlyManifest": "EXCLUDE"
               }
             },
             "NameModifier": "_720"
           },
           {
             "ContainerSettings": {
               "Container": "M3U8",
               "M3u8Settings": {}
             },
             "AudioDescriptions": [
               {
                 "AudioSourceName": "Audio Selector 1",
                 "CodecSettings": {
                   "Codec": "AAC",
                   "AacSettings": {
                     "Bitrate": 96000,
                     "CodingMode": "CODING_MODE_2_0",
                     "SampleRate": 48000
                   }
                 }
               }
             ],
             "OutputSettings": {
               "HlsSettings": {
                 "AudioGroupId": "program_audio",
                 "AudioTrackType": "ALTERNATE_AUDIO_AUTO_SELECT_DEFAULT"
               }
             },
             "NameModifier": "_audio"
           }
         ],
         "OutputGroupSettings": {
           "Type": "HLS_GROUP_SETTINGS",
           "HlsGroupSettings": {
             "ManifestDurationFormat": "INTEGER",
             "SegmentLength": 6,
             "TimedMetadataId3Period": 10,
             "CaptionLanguageSetting": "OMIT",
             "Destination": "s3://EXAMPLE-BUCKET/HLS/",
             "DestinationSettings": {
               "S3Settings": {
                 "AccessControl": {
                   "CannedAcl": "PUBLIC_READ"
                 }
               }
             },
             "TimedMetadataId3Frame": "PRIV",
             "CodecSpecification": "RFC_4281",
             "OutputSelection": "MANIFESTS_AND_SEGMENTS",
             "ProgramDateTimePeriod": 600,
             "MinSegmentLength": 0,
             "DirectoryStructure": "SINGLE_DIRECTORY",
             "ProgramDateTime": "EXCLUDE",
             "SegmentControl": "SEGMENTED_FILES",
             "ManifestCompression": "NONE",
             "ClientCache": "ENABLED",
             "StreamInfResolution": "INCLUDE"
           }
         }
       },
       {
         "CustomName": "MP4",
         "Name": "File Group",
         "Outputs": [
           {
             "ContainerSettings": {
               "Container": "MP4",
               "Mp4Settings": {
                 "CslgAtom": "INCLUDE",
                 "FreeSpaceBox": "EXCLUDE",
                 "MoovPlacement": "PROGRESSIVE_DOWNLOAD"
               }
             },
             "VideoDescription": {
               "Width": 1280,
               "ScalingBehavior": "DEFAULT",
               "Height": 720,
               "TimecodeInsertion": "DISABLED",
               "AntiAlias": "ENABLED",
               "Sharpness": 100,
               "CodecSettings": {
                 "Codec": "H_264",
                 "H264Settings": {
                   "InterlaceMode": "PROGRESSIVE",
                   "ParNumerator": 1,
                   "NumberReferenceFrames": 3,
                   "Syntax": "DEFAULT",
                   "Softness": 0,
                   "GopClosedCadence": 1,
                   "HrdBufferInitialFillPercentage": 90,
                   "GopSize": 2,
                   "Slices": 2,
                   "GopBReference": "ENABLED",
                   "HrdBufferSize": 10000000,
                   "MaxBitrate": 5000000,
                   "ParDenominator": 1,
                   "EntropyEncoding": "CABAC",
                   "RateControlMode": "QVBR",
                   "CodecProfile": "HIGH",
                   "MinIInterval": 0,
                   "AdaptiveQuantization": "AUTO",
                   "CodecLevel": "AUTO",
                   "FieldEncoding": "PAFF",
                   "SceneChangeDetect": "ENABLED",
                   "QualityTuningLevel": "SINGLE_PASS_HQ",
                   "UnregisteredSeiTimecode": "DISABLED",
                   "GopSizeUnits": "SECONDS",
                   "ParControl": "SPECIFIED",
                   "NumberBFramesBetweenReferenceFrames": 3,
                   "RepeatPps": "DISABLED",
                   "DynamicSubGop": "ADAPTIVE"
                 }
               },
               "AfdSignaling": "NONE",
               "DropFrameTimecode": "ENABLED",
               "RespondToAfd": "NONE",
               "ColorMetadata": "INSERT"
             },
             "AudioDescriptions": [
               {
                 "AudioTypeControl": "FOLLOW_INPUT",
                 "AudioSourceName": "Audio Selector 1",
                 "CodecSettings": {
                   "Codec": "AAC",
                   "AacSettings": {
                     "AudioDescriptionBroadcasterMix": "NORMAL",
                     "Bitrate": 160000,
                     "RateControlMode": "CBR",
                     "CodecProfile": "LC",
                     "CodingMode": "CODING_MODE_2_0",
                     "RawFormat": "NONE",
                     "SampleRate": 48000,
                     "Specification": "MPEG4"
                   }
                 },
                 "LanguageCodeControl": "FOLLOW_INPUT",
                 "AudioType": 0
               }
             ]
           }
         ],
         "OutputGroupSettings": {
           "Type": "FILE_GROUP_SETTINGS",
           "FileGroupSettings": {
             "Destination": "s3://EXAMPLE-BUCKET/MP4/",
             "DestinationSettings": {
               "S3Settings": {
                 "AccessControl": {
                   "CannedAcl": "PUBLIC_READ"
                 }
               }
             }
           }
         }
       },
       {
         "CustomName": "Thumbnails",
         "Name": "File Group",
         "Outputs": [
           {
             "ContainerSettings": {
               "Container": "RAW"
             },
             "VideoDescription": {
               "Width": 1280,
               "ScalingBehavior": "DEFAULT",
               "Height": 720,
               "TimecodeInsertion": "DISABLED",
               "AntiAlias": "ENABLED",
               "Sharpness": 50,
               "CodecSettings": {
                 "Codec": "FRAME_CAPTURE",
                 "FrameCaptureSettings": {
                   "FramerateNumerator": 1,
                   "FramerateDenominator": 5,
                   "MaxCaptures": 500,
                   "Quality": 80
                 }
               },
               "AfdSignaling": "NONE",
               "DropFrameTimecode": "ENABLED",
               "RespondToAfd": "NONE",
               "ColorMetadata": "INSERT"
             }
           }
         ],
         "OutputGroupSettings": {
           "Type": "FILE_GROUP_SETTINGS",
           "FileGroupSettings": {
             "Destination": "s3://EXAMPLE-BUCKET/Thumbnails/",
             "DestinationSettings": {
               "S3Settings": {
                 "AccessControl": {
                   "CannedAcl": "PUBLIC_READ"
                 }
               }
             }
           }
         }
       }
     ],
     "AdAvailOffset": 0,
     "Inputs": [
       {
         "AudioSelectors": {
           "Audio Selector 1": {
             "Offset": 0,
             "DefaultSelection": "DEFAULT",
             "ProgramSelection": 1
           }
         },
         "VideoSelector": {
           "ColorSpace": "FOLLOW"
         },
         "FilterEnable": "AUTO",
         "PsiControl": "USE_PSI",
         "FilterStrength": 0,
         "DeblockFilter": "DISABLED",
         "DenoiseFilter": "DISABLED",
         "TimecodeSource": "EMBEDDED",
         "FileInput": "s3://EXAMPLE-INPUT-BUCKET/input.mp4"
       }
     ]
   }
   ```

1. Nella cartella `batch-transcode`, crea un file con una funzione Lambda. Puoi utilizzare il seguente esempio Python e denominare il file `convert.py`.

   Le operazioni in batch S3 inviano dati di processi specifici a una funzione Lambda e richiedono i dati dei risultati. Per gli esempi di richiesta e risposta per la funzione Lambda, le informazioni sui codici di risposta e dei risultati e le funzioni Lambda di esempio per le operazioni in batch S3, consulta [Funzione di richiamo AWS Lambda](batch-ops-invoke-lambda.md). 

   ```
   import json
   import os
   from urllib.parse import urlparse
   import uuid
   import boto3
   
   """
   When you run an S3 Batch Operations job, your job  
   invokes this Lambda function. Specifically, the Lambda function is 
   invoked on each video object listed in the manifest that you specify 
   for the S3 Batch Operations job in Step 5.  
   
   Input parameter "event": The S3 Batch Operations event as a request
                            for the Lambda function.
   
   Input parameter "context": Context about the event.
   
   Output: A result structure that Amazon S3 uses to interpret the result 
           of the operation. It is a job response returned back to S3 Batch Operations.
   """
   def handler(event, context):
   
       invocation_schema_version = event['invocationSchemaVersion']
       invocation_id = event['invocationId']
       task_id = event['tasks'][0]['taskId']
   
       source_s3_key = event['tasks'][0]['s3Key']
       source_s3_bucket = event['tasks'][0]['s3BucketArn'].split(':::')[-1]
       source_s3 = 's3://' + source_s3_bucket + '/' + source_s3_key
   
       result_list = []
       result_code = 'Succeeded'
       result_string = 'The input video object was converted successfully.'
   
       # The type of output group determines which media players can play 
       # the files transcoded by MediaConvert.
       # For more information, see [Creating outputs with AWS Elemental MediaConvert](https://docs.aws.amazon.com/mediaconvert/latest/ug/creating-streaming-and-file-outputs.html).
       output_group_type_dict = {
           'HLS_GROUP_SETTINGS': 'HlsGroupSettings',
           'FILE_GROUP_SETTINGS': 'FileGroupSettings',
           'CMAF_GROUP_SETTINGS': 'CmafGroupSettings',
           'DASH_ISO_GROUP_SETTINGS': 'DashIsoGroupSettings',
           'MS_SMOOTH_GROUP_SETTINGS': 'MsSmoothGroupSettings'
       }
   
       try:
           job_name = 'Default'
           with open('job.json') as file:
               job_settings = json.load(file)
   
           job_settings['Inputs'][0]['FileInput'] = source_s3
   
           # The path of each output video is constructed based on the values of 
           # the attributes in each object of OutputGroups in the job.json file. 
           destination_s3 = 's3://{0}/{1}/{2}' \
               .format(os.environ['amzn-s3-demo-destination-bucket'],
                       os.path.splitext(os.path.basename(source_s3_key))[0],
                       os.path.splitext(os.path.basename(job_name))[0])
   
           for output_group in job_settings['OutputGroups']:
               output_group_type = output_group['OutputGroupSettings']['Type']
               if output_group_type in output_group_type_dict.keys():
                   output_group_type = output_group_type_dict[output_group_type]
                   output_group['OutputGroupSettings'][output_group_type]['Destination'] = \
                       "{0}{1}".format(destination_s3,
                                       urlparse(output_group['OutputGroupSettings'][output_group_type]['Destination']).path)
               else:
                   raise ValueError("Exception: Unknown Output Group Type {}."
                                    .format(output_group_type))
   
           job_metadata_dict = {
               'assetID': str(uuid.uuid4()),
               'application': os.environ['Application'],
               'input': source_s3,
               'settings': job_name
           }
   
           region = os.environ['AWS_DEFAULT_REGION']
           endpoints = boto3.client('mediaconvert', region_name=region) \
               .describe_endpoints()
           client = boto3.client('mediaconvert', region_name=region, 
                                  endpoint_url=endpoints['Endpoints'][0]['Url'], 
                                  verify=False)
   
           try:
               client.create_job(Role=os.environ['MediaConvertRole'], 
                                 UserMetadata=job_metadata_dict, 
                                 Settings=job_settings)
           # You can customize error handling based on different error codes that 
           # MediaConvert can return.
           # For more information, see [MediaConvert error codes](https://docs.aws.amazon.com/mediaconvert/latest/ug/mediaconvert_error_codes.html). 
           # When the result_code is TemporaryFailure, S3 Batch Operations retries 
           # the task before the job is completed. If this is the final retry, 
           # the error message is included in the final report.
           except Exception as error:
               result_code = 'TemporaryFailure'
               raise
       
       except Exception as error:
           if result_code != 'TemporaryFailure':
               result_code = 'PermanentFailure'
           result_string = str(error)
   
       finally:
           result_list.append({
               'taskId': task_id,
               'resultCode': result_code,
               'resultString': result_string,
           })
   
       return {
           'invocationSchemaVersion': invocation_schema_version,
           'treatMissingKeyAs': 'PermanentFailure',
           'invocationId': invocation_id,
           'results': result_list
       }
   ```

1. Per creare un pacchetto di implementazione con `convert.py` e `job.json` come file `.zip` denominato `lambda.zip`, nel computer locale, apri la cartella `batch-transcode` creata in precedenza ed emetti il comando seguente.

   Per **utenti macOS**, eseguire il seguente comando:

   ```
   zip -r lambda.zip convert.py job.json                
   ```

   Per **utenti Windows**, esegui questi comandi:

   ```
   powershell Compress-Archive convert.py lambda.zip
   ```

   ```
   powershell Compress-Archive -update job.json lambda.zip                
   ```

### Creare una funzione Lambda con un ruolo di esecuzione (console)
<a name="batchops-s3-step4-create-function"></a>

1. 

   Apri la AWS Lambda console all'indirizzo [https://console.aws.amazon.com/lambda/](https://console.aws.amazon.com/lambda/).

1. Nel pannello di navigazione a sinistra, scegli **Functions (Funzioni)**.

1. Selezionare **Create function (Crea funzione)**.

1. Scegli **Author from scratch** (Crea da zero).

1. In **Basic information (Informazioni di base)** eseguire queste operazioni:

   1. Nel campo **Function name (Nome funzione)**, immettere **tutorial-lambda-convert**.

   1. Per **Runtime**, scegli **Python 3.13**.

1. Scegli **Change default execution role** (Cambia ruolo di esecuzione predefinito) e in **Execution role** (Ruolo di esecuzione) scegli **Use an existing role** (Utilizza un ruolo esistente).

1. In **Ruolo esistente**, scegli il nome del ruolo IAM creato per la funzione Lambda nella [Fase 3](#batchops-s3-step3) (ad esempio, **tutorial-lambda-transcode-role**).

1. Mantieni le impostazioni rimanenti impostate sui valori di default.

1. Scegli **Crea funzione**.

### Implementa la tua funzione Lambda con gli archivi in file .zip e configura la funzione Lambda (console)
<a name="batchops-s3-step4-deploy-function"></a>

1. Nel riquadro **Origine codice** della pagina della funzione Lambda creata in precedenza (ad esempio, **tutorial-lambda-convert**), scegli **Carica da** e poi **File .zip**.

1. Scegli **Upload (Carica)** per selezionare il file `.zip` locale.

1. Scegli il file `lambda.zip` creato in precedenza, quindi scegli **Apri**.

1. Scegli **Save** (Salva).

1. Nel pannello **Runtime settings (Impostazioni runtime)**, scegli **Edit (Modifica)**. 

1. Per indicare al runtime Lambda quale metodo gestore richiamare nel codice della funzione Lambda, inserisci **convert.handler** nel campo **Gestore**.

   Quando si configura una funzione in Python, il valore dell'impostazione del gestore è costituito dal nome del file e dal nome del modulo del gestore, separati da un punto (`.`). Ad esempio, `convert.handler` richiama il metodo `handler` definito nel file `convert.py`.

1. Scegli **Save** (Salva).

1. Nella pagina della funzione Lambda, scegli la scheda **Configuration** (Configurazione). Nel pannello di navigazione a sinistra nella scheda **Configurazione**, scegli **Variabili di ambiente**, quindi scegli **Modifica**.

1. Scegli **Add environment variable (Aggiungi variabile d'ambiente)**. Quindi, inserisci **Chiave** e **Valore** per ciascuna delle variabili di ambiente elencate di seguito.
   + **Chiave**: **DestinationBucket** **Valore**: **amzn-s3-demo-destination-bucket1** 

     Questo valore è il bucket S3 per i file multimediali di output creati nella [Fase 1](#batchops-s3-step1).
   + **Chiave**: **MediaConvertRole** **Valore**: **arn:aws:iam::*111122223333*:role/tutorial-mediaconvert-role** 

     Questo valore è l'ARN del ruolo IAM per MediaConvert il quale hai creato nel [passaggio](#batchops-s3-step2) 2. Assicurati di sostituire questo ARN con l'ARN effettivo del tuo ruolo IAM.
   + **Chiave**: **Application** **Valore**: **Batch-Transcoding** 

     Questo valore è il nome dell'applicazione.

1. Scegli **Save** (Salva).

1. (Facoltativo) Nella scheda **Configuration** (Configurazione), nella sezione **General configuration** (Configurazione generale) del pannello di navigazione a sinistra, seleziona **Edit** (Modifica). Nel campo **Timeout** inserisci **2** min **0** sec. Poi, scegli **Salva**.

   Il **Timeout** è la quantità di tempo consentita da Lambda per l'esecuzione di una funzione per una chiamata prima di arrestarla. Il valore predefinito è 3 secondi. I prezzi si basano sulla quantità di memoria configurata e sulla quantità di tempo di esecuzione del codice. Per ulteriori informazioni, consultare [Prezzi di AWS Lambda](https://aws.amazon.com/lambda/pricing/?icmpid=docs_console_unmapped).

## Fase 5: Configurazione dell'inventario Amazon S3 per il bucket S3 di origine
<a name="batchops-s3-step5"></a>

Dopo aver impostato la funzione di transcodifica Lambda, devi creare un processo di operazioni in batch S3 per transcodificare una serie di video. Innanzitutto, devi disporre di un elenco degli oggetti video di input sui quali desideri che le operazioni in Batch S3 eseguano l'azione di transcodifica specificata. Per ottenere un elenco di oggetti video di input, puoi generare un report di inventario S3 per il bucket S3 di origine (ad esempio, `amzn-s3-demo-source-bucket`). 

**Topics**
+ [

### Creazione e configurazione di un bucket per i report di inventario S3 dei video di input
](#batchops-s3-step5-bucket)
+ [

### Configurazione dell'inventario Amazon S3 per il bucket S3 di origine dei video
](#batchops-s3-step5-inventory)
+ [

### Controllo del report di inventario per il bucket S3 di origine dei video
](#batchops-s3-step5-manifest)

### Creazione e configurazione di un bucket per i report di inventario S3 dei video di input
<a name="batchops-s3-step5-bucket"></a>

Per archiviare un report di inventario S3 che elenca gli oggetti del bucket S3 di origine, devi creare un bucket di destinazione dell'inventario S3 e configurare una policy perché il bucket possa scrivere i file di inventario nel bucket S3 di origine.

1. Accedi a Console di gestione AWS e apri la console Amazon S3 all'indirizzo. [https://console.aws.amazon.com/s3/](https://console.aws.amazon.com/s3/)

1. Nel pannello di navigazione a sinistra, scegli **Buckets** (Bucket).

1. Seleziona **Crea bucket**. 

1. Per **Nome bucket**, specifica un nome per il bucket, ad esempio `amzn-s3-demo-destination-bucket2`. 

1. Perché **Regione AWS**, scegli Regione AWS dove vuoi che risieda il bucket. 

   Il bucket di destinazione dell'inventario deve trovarsi nello stesso Regione AWS del bucket di origine in cui stai configurando S3 Inventory. Il bucket di destinazione dell'inventario può trovarsi in un diverso Account AWS. 

1. In **Impostazioni di blocco dell'accesso pubblico per questo bucket**, mantieni le impostazioni di default (l'opzione **Blocca *tutto* l'accesso pubblico** è abilitata). 

1. Mantieni le impostazioni rimanenti impostate sui valori di default. 

1. Seleziona **Crea bucket**.

1. Nell'elenco **Buckets** (Bucket) scegli il nome del bucket appena creato (ad esempio, `amzn-s3-demo-destination-bucket2`).

1. Per concedere ad Amazon S3 l'autorizzazione a scrivere dati per i report di inventario nel bucket di destinazione dell'inventario S3, seleziona la scheda **Autorizzazioni**.

1. Scorri verso il basso fino alla sezione **Policy di bucket** e scegli **Modifica**. Viene visualizzata la pagina **Policy del bucket**.

1. Per concedere le autorizzazioni per l'inventario S3, nel campo **Policy** copia la seguente policy del bucket.

   Sostituisci i tre valori di esempio rispettivamente con i seguenti valori: 
   + Il nome del bucket creato per archiviare i rapporti di inventario (ad esempio, `amzn-s3-demo-destination-bucket2`).
   + Il nome del bucket di origine che archivia i video di input (ad esempio, `amzn-s3-demo-source-bucket`). 
   + L' Account AWS ID che hai usato per creare il bucket di sorgenti video S3 (ad esempio,. `111122223333`

------
#### [ JSON ]

****  

   ```
   {
     "Version":"2012-10-17",		 	 	 
     "Statement":[
       {
         "Sid":"InventoryAndAnalyticsExamplePolicy",
         "Effect":"Allow",
         "Principal": {"Service": "s3.amazonaws.com"},
         "Action":"s3:PutObject",
         "Resource":["arn:aws:s3:::amzn-s3-demo-destination-bucket2/*"],
         "Condition": {
             "ArnLike": {
                 "aws:SourceArn": "arn:aws:s3:::amzn-s3-demo-source-bucket"
              },
            "StringEquals": {
                "aws:SourceAccount": "111122223333",
                "s3:x-amz-acl": "bucket-owner-full-control"
             }
          }
       }
     ]
   }
   ```

------

1. Scegli **Save changes** (Salva modifiche).

### Configurazione dell'inventario Amazon S3 per il bucket S3 di origine dei video
<a name="batchops-s3-step5-inventory"></a>

Per generare un elenco di file flat di oggetti video e metadati, devi configurare l'inventario S3 per il bucket S3 di origine dei video. Questi report pianificati possono includere tutti gli oggetti del bucket oppure oggetti raggruppati in base a un prefisso condiviso. In questo tutorial, il report di inventario S3 include tutti gli oggetti video nel bucket S3 di origine.

1. Accedi a Console di gestione AWS e apri la console Amazon S3 all'indirizzo. [https://console.aws.amazon.com/s3/](https://console.aws.amazon.com/s3/)

1. Nel pannello di navigazione a sinistra, scegli **Buckets** (Bucket).

1. Per configurare un report di inventario S3 dei video di input nel bucket S3 di origine, nell'elenco **Bucket** scegli il nome del bucket S3 di origine (ad esempio, `amzn-s3-demo-source-bucket`).

1. Scegliere la scheda **Management** (Gestione),

1. Scorri fino alla sezione **Configurazione dell'inventario** e scegli **Crea configurazione dell'inventario**. 

1. Nel campo **Inventory configuration name** (Nome configurazione inventario) inserisci un nome (ad esempio, **tutorial-inventory-config**). 

1. In **Ambito dell’inventario**, scegli **Solo versione corrente** per **Versioni dell’oggetto** e mantieni le altre impostazioni di **Ambito dell’inventario** sui valori predefiniti per questo tutorial. 

1. Nella sezione **Dettagli report**, per **Bucket di destinazione**, scegli **Questo account**. 

1. In **Destinazione**, scegli **Sfoglia S3** e scegli il bucket di destinazione creato in precedenza per salvare i report di inventario (ad esempio, `amzn-s3-demo-destination-bucket2`). Quindi, scegli **Seleziona percorso**. 

   Il bucket di destinazione dell'inventario deve trovarsi nello stesso bucket Regione AWS di origine in cui stai configurando S3 Inventory. Il bucket di destinazione dell'inventario può trovarsi in un diverso Account AWS. 

   Nel campo **Destination bucket** (Bucket di destinazione) la **Destination bucket permission** (Autorizzazione per il bucket di destinazione) viene aggiunta alla policy del bucket di destinazione dell'inventario per consentire ad Amazon S3 di inserirvi i dati. Per ulteriori informazioni, consulta [Creazione di una policy di bucket di destinazione](configure-inventory.md#configure-inventory-destination-bucket-policy).

1. In **Frequenza**, seleziona **Giornaliero**.

1. Per **Formato di output**, seleziona **CSV**. 

1. In **Stato**, scegli **Abilitato**. 

1. In **Crittografia lato server**, scegli **Disabilita** per questo tutorial. 

   Per ulteriori informazioni, consultare [Configurazione dell'inventario utilizzando la console S3](configure-inventory.md#configure-inventory-console) e [Concessione ad Amazon S3 dell'autorizzazione per l'utilizzo della chiave gestita dal cliente per la crittografia](configure-inventory.md#configure-inventory-kms-key-policy). 

1. Nella sezione **Campi aggiuntivi - *facoltativo***, seleziona **Dimensioni**, **Ultima modifica** e **Classe di archiviazione**. 

1. Scegli **Create (Crea)**.

Per ulteriori informazioni, consulta [Configurazione dell'inventario utilizzando la console S3](configure-inventory.md#configure-inventory-console).

### Controllo del report di inventario per il bucket S3 di origine dei video
<a name="batchops-s3-step5-manifest"></a>

Quando viene pubblicato un elenco di inventario, i file manifesto vengono inviati al bucket di destinazione dell'inventario S3.

1. Accedi a Console di gestione AWS e apri la console Amazon S3 all'indirizzo. [https://console.aws.amazon.com/s3/](https://console.aws.amazon.com/s3/)

1. Nel pannello di navigazione a sinistra, scegli **Buckets** (Bucket).

1. Nell'elenco **Buckets** (Bucket) scegli il nome del bucket di origine dei video (ad esempio, `amzn-s3-demo-source-bucket`).

1. Seleziona **Gestione**.

1. Per verificare se il report di inventario S3 è pronto per la creazione di un processo di operazioni in batch S3 nella [Fase 7](#batchops-s3-step7), in **Configurazioni di inventario**, verifica se il pulsante **Create processo dal manifesto** è abilitato.
**Nota**  
La consegna del primo report di inventario può richiedere fino a 48 ore. Se il pulsante **Create job from manifest** (Crea processo dal manifesto) è disattivato, il primo report di inventario non è stato consegnato. Devi attendere che venga consegnato il primo report di inventario e che il pulsante **Crea processo dal manifesto** sia abilitato per creare un processo di operazioni in batch S3 nella [Fase 7](#batchops-s3-step7). 

1. Per controllare un report di inventario S3 (`manifest.json`), nella colonna **Destinazione**, scegli il nome del bucket di destinazione dell'inventario creato in precedenza per l'archiviazione dei report di inventario (ad esempio, `amzn-s3-demo-destination-bucket2`).

1. Nella scheda **Oggetti**, scegli la cartella esistente con il nome del bucket di origine S3 (ad esempio, `amzn-s3-demo-source-bucket`). Quindi scegli il nome che hai inserito in **Nome configurazione inventario** quando hai creato la configurazione dell'inventario (ad esempio, **tutorial-inventory-config**).

   Puoi visualizzare un elenco di cartelle denominate con la data di generazione dei report. 

1. Per controllare il report di inventario S3 giornaliero di una certa data, scegli una cartella denominata con una data di generazione, quindi scegli `manifest.json`. 

1. Per controllare i dettagli del report di inventario in una data specifica, nella pagina **manifest.json**, scegli **Download** (Scarica) o **Open** (Apri).

## Fase 6: creazione di un ruolo IAM per le operazioni in batch S3
<a name="batchops-s3-step6"></a>

Per utilizzare le operazioni in batch S3 per eseguire la transcodifica in batch, per prima cosa devi creare un ruolo IAM per consentire ad Amazon S3 di disporre delle autorizzazioni per eseguire le operazioni in batch S3. 

**Topics**
+ [

### Creazione di una policy IAM per le operazioni in batch S3
](#batchops-s3-step6-policy)
+ [

### Creare un ruolo IAM per le operazioni in batch S3 e assegna le policy di autorizzazione
](#batchops-s3-step6-role)

### Creazione di una policy IAM per le operazioni in batch S3
<a name="batchops-s3-step6-policy"></a>

Devi creare una policy IAM che fornisca alle operazioni in batch S3 l'autorizzazione per leggere il manifesto di input, richiamare la funzione Lambda e scrivere il report di completamento del processo di operazioni in batch S3. 

1. Accedi Console di gestione AWS e apri la console IAM all'indirizzo [https://console.aws.amazon.com/iam/](https://console.aws.amazon.com/iam/).

1. Nel riquadro di navigazione sinistro, scegli **Policy**.

1. Scegli **Crea policy**.

1. Scegliere la scheda **JSON**.

1. Nel campo di testo **JSON** incolla la seguente policy JSON.

   Nella policy JSON, sostituisci i quattro valori di esempio con i seguenti valori:
   + Il nome del bucket di origine che archivia i video di input (ad esempio, `amzn-s3-demo-source-bucket`).
   + Il nome del bucket di destinazione dell'inventario creato nella [Fase 5](#batchops-s3-step5) per archiviare i file `manifest.json` (ad esempio, `amzn-s3-demo-destination-bucket2`).
   + Il nome del bucket creato nella [Fase 1](#batchops-s3-step1) per archiviare i file multimediali di output (ad esempio, `amzn-s3-demo-destination-bucket1`). In questo tutorial, abbiamo messo i report di completamento del processo nel bucket di destinazione per i file multimediali di output. 
   + L'ARN del ruolo della funzione Lambda creato nella [Fase 4](#batchops-s3-step4). Per trovare e copiare l'ARN del ruolo della funzione Lambda, completa le seguenti operazioni: 
     + In una nuova scheda del browser, apri la pagina **Funzioni** nella console Lambda all'indirizzo [https://console.aws.amazon.com/lambda/home#/functions](https://console.aws.amazon.com/lambda/home#/functions).
     + Nell'elenco **Funzioni**, scegli la funzione Lambda creata nella [Fase 4](#batchops-s3-step4) (ad esempio, **tutorial-lambda-convert**).
     + Scegli **Copy ARN** (Copia ARN).

------
#### [ JSON ]

****  

   ```
   {
       "Version":"2012-10-17",		 	 	 
       "Statement": [
           {
               "Sid": "S3Get",
               "Effect": "Allow",
               "Action": [
                   "s3:GetObject",
                   "s3:GetObjectVersion"
               ],
               "Resource": [
                   "arn:aws:s3:::amzn-s3-demo-source-bucket/*",
                   "arn:aws:s3:::amzn-s3-demo-destination-bucket2/*"
               ]
           },
           {
               "Sid": "S3PutJobCompletionReport",
               "Effect": "Allow",
               "Action": "s3:PutObject",
               "Resource": "arn:aws:s3:::amzn-s3-demo-destination-bucket1/*"
           },
           {
               "Sid": "S3BatchOperationsInvokeLambda",
               "Effect": "Allow",
               "Action": [
                   "lambda:InvokeFunction"
               ],
               "Resource": [
                   "arn:aws:lambda:us-west-2:111122223333:function:tutorial-lambda-convert"
               ]
           }
       ]
   }
   ```

------

1. Scegliere **Next: Tags (Successivo: Tag)**.

1. Scegliere **Next:Review (Successivo: Rivedi)**.

1. Nel campo **Name (Nome)**, inserire **tutorial-s3batch-policy**.

1. Scegli **Crea policy**.

### Creare un ruolo IAM per le operazioni in batch S3 e assegna le policy di autorizzazione
<a name="batchops-s3-step6-role"></a>

1. Accedi Console di gestione AWS e apri la console IAM all'indirizzo [https://console.aws.amazon.com/iam/](https://console.aws.amazon.com/iam/).

1. Nel pannello di navigazione a sinistra, scegli **Ruoli**, quindi **Crea ruolo**.

1. Scegli il tipo di ruolo **Servizio AWS**, quindi seleziona il servizio **S3**.

1. In **Select your use case** (Seleziona il tuo caso d'uso), scegli **S3 Batch Operations** (Operazioni in batch S3).

1. Scegli **Next (Successivo)**.

1. In **Collega autorizzazioni**, immetti il nome della policy IAM creata in precedenza (ad esempio, **tutorial-s3batch-policy**) nella casella di ricerca per filtrare l’elenco di policy. Seleziona la casella di controllo accanto al nome della policy (ad esempio, **tutorial-s3batch-policy**). 

1. Scegli **Next (Successivo)**.

1. Per **Nome ruolo**, inserisci **tutorial-s3batch-role**.

1. Scegli **Crea ruolo**.

   Dopo aver creato il ruolo IAM per le operazioni in batch S3, la seguente policy di attendibilità viene automaticamente associata al ruolo per permettere all'entità del servizio delle operazioni in batch S3 di assumere il ruolo IAM. Questa policy di attendibilità consente al principale del servizio di operazioni in batch S3 di assumere il ruolo IAM.

------
#### [ JSON ]

****  

   ```
   {
      "Version":"2012-10-17",		 	 	 
      "Statement":[
         {
            "Effect":"Allow",
            "Principal":{
               "Service":"batchoperations.s3.amazonaws.com"
            },
            "Action":"sts:AssumeRole"
         }
      ]
   }
   ```

------

## Fase 7: creazione ed esecuzione di un processo di operazioni in batch S3
<a name="batchops-s3-step7"></a>

Per creare un processo di operazioni in batch S3 per elaborare i video di input nel bucket S3 di origine, devi specificare i parametri per questo particolare processo.

**Nota**  
Per iniziare a creare un processo di operazioni in batch S3, devi assicurarti che il pulsante **Crea processo dal manifesto** sia abilitato. Per ulteriori informazioni, consulta [Controllo del report di inventario per il bucket S3 di origine dei video](#batchops-s3-step5-manifest). Se il pulsante **Crea processo dal manifesto** è disabilitato, il primo report di inventario non è stato consegnato e devi attendere che il pulsante sia abilitato. Dopo aver configurato l'inventario Amazon S3 per il bucket S3 di origine nella [Fase 5](#batchops-s3-step5), la consegna del primo report dell'inventario può richiedere fino a 48 ore.

**Topics**
+ [

### Creare un processo di operazioni in batch S3
](#batchops-s3-step7-create-job)
+ [

### Esecuzione del processo di operazioni in batch di S3 per richiamare la funzione Lambda
](#batchops-s3-step7-run-job)
+ [

### (Facoltativo) Controllo del report di completamento
](#batchops-s3-step7-check-report)
+ [

### (Facoltativo) Monitoraggio di ogni chiamata Lambda nella console Lambda
](#batchops-s3-step7-monitor-lambda)
+ [

### (Facoltativo) Monitora ogni processo di MediaConvert transcodifica video nella console MediaConvert
](#batchops-s3-step7-monitor-mediaconvert)

### Creare un processo di operazioni in batch S3
<a name="batchops-s3-step7-create-job"></a>

1. Accedi a Console di gestione AWS e apri la console Amazon S3 all'indirizzo. [https://console.aws.amazon.com/s3/](https://console.aws.amazon.com/s3/)

1. Nel pannello di navigazione a sinistra, scegli **Operazioni in batch**.

1. Scegli **Crea processo**.

1. Per **Regione AWS**, scegli la regione in cui creare il processo.

   In questo tutorial, al fine di utilizzare il processo di operazioni in batch S3 per richiamare una funzione Lambda, devi creare il processo nella stessa regione del bucket S3 di origine dei video in cui si trovano gli oggetti a cui fa riferimento il manifesto.

1. Nella sezione **Manifesto**, procedi nel seguente modo:

   1. Per **Manifest format (Formato manifesto)**, scegliere **S3 inventory report (manifest.json) (Report inventario S3 (manifest.json))**.

   1. In **Oggetto manifesto** scegli **Sfoglia S3** per trovare il bucket creato nella [Fase 5](#batchops-s3-step5) per l'archiviazione dei report di inventario (ad esempio, `amzn-s3-demo-destination-bucket2`). Nella pagina **Oggetto manifesto**, naviga tra i nomi degli oggetti fino a trovare un file `manifest.json` per una data specifica. Questo file elenca le informazioni su tutti i video che vuoi transcodificare in batch. Una volta trovato il file `manifest.json` da utilizzare, scegli il pulsante di opzione accanto ad esso. Quindi, scegli **Seleziona percorso**.

   1. (Facoltativo) In **ID versione oggetto manifesto - *facoltativo***, inserisci l'ID versione dell'oggetto manifesto se desideri utilizzare una versione diversa da quella più recente.

1. Scegli **Next (Successivo)**.

1. Per utilizzare la funzione Lambda per transcodificare tutti gli oggetti elencati nel file `manifest.json` selezionato, in **Tipo di operazione**, scegli **Invoca funzione AWS Lambda **.

1. Nella sezione **Chiamare una funzione Lambda** completa le operazioni seguenti:

   1. Scegli **Choose from functions in your account** (Scegli tra le funzioni del tuo account).

   1. In **Funzione Lambda**, scegli la funzione Lambda creata nella [Fase 4](#batchops-s3-step4) (ad esempio, **tutorial-lambda-convert**).

   1. In **Versione della funzione Lambda** mantieni il valore di default **\$1LATEST**.

1. Scegli **Next (Successivo)**. Viene visualizzata la pagina **Configura opzioni aggiuntive**.

1. In **Opzioni aggiuntive** mantieni le impostazioni predefinite.

   Per ulteriori informazioni su queste opzioni, consulta [Elementi della richiesta di un processo di operazioni in batch](batch-ops-create-job.md#batch-ops-create-job-request-elements).

1. Nella sezione **Report di completamento**, per **Percorso di destinazione del report di completamento**, scegli **Sfoglia S3**. Individua il bucket creato per i file multimediali di output nella [Fase 1](#batchops-s3-step1) (ad esempio, `amzn-s3-demo-destination-bucket1`). Scegli il pulsante di opzione accanto al nome del bucket. Quindi, scegli **Seleziona percorso**.

   Mantieni le impostazioni rimanenti di **Report di completamento** impostate sui valori di default. Per ulteriori informazioni sulla configurazione dei report di completamento, consulta [Elementi della richiesta di un processo di operazioni in batch](batch-ops-create-job.md#batch-ops-create-job-request-elements). Un report di completamento mantiene un registro dei dettagli del processo e delle operazioni eseguite.

1. Nella sezione **Autorizzazioni**, seleziona **Scegli tra ruoli IAM esistenti**. In **IAM role** (Ruolo IAM) scegli il ruolo IAM per il processo di operazioni in batch S3 creato nella [Fase 6](#batchops-s3-step6) (ad esempio, **tutorial-s3batch-role**).

1. Scegli **Next (Successivo)**.

1. Nella pagina **Revisione**, rivedi le impostazioni. Quindi seleziona **Crea processo**.

   Dopo che S3 ha terminato la lettura del manifesto del processo di operazioni in batch S3, il processo imposta lo **stato** del processo su **In attesa di conferma dell'esecuzione**. Per visualizzare gli aggiornamenti dello stato del processo, aggiorna la pagina. Non sarà possibile eseguire il processo finché lo stato non sarà **In attesa di esecuzione della conferma**.

### Esecuzione del processo di operazioni in batch di S3 per richiamare la funzione Lambda
<a name="batchops-s3-step7-run-job"></a>

Esegui il processo di operazioni in batch per richiamare la funzione Lambda per la transcodifica dei video. Se il processo non riesce, puoi controllare il report di completamento per identificare la causa.

**Per eseguire il processo di operazioni in batch S3**

1. Accedi a Console di gestione AWS e apri la console Amazon S3 all'indirizzo. [https://console.aws.amazon.com/s3/](https://console.aws.amazon.com/s3/)

1. Nel pannello di navigazione a sinistra, scegli **Operazioni in batch**.

1. Nell'elenco **Processi**, scegli l'**ID processo** del processo nella prima riga, ovvero il processo di operazioni in batch S3 creato in precedenza.

1. Scegli **Esegui processo**. 

1. Riesamina i parametri del processo e conferma che il valore di **Total objects listed in manifest** (Totale oggetti elencati nel manifesto) corrisponda al numero di oggetti nel manifesto. Seleziona quindi **Esegui processo**.

   Viene visualizzata la pagina del processo di operazioni in batch S3.

1. Dopo l'inizio dell'esecuzione del processo, nella pagina del processo, in **Status** (Stato) controlla lo stato di avanzamento del processo di operazioni in batch S3, ad esempio **Status** (Stato), **% Complete** (% completamento), **Total succeeded (rate)** (Totale riusciti (tasso)), **Total failed (rate)** (Totale non riusciti (tasso)), **Date terminated** (Data di terminazione) e **Reason for termination** (Motivo della terminazione).

   Al termine del processo di operazioni in batch S3, visualizza i dati nella pagina del processo per confermare che è stato completato come previsto. 

   Se oltre il 50% delle operazioni sugli oggetti di un processo di operazione in batch S3 ha esito negativo dopo aver tentato più di 1.000 operazioni, il processo ha automaticamente esito negativo. Per controllare il report di completamento per identificare la causa degli errori, consulta la procedura facoltativa riportata di seguito.

### (Facoltativo) Controllo del report di completamento
<a name="batchops-s3-step7-check-report"></a>

Puoi utilizzare il report di completamento per determinare quali oggetti non sono riusciti e la causa degli errori.

**Come controllare il report di completamento con i dettagli sugli oggetti non eseguiti correttamente**

1. Nella pagina del processo di operazioni in batch S3, in **Report di completamento**, scegli il collegamento per **Destinazione del report di completamento**.

   Viene aperta la pagina del bucket di destinazione dell'output S3.

1. Nella scheda **Oggetti**, scegli la cartella che ha il nome che termina con l'ID del processo di operazioni in batch S3 creato in precedenza.

1. Scegli **results/** (risultati/).

1. Seleziona la casella di controllo accanto al file `.csv`.

1. Per visualizzare il report del processo, scegli **Apri** o **Scarica**.

### (Facoltativo) Monitoraggio di ogni chiamata Lambda nella console Lambda
<a name="batchops-s3-step7-monitor-lambda"></a>

Dopo l'avvio del processo di operazioni in batch S3, il processo richiama la funzione Lambda per ogni oggetto video di input. S3 scrive i log di ogni chiamata Lambda in Logs. CloudWatch Puoi utilizzare il pannello di controllo di monitoraggio della console Lambda per monitorare la funzione Lambda. 

1. Apri AWS Lambda la console [https://console.aws.amazon.com/lambda/](https://console.aws.amazon.com/lambda/)all'indirizzo.

1. Nel pannello di navigazione a sinistra, scegli **Functions (Funzioni)**.

1. Nell'elenco **Funzioni**, scegli la funzione Lambda creata nella [Fase 4](#batchops-s3-step4) (ad esempio, **tutorial-lambda-convert**).

1. Selezionare la scheda **Monitor (Monitora)**.

1. In **Metrics** (Parametri), visualizza i parametri di runtime per la funzione Lambda.

1. In **Logs**, visualizza i dati di log per ogni chiamata CloudWatch Lambda tramite Logs Insights.
**Nota**  
Quando utilizzi le operazioni in batch S3 con una funzione Lambda, la funzione Lambda viene richiamata su ciascun oggetto. Se il tuo processo di operazioni in batch S3 è grande, può richiamare più funzioni Lambda contemporaneamente, causando un picco nella simultaneità Lambda.   
Ciascuno Account AWS ha una quota di concorrenza Lambda per regione. Per ulteriori informazioni, consulta [Dimensionamento della funzione AWS Lambda](https://docs.aws.amazon.com/lambda/latest/dg/invocation-scaling.html) nella *Guida per gli sviluppatori di AWS Lambda *. Una best practice per l'utilizzo delle funzioni Lambda con le operazioni in batch S3 è impostare un limite di simultaneità sulla funzione Lambda stessa. Ciò impedisce al tuo processo di consumare la maggior parte della simultaneità Lambda e potenzialmente di limitare altre funzioni nel tuo account. Per ulteriori informazioni, consulta [Gestione della simultaneità riservata Lambda](https://docs.aws.amazon.com/lambda/latest/dg/configuration-concurrency.html) nella *Guida per gli sviluppatori di AWS Lambda *.

### (Facoltativo) Monitora ogni processo di MediaConvert transcodifica video nella console MediaConvert
<a name="batchops-s3-step7-monitor-mediaconvert"></a>

Un MediaConvert job svolge il lavoro di transcodifica di un file multimediale. Quando il job S3 Batch Operations richiama la funzione Lambda per ogni video, ogni chiamata alla funzione Lambda crea un processo di transcodifica per ogni video in ingresso. MediaConvert 

1. Accedi a e apri la console all'indirizzo. Console di gestione AWS MediaConvert [https://console.aws.amazon.com/mediaconvert/](https://console.aws.amazon.com/mediaconvert/)

1. Se viene visualizzata la pagina MediaConvert introduttiva, scegli **Inizia**.

1. Nell'elenco **Processi**, visualizza ogni riga per monitorare l'attività di transcodifica per ogni video di input. 

1. Identifica la riga del processo che desideri controllare e scegli il collegamento **ID processo** per aprire la pagina dei dettagli.

1. Nella pagina di **riepilogo del Job**, in **Output**, scegli il link per l'output HLS o Thumbnails, a seconda di ciò che è supportato dal tuo browser, per andare al bucket di destinazione S3 per i file multimediali di output. MP4

1. Nella cartella corrispondente (HLS o Thumbnails) del bucket di destinazione di output S3 MP4, scegli il nome dell'oggetto del file multimediale di output.

   Viene aperta la pagina dei dettagli dell'oggetto.

1. Nella pagina dell'oggetto, in **Panoramica oggetto**, scegli il link in **URL oggetto** per esaminare il file multimediale di output transcodificato.

## Fase 8: Controllo dei file multimediali di output dal bucket S3 di destinazione
<a name="batchops-s3-step8"></a>

**Come controllare i file multimediali di output dal bucket S3 di destinazione**

1. Accedi a Console di gestione AWS e apri la console Amazon S3 all'indirizzo. [https://console.aws.amazon.com/s3/](https://console.aws.amazon.com/s3/)

1. Nel pannello di navigazione a sinistra, scegli **Buckets** (Bucket).

1. Nell'elenco **Bucket** scegli il nome del bucket S3 di destinazione per i file multimediali di output creati nella [Fase 1](#batchops-s3-step1) (ad esempio, `amzn-s3-demo-destination-bucket1`).

1. Nella scheda **Objecets** (Oggetti), ogni video di input ha una cartella con il nome del video di input. Ogni cartella contiene i file multimediali di output transcodificati di un video di input.

   Per controllare i file multimediali di output di un video di input, esegui le seguenti operazioni:

   1. Scegli la cartella con il nome del video di input che desideri controllare.

   1. Scegli la cartella **Default/** (Predefinito/).

   1. Scegli la cartella per un formato transcodificato (HLS o miniature in questo tutorial). MP4 

   1. Scegli il nome del file multimediale di output.

   1. Per esaminare il file transcodificato, nella pagina dell'oggetto scegli il link in **URL oggetto**. 

      I file multimediali di output in formato HLS vengono suddivisi in segmenti brevi. Per riprodurre questi video, incorpora l'URL oggetto del file `.m3u8` in un lettore compatibile.

## Fase 9: Pulizia
<a name="batchops-s3-step9"></a>

Se hai transcodificato i video utilizzando S3 Batch Operations, Lambda MediaConvert e solo come esercizio di apprendimento, elimina AWS le risorse che hai allocato in modo da non addebitare più addebiti. 

**Topics**
+ [

### Eliminazione della configurazione di inventario S3 per il bucket S3 di origine
](#batchops-s3-step9-delete-inventory)
+ [

### Eliminazione della funzione Lambda
](#batchops-s3-step9-delete-lambda)
+ [

### Eliminare il gruppo di CloudWatch log
](#batchops-s3-step9-delete-cw)
+ [

### Eliminazione dei ruoli IAM e delle policy inline per i ruoli IAM
](#batchops-s3-step9-delete-role)
+ [

### Eliminazione della policy IAM gestita dal cliente
](#batchops-s3-step9-delete-policy)
+ [

### Svuotare i bucket S3
](#batchops-s3-step9-empty-bucket)
+ [

### Eliminazione dei bucket S3
](#batchops-s3-step9-delete-bucket)

### Eliminazione della configurazione di inventario S3 per il bucket S3 di origine
<a name="batchops-s3-step9-delete-inventory"></a>

1. Accedi a Console di gestione AWS e apri la console Amazon S3 all'indirizzo. [https://console.aws.amazon.com/s3/](https://console.aws.amazon.com/s3/)

1. Nel pannello di navigazione a sinistra, scegli **Buckets** (Bucket).

1. Nell'elenco **Buckets** (Bucket) scegli il nome del bucket di origine (ad esempio, `amzn-s3-demo-source-bucket`).

1. Scegliere la scheda **Management** (Gestione),

1. Nella sezione **Configurazioni inventario** scegli la configurazione di inventario creata nella [Fase 5](#batchops-s3-step5) (ad esempio, **tutorial-inventory-config**).

1. Scegli **Elimina** e poi **Conferma**.

### Eliminazione della funzione Lambda
<a name="batchops-s3-step9-delete-lambda"></a>

1. 

   Apri la AWS Lambda console all'indirizzo [https://console.aws.amazon.com/lambda/](https://console.aws.amazon.com/lambda/).

1. Nel pannello di navigazione a sinistra, scegli **Functions (Funzioni)**.

1. Seleziona la casella di controllo accanto alla funzione creata nella [Fase 4](#batchops-s3-step4) (ad esempio, **tutorial-lambda-convert**).

1. Scegli **Azioni**, quindi **Elimina**.

1. Nella finestra di dialogo **Delete function (Elimina funzione)**, scegli **Delete (Elimina)**.

### Eliminare il gruppo di CloudWatch log
<a name="batchops-s3-step9-delete-cw"></a>

1. Apri la CloudWatch console all'indirizzo [https://console.aws.amazon.com/cloudwatch/](https://console.aws.amazon.com/cloudwatch/).

1. Nel pannello di navigazione a sinistra scegli **Log**, quindi **Gruppi di log**.

1. Seleziona la casella di controllo accanto al gruppo di log dal nome che termina con la funzione Lambda creata nella [Fase 4](#batchops-s3-step4) (ad esempio, **tutorial-lambda-convert**).

1. Scegli **Actions (Operazioni)**, quindi scegli **Delete log group(s) (Elimina gruppi di registri)**.

1. Nella finestra di dialogo **Delete log group(s) (Elimina gruppo/i di log)** scegli **Delete (Elimina)**.

### Eliminazione dei ruoli IAM e delle policy inline per i ruoli IAM
<a name="batchops-s3-step9-delete-role"></a>

Per eliminare i ruoli IAM creati nella [Fase 2](#batchops-s3-step2), nella [Fase 3](#batchops-s3-step3), e nella [Fase 6](#batchops-s3-step6) esegui invece le seguenti operazioni: 

1. Accedi Console di gestione AWS e apri la console IAM all'indirizzo [https://console.aws.amazon.com/iam/](https://console.aws.amazon.com/iam/).

1. Nel pannello di navigazione, scegli **Ruoli**, quindi seleziona la casella di controllo accanto al nome del ruolo che desideri eliminare.

1. Nella parte superiore della pagina, scegli **Delete** (Elimina).

1. Nella finestra di dialogo di conferma inserisci la risposta richiesta nel campo di inserimento di testo in base al comando e scegli **Delete** (Elimina). 

### Eliminazione della policy IAM gestita dal cliente
<a name="batchops-s3-step9-delete-policy"></a>

Per eliminare la policy IAM gestita dal cliente creata nella [Fase 6](#batchops-s3-step6), completa le seguenti operazioni:

1. Accedi Console di gestione AWS e apri la console IAM all'indirizzo [https://console.aws.amazon.com/iam/](https://console.aws.amazon.com/iam/).

1. Nel riquadro di navigazione sinistro, scegli **Policy**.

1. Scegli il pulsante di opzione accanto alla policy creata nella [Fase 6](#batchops-s3-step6) (ad esempio, **tutorial-s3batch-policy**). Puoi utilizzare la casella di ricerca per filtrare l'elenco di policy.

1. Scegli **Azioni**, quindi **Elimina**. 

1. Conferma di voler eliminare questa policy inserendone il nome nel campo di testo, quindi scegli **Elimina**. 

### Svuotare i bucket S3
<a name="batchops-s3-step9-empty-bucket"></a>

Per svuotare i bucket S3 creati nei [Prerequisiti](#batchops-s3-prerequisites), nella [Fase 1](#batchops-s3-step1) e nella [Fase 5](#batchops-s3-step5), completa le seguenti operazioni: 

1. Accedi a Console di gestione AWS e apri la console Amazon S3 all'indirizzo. [https://console.aws.amazon.com/s3/](https://console.aws.amazon.com/s3/)

1. Nel pannello di navigazione a sinistra, scegli **Buckets** (Bucket).

1. Nell'elenco **Bucket** scegli il pulsante di opzione accanto al nome del bucket che desideri svuotare, quindi scegli **Svuota**.

1. Nella pagina **Svuota bucket** conferma che desideri svuotare il bucket inserendo **permanently delete** nel campo di testo e quindi scegli **Svuota**.

### Eliminazione dei bucket S3
<a name="batchops-s3-step9-delete-bucket"></a>

Per eliminare i bucket S3 creati nei [Prerequisiti](#batchops-s3-prerequisites), nella [Fase 1](#batchops-s3-step1) e nella [Fase 5](#batchops-s3-step5), completa invece le seguenti operazioni: 

1. Accedi a Console di gestione AWS e apri la console Amazon S3 all'indirizzo. [https://console.aws.amazon.com/s3/](https://console.aws.amazon.com/s3/)

1. Nel pannello di navigazione a sinistra, scegli **Buckets** (Bucket).

1. Nell'elenco **Bucket**, scegli il pulsante di opzione accanto al nome del bucket che desideri eliminare.

1. Scegli **Elimina**.

1. Nella pagina **Delete bucket (Elimina bucket)** conferma che desideri eliminare il bucket inserendone il nome nel campo di testo e quindi scegli **Delete bucket (Elimina bucket)**.

## Fasi successive
<a name="batchops-s3-next-steps"></a>

Dopo aver completato questo tutorial, puoi esplorare altri casi d'uso rilevanti:
+ Puoi usare Amazon CloudFront per trasmettere i file multimediali transcodificati agli spettatori di tutto il mondo. Per ulteriori informazioni, consulta [Tutorial: hosting di video in streaming su richiesta con Amazon S3, Amazon e CloudFront Amazon Route 53](tutorial-s3-cloudfront-route53-video-streaming.md).
+ Puoi transcodificare i video nel momento in cui li carichi nel bucket di origine S3. A tale scopo, puoi configurare un trigger di eventi Amazon S3 che richiama automaticamente la funzione Lambda con cui transcodificare nuovi oggetti in S3. MediaConvert Per maggiori informazioni consulta [Tutorial: Uso di un trigger Amazon S3 per richiamare una funzione Lambda](https://docs.aws.amazon.com/lambda/latest/dg/with-s3-example.html) nella *Guida per gli sviluppatori di AWS Lambda *. 

# Risoluzione dei problemi relativi a Operazioni in batch S3
<a name="troubleshooting-batch-operations"></a>

Operazioni in batch Amazon S3 consente di eseguire operazioni in batch su larga scala su oggetti Amazon S3. Questa guida ti aiuta a risolvere i problemi più comuni che potresti riscontrare.

Per risolvere i problemi con S3 Batch Replication, consulta [Risoluzione dei problemi nella replica](replication-troubleshoot.md).

Sono disponibili due tipi principali di errori relativi a Operazioni in batch:

1. **Errore dell’API**: l’API richiesta (ad esempio `CreateJob`) non è stata eseguita.

1. **Errore del processo**: la richiesta API iniziale è stata completata ma il processo non è riuscito, ad esempio, a causa di problemi con il manifesto o le autorizzazioni agli oggetti specificati nel manifesto.

## NoSuchJobException
<a name="nosuchjobexception"></a>

**Tipo**: errore dell’API

`NoSuchJobException` si verifica quando Operazioni in batch S3 non riesce a individuare il processo specificato. Questo errore può verificarsi in diversi scenari oltre la semplice scadenza del processo. Le cause più comuni sono descritte di seguito.

1. **Scadenza del processo**: i processi vengono eliminati automaticamente 90 giorni dopo aver raggiunto lo stato terminale (`Complete`, `Cancelled` o `Failed`).

1. **ID del processo errato**: l’ID del processo utilizzato in `DescribeJob` o `UpdateJobStatus` non corrisponde all’ID restituito da`CreateJob`.

1. **Regione errata**: tentativo di accedere a un processo in una Regione diversa da quella in cui è stato creato.

1. **Account errato**: utilizzo di un ID di lavoro di un account diverso. AWS 

1. **Errori di formato dell’ID del processo**: errori di battitura, caratteri aggiuntivi o formattazione errata nell’ID del processo.

1. **Problemi relativi alla tempistica**: verifica dello stato del processo subito dopo la creazione, prima che il processo sia completamente registrato.

I messaggi di errore correlati sono descritti di seguito.

1. `No such job`

1. `The specified job does not exist`

### Best practice per prevenire errori delle API `NoSuchJobException`
<a name="nosuchjobexception-prevention"></a>

1. **Memorizza IDs immediatamente** il lavoro: salva l'ID del lavoro dalla `CreateJob` risposta prima di effettuare chiamate API successive.

1. **Implementa la logica dei tentativi**: aggiungi un backoff esponenziale quando controlli lo stato del processo subito dopo la creazione.

1. **Configura il monitoraggio**: crea CloudWatch allarmi per monitorare il completamento del lavoro prima della scadenza dei 90 giorni. Per i dettagli, consulta la sezione [Uso degli CloudWatch allarmi](https://docs.aws.amazon.com/AmazonCloudWatch/latest/monitoring/AlarmThatSendsEmail.html) nella Amazon CloudWatch User Guide.

1. **Utilizza Regioni coerenti**: assicurati che tutte le operazioni del processo utilizzino la stessa Regione per la creazione del processo.

1. **Convalida l’input**: controlla il formato dell’ID del processo prima di effettuare chiamate API.

### Scadenza dei processi
<a name="nosuchjobexception-jobs-expire"></a>

I processi nello stato terminale vengono eliminati automaticamente dopo 90 giorni. Per evitare di perdere informazioni del processo, considera quanto segue.

1. **Scarica i report di completamento prima della scadenza**: per istruzioni su come recuperare e archiviare i risultati del processo, consulta [ Rapporti di completamento  Quando crei un processo, puoi richiedere un rapporto di completamento. Finché Operazioni in batch S3 invoca con successo almeno un'attività, Amazon S3 genera un report di completamento dopo che il processo ha terminato l'esecuzione delle attività, è fallito o è stato annullato. Puoi configurare il rapporto di completamento per includere tutte le attività o solo quelle non riuscite.  Il report di completamento include la configurazione del processo, lo stato e le informazioni per ogni attività, tra cui la chiave dell'oggetto e la versione, lo stato, i codici di errore e le descrizioni di eventuali errori. I report di completamento offrono un modo semplice per visualizzare i risultati delle attività in un formato consolidato, senza ulteriori operazioni di configurazione. I report di completamento vengono crittografati utilizzando la crittografia lato server con chiavi gestite da Amazon S3 (SSE-S3). Per un esempio di report di completamento, consulta [Esempi: report di completamento delle operazioni in batch S3](batch-ops-examples-reports.md).  Se non configuri un rapporto di completamento, puoi comunque monitorare e controllare il tuo lavoro e le relative attività utilizzando CloudTrail e Amazon CloudWatch. Per ulteriori informazioni, consulta i seguenti argomenti: ](batch-ops-job-status.md#batch-ops-completion-report.title).

1. **Archivia i metadati del processo nei tuoi sistemi**: archivia le informazioni critiche del processo nei database o nei sistemi di monitoraggio.

1. **Imposta notifiche automatiche prima della scadenza di 90 giorni**: utilizza Amazon EventBridge per creare regole che attivano le notifiche al completamento dei lavori. Per ulteriori informazioni, consulta [Notifiche di eventi Amazon S3](EventNotifications.md).

### Risoluzione dei problemi di `NoSuchJobException`
<a name="nosuchjobexception-troubleshooting"></a>

1. Utilizza il comando seguente per verificare che il processo sia presente nell’account e nella Regione.

   ```
   aws s3control list-jobs --account-id 111122223333 --region us-east-1
   ```

1. Usa il seguente comando per cercare in tutti gli stati delle offerte di lavoro. I possibili stati del processo sono `Active`, `Cancelled`, `Cancelling`, `Complete`, `Completing`, `Failed`, `Failing`, `New`, `Paused`, `Pausing`, `Preparing`, `Ready` e `Suspended`.

   ```
   aws s3control list-jobs --account-id 111122223333 --job-statuses your-job-status
   ```

1. Utilizza il comando seguente per verificare se il processo è presente in altre Regioni in cui di solito si creano processi.

   ```
   aws s3control list-jobs --account-id 111122223333 --region job-region-1 aws s3control list-jobs --account-id 111122223333 --region job-region-2                    
   ```

1. Convalida il formato dell’ID del processo. Job IDs in genere contiene 36 caratteri, ad esempio`12345678-1234-1234-1234-123456789012`. Verifica la presenza di spazi aggiuntivi, caratteri mancanti o problemi di distinzione tra maiuscole e minuscole e verifica di utilizzare l’ID del processo completo restituito dal comando `CreateJob`.

1. Utilizzate il seguente comando per controllare CloudTrail i log degli eventi di creazione di posti di lavoro.

   ```
       aws logs filter-log-events --log-group-name CloudTrail/S3BatchOperations \ --filter-pattern "{ $.eventName = CreateJob }" \ --start-time timestamp                    
   ```

### AccessDeniedException
<a name="accessdeniedexception"></a>

**Tipo**: errore dell’API

`AccessDeniedException` si verifica quando una richiesta di Operazioni in batch S3 viene bloccata a causa di autorizzazioni insufficienti, operazioni non supportate o restrizioni delle policy. Questo è uno degli errori più comuni in Operazioni in batch. Le cause comuni sono le seguenti:

1. **Autorizzazioni IAM mancanti**: l'identità IAM non dispone delle autorizzazioni necessarie per le operazioni Batch. APIs

1. **Autorizzazioni S3 insufficienti**: autorizzazioni mancanti per accedere ai bucket di origine o destinazione e agli oggetti.

1. **Problemi relativi al ruolo di esecuzione del processo**: il ruolo di esecuzione del processo non dispone delle autorizzazioni per eseguire l’operazione specificata.

1. **Operazioni non supportate**: tentativo di utilizzare operazioni non supportate nella Regione o nel tipo di bucket correnti.

1. **Problemi di accesso multi-account**: autorizzazioni mancanti per l’accesso multi-account a bucket o oggetti.

1. **Restrizioni delle policy basate sulle risorse: policy** Bucket o oggetti che bloccano l'operazione. ACLs 

1. **Restrizioni delle policy di controllo dei servizi**: policy a livello di organizzazione impediscono l’operazione.

Messaggi di errore correlati:

1. `Access Denied`

1. `User: arn:aws:iam::account:user/username is not authorized to perform: s3:operation`

1. `Cross-account pass role is not allowed`

1. `The bucket policy does not allow the specified operation`

#### Le migliori pratiche per prevenire i guasti delle API AccessDeniedException
<a name="accessdeniedexception-prevention"></a>

1. **Utilizza il principio del privilegio minimo**: concedi solo le autorizzazioni minime richieste per le operazioni specifiche.

1. **Verifica le autorizzazioni prima di eseguire processi di grandi dimensioni**: esegui piccoli processi di test per convalidare le autorizzazioni prima di elaborare migliaia di oggetti.

1. **Utilizza il simulatore di policy IAM**: testa le policy prima dell’implementazione utilizzando il simulatore di policy IAM. Per ulteriori informazioni, consulta [Test delle policy IAM con il simulatore di policy IAM](https://docs.aws.amazon.com/IAM/latest/UserGuide/access_policies_testing-policies.html) nella Guida per l’utente IAM.

1. **Implementa una corretta configurazione multi-account**: controlla la configurazione dell’accesso multi-account per le configurazioni dei processi multi-account. Per ulteriori informazioni, consulta il [tutorial IAM: Delega l'accesso tra AWS account utilizzando i ruoli IAM](https://docs.aws.amazon.com/IAM/latest/UserGuide/tutorial_cross-account-with-roles.html) nella IAM User Guide.

1. **Monitora le modifiche alle autorizzazioni**: imposta CloudTrail avvisi per le modifiche alle policy IAM che potrebbero influire sulle operazioni Batch.

1. **Documenta i requisiti dei ruoli**: mantieni una documentazione chiara delle autorizzazioni richieste per ogni tipo di processo.

1. **Usa modelli di autorizzazione comuni**: utilizza gli esempi di autorizzazione e i modelli di policy:

   1. [Concessione di autorizzazioni per le operazioni in batch](batch-ops-iam-role-policies.md)

   1. [Risorse multi-account in IAM](https://docs.aws.amazon.com/IAM/latest/UserGuide/access_policies-cross-account-resource-access.html) nella Guida per l’utente IAM.

   1. [Controlla l'accesso agli endpoint VPC utilizzando le policy degli endpoint](https://docs.aws.amazon.com/vpc/latest/privatelink/vpc-endpoints-access.html) nella Guida. AWS PrivateLink 

#### AccessDeniedException risoluzione dei problemi
<a name="accessdeniedexception-troubleshooting"></a>

Segui sistematicamente queste fasi per identificare e risolvere i problemi di autorizzazione.

1. Consulta [Operazioni supportate dalle operazioni in batch S3](batch-ops-operations.md) per le operazioni supportate per Regione. Verifica che le operazioni del bucket di directory siano disponibili solo negli endpoint regionali e zonali. Verifica che l’operazione sia supportata per la classe di archiviazione del bucket.

1. Utilizza il seguente comando per determinare se puoi elencare i processi.

   ```
    aws s3control list-jobs --account-id 111122223333
   ```

1. Utilizza il comando seguente per verificare le autorizzazioni IAM per l’identità richiedente. L'account che esegue il processo richiede le seguenti autorizzazioni:`s3:CreateJob`,`s3:DescribeJob`,`s3:ListJobs`, `s3:UpdateJobPriority``s3:UpdateJobStatus`, e`iam:PassRole`.

   ```
   aws sts get-caller-identity 111122223333
   ```

1. Utilizza il comando seguente per verificare che il ruolo sia presente e utilizzabile.

   ```
   aws iam get-role --role-name role-name
   ```

1. Utilizza il comando seguente per esaminare la policy di attendibilità del ruolo. Il ruolo che esegue il processo deve disporre di:

   1. Una relazione di attendibilità che consente a `batchoperations.s3.amazonaws.com` di assumere il ruolo.

   1. Le operazioni eseguite da Operazioni in batch (ad esempio `s3:PutObjectTagging` per le operazioni di tagging).

   1. Accesso ai bucket di origine e di destinazione.

   1. Autorizzazione a leggere il file manifesto.

   1. Autorizzazione a scrivere report di completamento.

   ```
   aws iam get-role --role-name role-name --query 'Role.AssumeRolePolicyDocument'
   ```

1. Utilizzate il comando seguente per testare l'accesso ai bucket manifest e source.

   ```
   aws s3 ls s3://amzn-s3-demo-bucket                        
   ```

1. Testa l’operazione eseguita da Operazioni in batch. Ad esempio, se Operazioni in batch esegue il tagging, applica un tag a un oggetto di esempio nel bucket di origine.

1. Esamina le politiche dei bucket per individuare le politiche che potrebbero negare l'operazione.

   1. Controlla l'oggetto ACLs se lavori con i controlli di accesso precedenti.

   1. Verifica che nessuna policy di controllo del servizio (SCPs) stia bloccando l'operazione.

   1.  Verifica che le policy degli endpoint VPC consentano Operazioni in batch se si utilizzano endpoint VPC.

1. Utilizzate il seguente comando da utilizzare CloudTrail per identificare gli errori di autorizzazione.

   ```
   aws logs filter-log-events --log-group-name CloudTrail/S3BatchOperations \
       --filter-pattern "{ $.errorCode = AccessDenied }" \
       --start-time timestamp
   ```

#### SlowDownError
<a name="slowdownerror"></a>

**Tipo**: errore dell’API

L'`SlowDownError`eccezione si verifica quando il tuo account ha superato il limite di frequenza delle richieste per S3 Batch Operations. APIs Questo è un meccanismo di limitazione (della larghezza di banda della rete) per proteggere il servizio dal sovraccarico dovuto a troppe richieste. Le cause comuni sono le seguenti:

1. **Elevata frequenza di richieste API**: troppe chiamate API in un breve periodo di tempo.

1. **Operazioni di lavoro simultanee**: lavori simultanei di più applicazioni o utenti creating/managing .

1. **Script automatizzati senza limiti di velocità**: script che non implementano strategie di backoff adeguate.

1. **Polling troppo frequenti dello stato del processo**: verifica dello stato del processo eseguita più spesso del necessario.

1. **Modelli di traffico aumentato**: picchi improvvisi nell’utilizzo delle API durante i periodi di elaborazione di punta.

1. **Limiti di capacità regionale**: superamento della capacità di richiesta allocata per la Regione.

Messaggi di errore correlati:

1. `SlowDown`

1. `Please reduce your request rate`

1. `Request rate exceeded`

#### Le migliori pratiche per prevenire i guasti SlowDownError delle API
<a name="slowdownerror-prevention"></a>

1. **Implementa la limitazione della velocità sul lato client**: aggiungi ritardi tra le chiamate API nelle applicazioni.

1. **Utilizza il backoff esponenziale con jitter**: applica la randomizzazione dei ritardi dei tentativi per evitare problemi di thundering herd.

1. **Imposta una logica dei tentativi adeguata**: implementa tentativi automatici con ritardi crescenti per gli errori transitori.

1. **Utilizza architetture basate sugli eventi: sostituisci i sondaggi con EventBridge notifiche per le** modifiche allo stato dei lavori.

1. **Distribuisci il carico nel tempo**: organizza la creazione di processi e i controlli dello stato in diversi periodi di tempo.

1. **Monitora e avvisa sui limiti di velocità**: configura CloudWatch allarmi per rilevare quando ti stai avvicinando ai limiti.

La maggior parte AWS SDKs include una logica di ripetizione dei tentativi integrata per gli errori di limitazione della velocità. Configurali come segue:

1. **AWS CLI**: utilizza i parametri `cli-read-timeout` e `cli-connect-timeout`.

1. **AWS SDK for Python (Boto3): configura le** modalità di riprova e il numero massimo di tentativi nella configurazione del client.

1. **AWS SDK for** Java: `RetryPolicy` utilizzo `ClientConfiguration` e impostazioni.

1. **AWS SDK per JavaScript**: configura `maxRetries` e. `retryDelayOptions`

Per ulteriori informazioni sui modelli di ripetizione dei tentativi e sulle migliori pratiche, consulta [Riprova con schema di backup nella guida Prescriptive](https://docs.aws.amazon.com/prescriptive-guidance/latest/cloud-design-patterns/retry-backoff.html) Guidance. AWS 

#### SlowDownError risoluzione dei problemi
<a name="slowdownerror-troubleshooting"></a>

1. Nel codice, implementa immediatamente il backoff esponenziale.  
**Example di backoff esponenziale in bash**  

   ```
   for attempt in {1..5}; do
       if aws s3control describe-job --account-id 111122223333 --job-id job-id; then 
           break
       else 
           wait_time=$((2**attempt)) echo "Rate limited, waiting ${wait_time} seconds..." sleep $wait_time
           fi
   done
   ```

1.  CloudTrail Utilizzato per identificare la fonte dell'elevato volume di richieste.

   ```
   aws logs filter-log-events \
       --log-group-name CloudTrail/S3BatchOperations \
       --filter-pattern "{ $.eventName = CreateJob || $.eventName = DescribeJob }" \
       --start-time timestamp \
       --query 'events[*].[eventTime,sourceIPAddress,userIdentity.type,eventName]'
   ```

1. Verifica la frequenza di polling.

   1. Evita di controllare lo stato del processo più di una volta ogni 30 secondi per i processi attivi.

   1. Se possibile, utilizza le notifiche di completamento del processo anziché il polling.

   1. Implementa jitter negli intervalli di polling per evitare richieste sincronizzate.

1. Ottimizza i modelli di utilizzo delle API.

   1. Se possibile, esegui più operazioni in batch.

   1. Utilizza `ListJobs` per ottenere lo stato di più processi in una sola chiamata.

   1. Memorizza nella cache le informazioni sui processi per ridurre le chiamate API ridondanti.

   1. Suddividi la creazione dei processi nel tempo anziché crearne molti contemporaneamente.

1. Utilizza le CloudWatch metriche per le chiamate API per monitorare i modelli di richiesta.

   ```
      aws logs put-metric-filter \
          --log-group-name CloudTrail/S3BatchOperations \
          --filter-name S3BatchOpsAPICallCount \      
          --filter-pattern "{ $.eventSource = s3.amazonaws.com && $.eventName = CreateJob }" \
          --metric-transformations \        
          metricName=S3BatchOpsAPICalls,metricNamespace=Custom/S3BatchOps,metricValue=1
   ```

## InvalidManifestContent
<a name="invalidmanifestcontent"></a>

**Tipo**: errore del processo

L’eccezione `InvalidManifestContent` si verifica quando ci sono problemi con il formato, il contenuto o la struttura del file manifesto che impediscono a Operazioni in batch S3 di elaborare il processo. Le cause comuni sono le seguenti:

1. **Violazioni del formato**: colonne obbligatorie mancanti, delimitatori errati o struttura CSV non valida.

1. **Problemi di codifica del contenuto**: codifica errata dei caratteri, indicatori BOM o caratteri non UTF-8.

1. **Problemi con le chiavi dell’oggetto**: caratteri non validi, codifica URL non corretta o chiavi che superano i limiti di lunghezza.

1. **Limiti relativi alle dimensioni**: il manifesto contiene più oggetti di quelli supportati dall’operazione.

1. **Errori di formato dell'ID di versione**: versione non valida o non valida IDs per gli oggetti con versione.

1. **ETag problemi di formato**: ETag formato errato o virgolette mancanti per le operazioni che richiedono. ETags

1. **Dati incoerenti**: formati misti all’interno dello stesso manifesto o numero di colonne non coerente.

Messaggi di errore correlati:

1. `Required fields are missing in the schema: + missingFields`

1. `Invalid Manifest Content`

1. `The S3 Batch Operations job failed because it contains more keys than the maximum allowed in a single job`

1. `Invalid object key format`

1. `Manifest file is not properly formatted`

1. `Invalid version ID format`

1. `ETag format is invalid`

### Le migliori pratiche per prevenire gli insuccessi InvalidManifestContent sul lavoro
<a name="invalidmanifestcontent-prevention"></a>

1. **Convalida prima del caricamento**: testa il formato del manifesto con piccoli processi prima di elaborare set di dati di grandi dimensioni.

1. **Utilizza una codifica coerente**: utilizza sempre la codifica UTF-8 senza BOM per i file manifesto.

1. **Implementa gli standard di generazione dei manifesti**: crea modelli e procedure di convalida per la creazione di manifesti.

1. **Gestisci correttamente i caratteri speciali**: gli URL codificano le chiavi degli oggetti che contengono caratteri speciali.

1. **Monitora il numero di oggetti**: monitora le dimensioni del manifesto e suddividi i lavori di grandi dimensioni in modo proattivo.

1. **Convalida la presenza degli oggetti**: verifica la presenza degli oggetti prima di includerli nei manifesti.

1. **Utilizzate AWS strumenti per la generazione di manifesti**: sfruttateli AWS CLI `s3api list-objects-v2` per generare elenchi di oggetti formattati correttamente.

Problemi e soluzioni comuni relativi ai manifesti:

1. **Colonne obbligatorie mancanti**: assicurati che il manifesto includa tutte le colonne obbligatorie per il tipo di operazione. Le colonne mancanti più comuni sono Bucket e Chiave.

1. **Formato CSV non corretto**: utilizza le virgole come delimitatori, assicura un numero di colonne uniforme su tutte le righe ed evita gli embedding delle interruzioni di riga nei campi.

1. **Caratteri speciali nelle chiavi degli oggetti**: gli URL codificano le chiavi degli oggetti che contengono spazi, caratteri Unicode o caratteri speciali XML (<, >, &, ", ').

1. **File manifesti di grandi dimensioni**: suddividi i manifesti con un numero di operazioni superiore al limite in diversi manifesti più piccoli e crea processi separati.

1. **Versione non valida IDs: assicurati che la versione** contenga stringhe alfanumeriche IDs formattate correttamente. Rimuovi la colonna ID della versione se non è necessaria.

1. **Problemi di codifica**: salva i file manifesto come UTF-8 senza BOM. Evita di copiare i manifesti attraverso sistemi che potrebbero alterare la codifica.

Per le specifiche dettagliate e gli esempi relativi al formato del manifesto, consulta quanto segue:

1. [Specifica di un manifest](batch-ops-create-job.md#specify-batchjob-manifest)

1. [Operazioni supportate dalle operazioni in batch S3](batch-ops-operations.md)

1. [Denominazione di oggetti Amazon S3](object-keys.md)

### InvalidManifestContent risoluzione dei problemi
<a name="invalidmanifestcontent-troubleshooting"></a>

1. Scarica e controlla il file manifesto. Verifica manualmente che il manifesto soddisfi i requisiti di formato:

   1. Formato CSV con virgola come delimitatore.

   1. Codifica UTF-8 senza BOM.

   1. Numero coerente di colonne per tutte le righe.

   1. Senza righe vuote o spazi finali.

   1. Le chiavi dell’oggetto sono codificate correttamente nell’URL se contengono caratteri speciali.

   Utilizza il seguente comando per scaricare il file manifesto.

   ```
   aws s3 cp s3://amzn-s3-demo-bucket1/manifest-key ./manifest.csv 
   ```

1. Controlla le colonne obbligatorie per l’operazione:

   1. Tutte le operazioni: `Bucket`, `Key`

   1. Operazioni di copia: `VersionId` (facoltativo)

   1. Operazioni di ripristino: `VersionId` (facoltativo)

   1. Operazioni di sostituzione di tag: non sono necessarie colonne aggiuntive.

   1. Operazioni di sostituzione di ACL: non sono necessarie colonne aggiuntive.

   1. Avvia ripristino: `VersionId` (facoltativo)

1. Controlla i limiti del numero di oggetti:

   1. Copia: massimo 1 miliardo di oggetti.

   1. Eliminazione: massimo 1 miliardo di oggetti.

   1. Ripristino: massimo 1 miliardo di oggetti.

   1. Tagging: massimo 1 miliardo di oggetti.

   1. ACL: massimo 1 miliardo di oggetti.

1. Crea un manifesto di prova con alcuni oggetti del tuo manifesto originale.

1. Utilizzate il comando seguente per verificare se esiste un campione di oggetti del manifesto.

   ```
   aws s3 ls s3://amzn-s3-demo-bucket1/object-key
   ```

1. Controlla i dettagli dell’errore del processo e verifica il motivo ed eventuali dettagli specifici dell’errore nella descrizione del processo.

   ```
   aws s3control describe-job --account-id 111122223333 --job-id job-id                        
   ```