

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à.

# Catalogazione e analisi dei dati con Inventario S3
<a name="storage-inventory"></a>

Puoi usare Inventario Amazon S3 per gestire lo storage. Ad esempio, puoi utilizzarlo per effettuare l'audit e creare report sullo stato di replica e crittografia degli oggetti per attività, conformità ed esigenze normative. Inventario Amazon S3 può anche semplificare e accelerare flussi di lavoro aziendali e processi con Big Data, fornendo un'alternativa pianificata all'operazione API sincrona `List` in Amazon S3. Inventario Amazon S3 non utilizza le operazioni API `List` per l'audit degli oggetti e non influisce sulla velocità di richiesta del bucket.

Inventario Amazon S3 fornisce file di output con valori separati da virgole (CSV), [Apache Optimized Row Columnar (ORC)](https://orc.apache.org/) o [https://parquet.apache.org/](https://parquet.apache.org/) che elencano gli oggetti e i metadati corrispondenti con frequenza giornaliera o settimanale per un bucket S3 o oggetto con un prefisso condiviso, ovvero oggetti che hanno nomi che iniziano con una stringa comune. Se si imposta un inventario settimanale, un report viene generato ogni domenica (fuso orario UTC) dopo il report iniziale. Per informazioni sui prezzi di Amazon S3 Inventory, consulta [Prezzi di Amazon S3](https://aws.amazon.com/s3/pricing/).

È possibile configurare diversi elenchi di inventario per un bucket. Quando si configura un elenco di inventario, è possibile specificare quanto segue: 
+ Quali metadati degli oggetti includere nell'inventario
+ Se elencare tutte le versioni degli oggetti o solo le versioni correnti
+ Dove archiviare l'output del file dell'elenco di inventario
+ Se generare l'inventario su base giornaliera o settimanale
+ Se crittografare il file dell'elenco di inventario

Puoi eseguire query su Inventario Amazon S3 con query SQL standard utilizzando [Amazon Athena](https://docs.aws.amazon.com/athena/latest/ug/what-is.html), [Amazon Redshift Spectrum ](https://docs.aws.amazon.com/redshift/latest/dg/c-getting-started-using-spectrum.html) e altri strumenti, come [https://prestodb.io/](https://prestodb.io/), [https://hive.apache.org/](https://hive.apache.org/) e [https://databricks.com/spark/about/](https://databricks.com/spark/about/). Per ulteriori informazioni sull'uso di Athena per effettuare query sui file di inventario, consulta [Esecuzione di query sull'inventario Amazon S3 con Amazon Athena](storage-inventory-athena-query.md). 

**Nota**  
Amazon S3 potrebbe impiegare fino a 48 ore per fornire il primo report di inventario.

**Nota**  
Dopo aver eliminato una configurazione di inventario, Amazon S3 potrebbe comunque fornire un report di inventario aggiuntivo durante un breve periodo di transizione mentre il sistema elabora l'eliminazione.

## Bucket di origine e di destinazione
<a name="storage-inventory-buckets"></a>

Il bucket per il quale l'inventario elenca gli oggetti è chiamato *bucket di origine*. Il bucket nel quale viene archiviato il file dell'elenco di inventario è denominato *bucket di destinazione*. 

**Bucket di origine**

L'inventario elenca gli oggetti che sono archiviati nel bucket di origine. È possibile ottenere un elenco di inventario per un intero bucket o filtrarlo in base al prefisso del nome della chiave dell'oggetto.

Il bucket di origine:
+ Contiene gli oggetti elencati nell'inventario
+ Contiene la configurazione per l'inventario

**Bucket di destinazione**

I file dell'elenco di Amazon S3 Inventory vengono scritti nel bucket di destinazione. Per raggruppare tutti i file di elenco dell'inventario in un percorso comune del bucket di destinazione, puoi specificare un prefisso di destinazione nella configurazione dell'inventario.

Il bucket di destinazione:
+ Contiene gli elenchi dei file dell'inventario. 
+ Contiene i file manifesto che elencano tutti i file dell'inventario che sono archiviati nel bucket di destinazione. Per ulteriori informazioni, consulta [Manifest inventario](storage-inventory-location.md#storage-inventory-location-manifest).
+ Deve avere una policy del bucket per concedere ad Amazon S3 le autorizzazioni necessarie per verificare la proprietà del bucket e per scrivere file nel bucket. 
+ Deve essere nello stesso del Regione AWS bucket di origine.
+ Può coincidere con il bucket di origine.
+ Può essere di proprietà di un account Account AWS diverso da quello che possiede il bucket di origine.

## Elenco di Amazon S3 Inventory
<a name="storage-inventory-contents"></a>

Un file dell'elenco di inventario contiene un elenco degli oggetti presenti nel bucket di origine e i metadata per ogni oggetto. Un file dell'elenco di inventario viene archiviato nel bucket di destinazione con uno dei seguenti formati:
+ Come un file CSV compresso con GZIP
+ Come un file in formato ORC (optimized row columnar) Apache compresso con ZLIB
+ Come un file Apache Parquet compresso con Snappy

**Nota**  
Non è garantito che gli oggetti nei report di Inventario Amazon S3 siano ordinati in qualsiasi ordine.

Un file di elenco di inventario contiene l’elenco degli oggetti presenti nel bucket di origine e i metadata per ogni oggetto elencato. Questi campi predefiniti sono sempre inclusi:
+ **Bucket Name (Nome bucket)**: nome del bucket cui è destinato l'inventario.
+ **ETag**— Il tag di entità (ETag) è un hash dell'oggetto. ETag Riflette le modifiche solo al contenuto di un oggetto, non ai suoi metadati. ETag Può essere un MD5 riassunto dei dati dell'oggetto. a seconda di come l'oggetto è stato creato e crittografato. Per ulteriori informazioni, consulta [https://docs.aws.amazon.com/AmazonS3/latest/API/API_Object.html](https://docs.aws.amazon.com/AmazonS3/latest/API/API_Object.html) in *Amazon Simple Storage Service API Reference* (Guida di riferimento per l'API di Amazon Simple Storage Service).
+ **Nome chiave**: il nome della chiave dell'oggetto (o chiave) che identifica in modo univoco l'oggetto nel bucket. Se si utilizza il formato di file CSV, il nome della chiave è codificato in formato URL e dovrà essere decodificato prima di poterlo utilizzare.
+ **Data dell'ultima modifica**: la più recente tra la data di creazione dell'oggetto o la data dell'ultima modifica.
+ **Dimensione**: la dimensione dell'oggetto in byte, esclusa la dimensione dei caricamenti incompleti in più parti, dei metadati degli oggetti e dei contrassegni di eliminazione.
+ **Classe di archiviazione**: la classe di archiviazione utilizzata per archiviare l'oggetto. impostato su `STANDARD`, `REDUCED_REDUNDANCY`, `STANDARD_IA`, `ONEZONE_IA`, `INTELLIGENT_TIERING`, `GLACIER`, `DEEP_ARCHIVE`, `OUTPOSTS`, `GLACIER_IR` o `SNOW`. Per ulteriori informazioni, consulta [Comprensione e gestione delle classi di storage Amazon S3](storage-class-intro.md).
**Nota**  
Inventario S3 non supporta S3 Express One Zone.

È possibile scegliere di includere nel report i seguenti campi di metadati aggiuntivi:
+ **Algoritmo di checksum**: indica l'algoritmo usato per creare il checksum dell'oggetto. Per ulteriori informazioni, consulta [Utilizzo di algoritmi di checksum supportati](checking-object-integrity-upload.md#using-additional-checksums).
+ **Stato della crittografia: lo stato** della crittografia lato server, a seconda del tipo di chiave di crittografia utilizzata: crittografia lato server con chiavi gestite Amazon S3 (SSE-S3), crittografia lato server con () chiavi (SSE-KMS), crittografia lato server a due livelli con chiavi AWS Key Management Service (DSSE-KMS AWS KMS) o crittografia lato server con chiavi fornite dal cliente (SSE-C). AWS KMS Impostata su `SSE-S3`, `SSE-KMS`, `DSSE-KMS`, `SSE-C` o `NOT-SSE`. Uno stato di `NOT-SSE` indica che l'oggetto non è crittografato con crittografia lato server. Per ulteriori informazioni, consulta [Protezione dei dati con la crittografia](UsingEncryption.md).
+ **Livello di accesso S3 Intelligent-Tiering**: livello di accesso (frequente o raro) dell'oggetto se archiviato nella classe di archiviazione S3 Intelligent-Tiering. Impostata su `FREQUENT`, `INFREQUENT`, `ARCHIVE_INSTANT_ACCESS`, `ARCHIVE` o `DEEP_ARCHIVE`. Per ulteriori informazioni, consulta [Classe di storage per ottimizzare automaticamente i dati con modelli di accesso variabili o sconosciuti](storage-class-intro.md#sc-dynamic-data-access).
+ **Data di fine conservazione del blocco oggetti S3**: data fino alla quale l'oggetto bloccato non può essere eliminato. Per ulteriori informazioni, consulta [Blocco di oggetti con Object Lock](object-lock.md).
+ **Modalità di conservazione del blocco oggetti S3**: impostata su `Governance` o `Compliance` per gli oggetti bloccati. Per ulteriori informazioni, consulta [Blocco di oggetti con Object Lock](object-lock.md).
+ **Stato legale blocco oggetti S3**: impostato su `On` se è stato applicato un blocco di carattere legale a un oggetto, altrimenti su un oggetto. Altrimenti il valore è impostato su `Off`. Per ulteriori informazioni, consulta [Blocco di oggetti con Object Lock](object-lock.md).
+ **ID versione**: l'ID versione dell'oggetto. Quando viene attivata la funzione Controllo delle versioni in un bucket, Amazon S3 assegna un numero di versione agli oggetti aggiunti al bucket. Per ulteriori informazioni, consulta [Conservazione di più versioni degli oggetti con Controllo delle versioni S3](Versioning.md). (Questo campo non è incluso se l'elenco è configurato unicamente per la versione corrente degli oggetti).
+ **IsLatest**— Imposta `True` se l'oggetto è la versione corrente dell'oggetto. (Questo campo non è incluso se l'elenco è configurato unicamente per la versione corrente degli oggetti).
+ **Contrassegno di eliminazione**: impostato su `True` se l'oggetto è un contrassegno di eliminazione. Per ulteriori informazioni, consulta [Conservazione di più versioni degli oggetti con Controllo delle versioni S3](Versioning.md). (Questo campo viene aggiunto automaticamente al report se questo è stato configurato per comprendere tutte le versioni degli oggetti).
+ **Multipart upload flag (Contrassegno di caricamento in più parti)**: impostato su `True` se l'oggetto è stato caricato come caricamento in più parti. Per ulteriori informazioni, consulta [Caricamento e copia di oggetti utilizzando il caricamento multiparte in Amazon S3](mpuoverview.md).
+ **Proprietario dell'oggetto** - L'ID utente canonico del proprietario dell'oggetto. Per ulteriori informazioni, consulta [Trova l'ID utente canonico per il tuo AWS account](https://docs.aws.amazon.com/accounts/latest/reference/manage-acct-identifiers.html#FindCanonicalId) nella Guida di *riferimento per la gestione degli AWS account*.
+ **Stato della replica**: impostare su `PENDING`, `COMPLETED`, `FAILED` oppure`REPLICA`. Per ulteriori informazioni, consulta [Ottenimento delle informazioni sullo stato della replica](replication-status.md).
+ **Stato delle chiavi bucket S3**: impostare su `ENABLED` o `DISABLED`. Indica se l'oggetto utilizza la chiave bucket S3 per SSE-KMS. Per ulteriori informazioni, consulta [Utilizzo di chiavi bucket Amazon S3](bucket-key.md).
+ **Elenco di controllo dell'accesso agli oggetti**: una lista di controllo degli accessi (ACL) per ogni oggetto che definisce a quali Account AWS o gruppi è concesso l'accesso a tale oggetto e il tipo di accesso concesso. Il campo ACL oggetto è definito in formato JSON. Un report di S3 Inventory include ACLs gli oggetti associati agli oggetti nel bucket di origine, anche quando ACLs sono disabilitati per il bucket. Per ulteriori informazioni, consultare [Utilizzo del campo ACL oggetto](objectacl.md) e [Panoramica delle liste di controllo accessi (ACL)](acl-overview.md).
**Nota**  
Il campo ACL oggetto è definito in formato JSON. Un report di inventario visualizza il valore per il campo ACL oggetto come stringa con codifica base64.  
Ad esempio, si supponga di avere il seguente campo ACL oggetto in formato JSON:  

  ```
  {
          "version": "2022-11-10",
          "status": "AVAILABLE",
          "grants": [{
              "canonicalId": "example-canonical-user-ID",
              "type": "CanonicalUser",
              "permission": "READ"
          }]
  }
  ```
Il campo ACL oggetto è codificato e visualizzato come la seguente stringa con codifica base64:  

  ```
  eyJ2ZXJzaW9uIjoiMjAyMi0xMS0xMCIsInN0YXR1cyI6IkFWQUlMQUJMRSIsImdyYW50cyI6W3siY2Fub25pY2FsSWQiOiJleGFtcGxlLWNhbm9uaWNhbC11c2VyLUlEIiwidHlwZSI6IkNhbm9uaWNhbFVzZXIiLCJwZXJtaXNzaW9uIjoiUkVBRCJ9XX0=
  ```
Per ottenere il valore decodificato in JSON per il campo ACL oggetto, puoi eseguire una query su questo campo in Amazon Athena. Per ulteriori esempi di query, consulta [Esecuzione di query sull'inventario Amazon S3 con Amazon Athena](storage-inventory-athena-query.md).
+ **Data di scadenza del ciclo** di vita: imposta il timestamp di scadenza del ciclo di vita dell'oggetto. Questo campo verrà compilato solo se l'oggetto deve scadere in base a una regola del ciclo di vita applicabile. In altri casi, il campo sarà vuoto. Agli oggetti con stato di `FAILED` replica non verrà inserita una data di scadenza, poiché S3 Lifecycle impedisce le azioni di scadenza e transizione su questi oggetti fino al completamento della replica. Per ulteriori informazioni, consulta [Oggetti in scadenza](lifecycle-expire-general-considerations.md).

**Nota**  
Quando un oggetto raggiunge la fine del suo ciclo di vita in base alla relativa configurazione, Amazon S3 lo aggiunge alla coda degli oggetti da eliminare e lo rimuove in modo asincrono. Deve pertanto esistere un ritardo tra la data di scadenza dell'oggetto e la data in cui Amazon S3 rimuove tale oggetto. Il report di inventario include gli oggetti scaduti ma non ancora rimossi. Per ulteriori informazioni sulle operazioni di scadenza nel ciclo di vita S3, consulta [Oggetti in scadenza](lifecycle-expire-general-considerations.md).

Di seguito è riportato un esempio di report di inventario con campi di metadati aggiuntivi, composto da quattro record.

```
amzn-s3-demo-bucket1    example-object-1    EXAMPLEDC8l.XJCENlF7LePaNIIvs001    TRUE        1500    2024-08-15T15:28:26.0004    EXAMPLE21e1518b92f3d92773570f600    STANDARD    FALSE    COMPLETED    SSE-KMS    2025-01-25T15:28:26.000Z    COMPLIANCE    Off        ENABLED        eyJ2ZXJzaW9uIjoiMjAyMi0xMS0xMCIsInN0YXR1cyI6IkFWQUlMQUJMRSIsImdyYW50cyI6W3sicGVybWlzc2lvbiI6IkZVTExfQ09OVFJPTCIsInR5cGUiOiJDYW5vbmljYWxVc2VyIiwiY2Fub25pY2FsSWQiOiJFWEFNUExFNzY2ZThmNmIxMTVkOTNkNDFkZjJlYWM0MjBhYTRhNDY1ZDE3N2MxMzk4YmM2YTA4OGM3NmI3MDAwIn1dfQ==    EXAMPLE766e8f6b115d93d41df2eac420aa4a465d177c1398bc6a088c76b7000
amzn-s3-demo-bucket1    example-object-2    EXAMPLEDC8l.XJCENlF7LePaNIIvs002    TRUE        200    2024-08-21T15:28:26.000Z    EXAMPLE21e1518b92f3d92773570f601    INTELLIGENT_TIERING    FALSE    COMPLETED    SSE-KMS    2025-01-25T15:28:26.000Z    COMPLIANCE    Off    INFREQUENT    ENABLED    SHA-256    eyJ2ZXJzaW9uIjoiMjAyMi0xMS0xMCIsInN0YXR1cyI6IkFWQUlMQUJMRSIsImdyYW50cyI6W3sicGVybWlzc2lvbiI6IkZVTExfQ09OVFJPTCIsInR5cGUiOiJDYW5vbmljYWxVc2VyIiwiY2Fub25pY2FsSWQiOiJFWEFNUExFNzY2ZThmNmIxMTVkOTNkNDFkZjJlYWM0MjBhYTRhNDY1ZDE3N2MxMzk4YmM2YTA4OGM3NmI3MDAwIn1dfQ==    EXAMPLE766e8f6b115d93d41df2eac420aa4a465d177c1398bc6a088c76b7001
amzn-s3-demo-bucket1    example-object-3    EXAMPLEDC8l.XJCENlF7LePaNIIvs003    TRUE        12500    2023-01-15T15:28:30.000Z    EXAMPLE21e1518b92f3d92773570f602    STANDARD    FALSE    REPLICA    SSE-KMS    2025-01-25T15:28:26.000Z    GOVERNANCE    On        ENABLED        eyJ2ZXJzaW9uIjoiMjAyMi0xMS0xMCIsInN0YXR1cyI6IkFWQUlMQUJMRSIsImdyYW50cyI6W3sicGVybWlzc2lvbiI6IkZVTExfQ09OVFJPTCIsInR5cGUiOiJDYW5vbmljYWxVc2VyIiwiY2Fub25pY2FsSWQiOiJFWEFNUExFNzY2ZThmNmIxMTVkOTNkNDFkZjJlYWM0MjBhYTRhNDY1ZDE3N2MxMzk4YmM2YTA4OGM3NmI3MDAwIn1dfQ==    EXAMPLE766e8f6b115d93d41df2eac420aa4a465d177c1398bc6a088c76b7002
amzn-s3-demo-bucket1    example-object-4    EXAMPLEDC8l.XJCENlF7LePaNIIvs004    TRUE        100    2021-02-15T15:28:27.000Z    EXAMPLE21e1518b92f3d92773570f603    STANDARD    FALSE    COMPLETED    SSE-KMS    2025-01-25T15:28:26.000Z    COMPLIANCE    Off        ENABLED        eyJ2ZXJzaW9uIjoiMjAyMi0xMS0xMCIsInN0YXR1cyI6IkFWQUlMQUJMRSIsImdyYW50cyI6W3sicGVybWlzc2lvbiI6IkZVTExfQ09OVFJPTCIsInR5cGUiOiJDYW5vbmljYWxVc2VyIiwiY2Fub25pY2FsSWQiOiJFWEFNUExFNzY2ZThmNmIxMTVkOTNkNDFkZjJlYWM0MjBhYTRhNDY1ZDE3N2MxMzk4YmM2YTA4OGM3NmI3MDAwIn1dfQ==    EXAMPLE766e8f6b115d93d41df2eac420aa4a465d177c1398bc6a088c76b7003
```

Consigliamo di creare una policy del ciclo di vita che elimini i vecchi elenchi di inventario. Per ulteriori informazioni, consulta [Gestione del ciclo di vita degli oggetti](object-lifecycle-mgmt.md).

L'autorizzazione `s3:PutInventoryConfiguration` consente all'utente di selezionare tutti i campi di metadati elencati in precedenza per ogni oggetto durante la configurazione di un elenco inventario e di specificare il bucket di destinazione in cui archiviare l'inventario. Un utente con accesso in lettura agli oggetti nel bucket di destinazione può accedere a tutti i campi di metadati degli oggetti disponibili nell'elenco inventario. Per limitare l'accesso a un report di inventario, consulta [Concedere autorizzazioni per S3 Inventory e S3 Analytics](example-bucket-policies.md#example-bucket-policies-s3-inventory-1).

### Consistenza dell'inventario
<a name="storage-inventory-contents-consistency"></a>

In ogni elenco di inventario potrebbero non comparire tutti gli oggetti. L'elenco inventario fornisce l'eventuale consistenza delle richieste `PUT` (sia di nuovi oggetti che di sovrascritture) e delle richieste `DELETE`. Ogni elenco di inventario per un bucket è una snapshot degli elementi del bucket. Questi elenchi sono alla fine coerenti (ovvero, un elenco potrebbe non includere oggetti aggiunti o eliminati di recente). 

Per convalidare lo stato di un oggetto prima di agire sull'oggetto stesso, consigliamo di effettuare una richiesta REST API `HeadObject` per recuperare i metadati dell'oggetto o controllare le proprietà dell'oggetto nella console di Amazon S3. Puoi anche controllare i metadati degli oggetti con o con gli SDK. AWS CLI AWS Per ulteriori informazioni, consulta [https://docs.aws.amazon.com/AmazonS3/latest/API/RESTObjectHEAD.html](https://docs.aws.amazon.com/AmazonS3/latest/API/RESTObjectHEAD.html) in *Amazon Simple Storage Service API Reference* (Guida di riferimento per l'API di Amazon Simple Storage Service).

Per ulteriori informazioni sull'utilizzo di Amazon S3 Inventory, consulta gli argomenti riportati di seguito.

**Topics**
+ [Bucket di origine e di destinazione](#storage-inventory-buckets)
+ [Elenco di Amazon S3 Inventory](#storage-inventory-contents)
+ [Configurazione di Amazon S3 Inventory](configure-inventory.md)
+ [Individuazione dell'elenco inventario](storage-inventory-location.md)
+ [Impostazione delle notifiche di eventi Amazon S3 per il completamento dell'inventario](storage-inventory-notification.md)
+ [Esecuzione di query sull'inventario Amazon S3 con Amazon Athena](storage-inventory-athena-query.md)
+ [Convertire stringhe di ID versione vuote nei report Inventario Amazon S3 in stringhe nulle](inventory-configure-bops.md)
+ [Utilizzo del campo ACL oggetto](objectacl.md)

# Configurazione di Amazon S3 Inventory
<a name="configure-inventory"></a>

Amazon S3 Inventory fornisce un elenco di tipo file flat contenente oggetti e metadati in base a una pianificazione definita. Puoi utilizzare S3 Inventory come alternativa pianificata all'operazione API sincrona `List` di Amazon S3. S3 Inventory fornisce file di output con valori separati da virgole (CSV), in [Apacheformato ORC (Optimized Row Columnar)](https://orc.apache.org/) o in formato [https://parquet.apache.org/](https://parquet.apache.org/) che elencano gli oggetti e i metadati corrispondenti. 

Puoi configurare S3 Inventory per creare elenchi di inventario su base giornaliera o settimanale per un bucket S3 o per oggetti che condividono un prefisso (oggetti con nomi che iniziano con la stessa stringa). Per ulteriori informazioni, consulta [Catalogazione e analisi dei dati con Inventario S3](storage-inventory.md).

In questa sezione viene descritto come configurare un inventario inserendo le informazioni sui bucket di origine e destinazione dell'inventario.

**Topics**
+ [Panoramica di](#storage-inventory-setting-up)
+ [Creazione di una policy di bucket di destinazione](#configure-inventory-destination-bucket-policy)
+ [Concessione ad Amazon S3 dell'autorizzazione per l'utilizzo della chiave gestita dal cliente per la crittografia](#configure-inventory-kms-key-policy)
+ [Configurazione dell'inventario utilizzando la console S3](#configure-inventory-console)
+ [Utilizzo di REST API per utilizzare Inventario S3](#rest-api-inventory)

## Panoramica di
<a name="storage-inventory-setting-up"></a>

Amazon S3 Inventory semplifica la gestione dell'archiviazione tramite la creazione di elenchi di oggetti in un bucket S3 in base a una pianificazione definita. È possibile configurare diversi elenchi di inventario per un bucket. Gli elenchi di inventario sono pubblicati su file CSV, ORC o Parquet in un bucket di destinazione. 

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 console effettua la prima fase della seguente procedura: l'aggiunta di una policy di bucket al bucket di destinazione.

**Per configurare un Amazon S3 Inventory per un bucket S3**

1. **Aggiungere una policy di bucket per il bucket di destinazione.**

   È necessario creare una policy del bucket sul bucket di destinazione che conceda le autorizzazioni ad Amazon S3 per scrivere oggetti nel bucket nella posizione definita. Per un esempio di policy, consulta [Concedere autorizzazioni per S3 Inventory e S3 Analytics](example-bucket-policies.md#example-bucket-policies-s3-inventory-1). 

1. **Configurare un inventario per elencare gli oggetti in un bucket di origine e pubblicare l'elenco su un bucket di destinazione.**

   Quando si configura un elenco di inventario per un bucket di origine, viene specificato il bucket di destinazione dove si intende archiviare l'elenco, indicando se si vuole generare l'elenco giornalmente o settimanalmente. Si può anche configurare se elencare tutte le versioni dell'oggetto o solo quelle correnti e quali metadati dell'oggetto includere. 

   Alcuni campi dei metadati degli oggetti nelle configurazioni dei report dell'Inventario S3 sono opzionali, cioè sono disponibili per impostazione predefinita, ma possono essere limitati quando si concede a un utente l'autorizzazione `s3:PutInventoryConfiguration`. È possibile controllare se gli utenti possono includere questi campi di metadati opzionali nei loro report utilizzando la chiave di condizione `s3:InventoryAccessibleOptionalFields`.

   Per ulteriori informazioni sui campi di metadati opzionali disponibili in Inventario S3, consulta la sezione [https://docs.aws.amazon.com//AmazonS3/latest/API/API_PutBucketInventoryConfiguration.html#API_PutBucketInventoryConfiguration_RequestBody](https://docs.aws.amazon.com//AmazonS3/latest/API/API_PutBucketInventoryConfiguration.html#API_PutBucketInventoryConfiguration_RequestBody) in *Riferimento API di Amazon Simple Storage Service*. Per ulteriori informazioni sulla limitazione dell'accesso a determinati campi di metadati opzionali in una configurazione dell'inventario, consulta [Controllo della creazione della configurazione dei report di Inventario S3](example-bucket-policies.md#example-bucket-policies-s3-inventory-2).

   Puoi specificare che il file della lista di inventario sia crittografato utilizzando la crittografia lato server con una chiave gestita Amazon S3 (SSE-S3) o AWS Key Management Service una () chiave gestita dal cliente AWS KMS(SSE-KMS). 
**Nota**  
Il Chiave gestita da AWS (`aws/s3`) non è supportato per la crittografia SSE-KMS con S3 Inventory. 

   Per ulteriori informazioni su SSE-S3 e SSE-KMS, consulta [Protezione dei dati con la crittografia lato server](serv-side-encryption.md). Se si intende utilizzare la crittografia SSE-KMS, consulta la Fase 3.
   + Per informazioni su come utilizzare la console per configurare un elenco inventario, consulta [Configurazione dell'inventario utilizzando la console S3](#configure-inventory-console).
   + Per utilizzare l'API Amazon S3 per configurare un elenco di inventario, utilizza l'operazione API [https://docs.aws.amazon.com/AmazonS3/latest/API/RESTBucketPUTInventoryConfig.html](https://docs.aws.amazon.com/AmazonS3/latest/API/RESTBucketPUTInventoryConfig.html)REST o l'equivalente da o. AWS CLI AWS SDKs 

1. **Per crittografare il file dell'elenco di inventario con SSE-KMS, concedi a Simple Storage Service (Amazon S3) l'autorizzazione per l'utilizzo della AWS KMS key.**

   Puoi configurare la crittografia per il file dell'elenco di inventario utilizzando la console Amazon S3, l'API REST AWS CLI di Amazon S3 oppure. AWS SDKs Indipendentemente dalla soluzione scelta, devi concedere ad Amazon S3 l'autorizzazione per l'utilizzo della chiave gestita dal cliente per crittografare il file di inventario. Per [fornire ad Amazon S3 l’autorizzazione, modifica la policy della chiave gestita dal cliente](https://docs.aws.amazon.com/AmazonS3/latest/userguide/configure-inventory.html#configure-inventory-kms-key-policy) che desideri utilizzare per crittografare il file di inventario. Assicurati di aver fornito l’ARN della chiave KMS nella configurazione di Inventario S3 o nelle impostazioni di crittografia del bucket di destinazione. Se non è stato specificato l’ARN della chiave KMS e vengono utilizzate le impostazioni di crittografia predefinite, non potrai accedere al report di Inventario S3.

   Il bucket di destinazione in cui è archiviato il file dell'elenco di inventario può essere di proprietà di un Account AWS  diverso rispetto all'account che possiede il bucket di origine. Se si utilizza la crittografia SSE-KMS per le operazioni multi-account di Inventario Amazon S3, si consiglia di utilizzare un ARN della chiave KMS completamente qualificato quando si configura Inventario S3. Per ulteriori informazioni, consulta [Utilizzo della crittografia SSE-KMS per operazioni multi-account](bucket-encryption.md#bucket-encryption-update-bucket-policy) e [https://docs.aws.amazon.com/AmazonS3/latest/API/API_ServerSideEncryptionByDefault.html](https://docs.aws.amazon.com/AmazonS3/latest/API/API_ServerSideEncryptionByDefault.html) nella *Documentazione di riferimento delle API Amazon Simple Storage Service*.
**Nota**  
Se non riesci ad accedere al report di Inventario S3, utilizza l’API [https://docs.aws.amazon.com/AmazonS3/latest/API/API_GetBucketEncryption.html](https://docs.aws.amazon.com/AmazonS3/latest/API/API_GetBucketEncryption.html) e verifica se nel bucket di destinazione è abilitata la crittografia SSE-KMS predefinita. Se non è stato specificato l’ARN della chiave KMS e vengono utilizzate le impostazioni di crittografia predefinite, non potrai accedere al report di Inventario S3. Per accedere nuovamente ai report di Inventario S3, fornisci l’ARN di una chiave KMS nella configurazione di Inventario S3 o nelle impostazioni di crittografia del bucket di destinazione.

## Creazione di una policy di bucket di destinazione
<a name="configure-inventory-destination-bucket-policy"></a>

Se crei la configurazione dell'inventario tramite la console Amazon S3, Amazon S3 crea automaticamente una policy di bucket sul bucket di destinazione che concede ad Amazon S3 l'autorizzazione di scrittura. Tuttavia, se crei la configurazione dell'inventario tramite o l' AWS CLI API REST di Amazon S3, devi aggiungere manualmente una policy del bucket sul bucket di destinazione. AWS SDKs La policy del bucket di destinazione di Inventario S3 consente ad Amazon S3 di scrivere i dati per i report di inventario nel bucket. 

Di seguito è riportato un esempio di policy dei bucket. 

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

****  

```
{  
      "Version":"2012-10-17",		 	 	 
      "Statement": [
        {
            "Sid": "InventoryExamplePolicy",
            "Effect": "Allow",
            "Principal": {
                "Service": "s3.amazonaws.com"
            },
            "Action": "s3:PutObject",
            "Resource": [
                "arn:aws:s3:::DOC-EXAMPLE-DESTINATION-BUCKET/*"
            ],
            "Condition": {
                "ArnLike": {
                    "aws:SourceArn": "arn:aws:s3:::DOC-EXAMPLE-SOURCE-BUCKET"
                },
                "StringEquals": {
                    "aws:SourceAccount": "source-123456789012",
                    "s3:x-amz-acl": "bucket-owner-full-control"
                }
            }
        }
    ]
}
```

------

Per ulteriori informazioni, consulta [Concedere autorizzazioni per S3 Inventory e S3 Analytics](example-bucket-policies.md#example-bucket-policies-s3-inventory-1).

Se si verifica un errore quando si tenta di creare la policy del bucket, vengono fornite le istruzioni su come correggerlo. Ad esempio, se scegli un bucket di destinazione in un altro Account AWS e non disponi delle autorizzazioni per leggere e scrivere nella policy del bucket, visualizzerai un messaggio di errore.

In questo caso, il proprietario del bucket di destinazione deve aggiungere la policy del bucket al bucket di destinazione. Se la policy non viene aggiunta al bucket di destinazione, non si otterrà alcun report di inventario, in quanto Amazon S3 non dispone dell'autorizzazione di scrittura per il bucket di destinazione. Se il bucket di origine è di proprietà di un account diverso da quello dell'utente attuale, l'ID account corretto del proprietario del bucket di origine verrà sostituito nella policy.

**Nota**  
Assicurati che non siano state aggiunte istruzioni di rifiuto alla policy del bucket di destinazione che impediscano la consegna dei report di inventario in questo bucket. Per ulteriori informazioni, consulta [Perché non riesco a generare un report di Inventario Amazon S3?](https://repost.aws/knowledge-center/s3-inventory-report)

## Concessione ad Amazon S3 dell'autorizzazione per l'utilizzo della chiave gestita dal cliente per la crittografia
<a name="configure-inventory-kms-key-policy"></a>

Per concedere ad Amazon S3 l'autorizzazione a utilizzare la tua chiave gestita dal cliente AWS Key Management Service (AWS KMS) per la crittografia lato server, devi utilizzare una policy di chiave. Per aggiornare la policy della chiave in modo da poter utilizzare la chiave gestita dal cliente, completa la procedura seguente.

**Per concedere ad Amazon S3 le autorizzazioni per la crittografia utilizzando la chiave gestita dal cliente**

1. Utilizzando la Account AWS chiave proprietaria della chiave gestita dal cliente, accedi a. Console di gestione AWS

1. Apri la AWS KMS console in [https://console.aws.amazon.com/kms](https://console.aws.amazon.com/kms).

1. Per modificare il Regione AWS, usa il selettore della regione nell'angolo in alto a destra della pagina.

1. Nel riquadro di navigazione, scegli **Chiavi gestite dal cliente**.

1. In **Chiavi gestite dal cliente**, scegli la chiave gestita dal cliente che desideri utilizzare per crittografare i file inventario.

1. Nella sezione **Policy della chiave**, scegli **Passa alla visualizzazione della policy**.

1. Per aggiornare la policy chiave, seleziona **Modifica**.

1. Nella pagina **Modifica policy delle chiavi**, aggiungi le seguenti righe alla policy della chiave esistente. Per `source-account-id` e `amzn-s3-demo-source-bucket`, fornisci i valori appropriati per il tuo caso d'uso.

   ```
   {
       "Sid": "Allow Amazon S3 use of the customer managed key",
       "Effect": "Allow",
       "Principal": {
           "Service": "s3.amazonaws.com"
       },
       "Action": [
           "kms:GenerateDataKey"
       ],
       "Resource": "*",
       "Condition":{
         "StringEquals":{
            "aws:SourceAccount":"source-account-id"
        },
         "ArnLike":{
           "aws:SourceARN": "arn:aws:s3:::amzn-s3-demo-source-bucket"
        }
      }
   }
   ```

1. Scegli **Save changes** (Salva modifiche).

Per ulteriori informazioni sulla creazione di chiavi gestite dal cliente e sull'utilizzo delle policy delle chiavi, consulta i seguenti collegamenti nella *Guida per Developer di AWS Key Management Service *:
+ [Gestione delle chiavi](https://docs.aws.amazon.com/kms/latest/developerguide/getting-started.html)
+ [Politiche chiave in AWS KMS](https://docs.aws.amazon.com/kms/latest/developerguide/key-policies.html)

**Nota**  
Assicurati che non siano state aggiunte istruzioni di rifiuto alla policy del bucket di destinazione che impediscano la consegna dei report di inventario in questo bucket. Per ulteriori informazioni, consulta [Perché non riesco a generare un report di Inventario Amazon S3?](https://repost.aws/knowledge-center/s3-inventory-report)

## Configurazione dell'inventario utilizzando la console S3
<a name="configure-inventory-console"></a>

Segui queste istruzioni per configurare l'inventario utilizzando la console S3.
**Nota**  
La consegna del primo report di inventario Amazon S3 può richiedere fino a 48 ore.

1. Accedi 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 riquadro di navigazione sinistro, scegli **Bucket per uso generico**.

1. Nell’elenco dei bucket seleziona il nome del bucket per cui desideri configurare Inventario Amazon S3.

1. Scegliere la scheda **Management** (Gestione),

1. In **Configurazioni inventario** seleziona **Crea configurazione inventario**.

1. Specifica un nome in **Nome della configurazione dell'inventario**.

1. Per **Ambito dell'inventario**, esegui le operazioni descritte di seguito.
   + Immetti un prefisso facoltativo.
   + Scegli quali versioni dell'oggetto includere, **Solo versioni correnti** o **Includi tutte le versioni**.

1. In **Dettagli report** scegli la posizione dell'account Account AWS in cui desideri salvare i report: **Questo account** o **Un account diverso**.

1. In **Destinazione**, scegli il bucket di destinazione in cui desideri salvare i report di inventario.

   Il bucket di destinazione deve trovarsi nello Regione AWS stesso bucket per il quale stai configurando l'inventario. Il bucket di destinazione può trovarsi in un diverso Account AWS. Quando specifichi il bucket di destinazione, puoi anche includere un prefisso opzionale per raggruppare insiemi i report di inventario. 

   Nel campo **Bucket di destinazione** viene visualizzata l'istruzione **Autorizzazione del bucket di destinazione** che viene aggiunta alla policy del bucket di destinazione per consentire ad Amazon S3 di inserire i dati in tale bucket. Per ulteriori informazioni, consulta [Creazione di una policy di bucket di destinazione](#configure-inventory-destination-bucket-policy).

1. In **Frequenza**, seleziona la frequenza con cui verrà generato il report: **Giornaliero** o **Settimanale**.

1. Per **Formato di output**, scegli uno dei seguenti formati per il report:
   + **CSV**: se prevedi di utilizzare questo report di inventario con Operazioni in batch S3 o se desideri analizzare questo report in un altro strumento, come Microsoft Excel, scegli **CSV**.
   + **Apache ORC**
   + **Apache Parquet**

1. In **Stato** seleziona **Abilita** o **Disabilita**.

1. Per configurare la crittografia lato server, in **Crittografia dei report di inventario**, segui la procedura riportata sotto:

   1. In **Crittografia lato server**, scegli **Non specificare una chiave di crittografia** o **Specifica una chiave di crittografia** per crittografare i dati.
      + 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 del bucket per la destinazione specificata richiede la crittografia degli oggetti prima di archiviarli in Amazon S3, è necessario scegli **Specifica 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. Se si sceglie **Specificare una chiave di crittografia**, in **Tipo di crittografia**si deve scegli la **chiave gestita da Amazon S3 (SSE-S3)** o la **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 su SSE-S3, consulta [Uso della crittografia lato server con chiavi gestite da Amazon S3 (SSE-S3)](UsingServerSideEncryption.md). Per ulteriori informazioni su SSE-KMS, consulta [Utilizzo della crittografia lato server con chiavi (SSE-KMS) AWS KMS](UsingKMSEncryption.md).
**Nota**  
Per crittografare il file elenco inventario con SSE-KMS, devi impostare Amazon S3 in modo che possa utilizzare la chiave gestita dal cliente. Per le istruzioni, consulta la sezione [Concedere ad Amazon S3 l'autorizzazione delle chiavi KMS per la crittografia](#configure-inventory-kms-key-policy).

   1. Se hai scelto **AWS Key Management Service la chiave (SSE-KMS)**, sotto **AWS KMS key**, puoi specificare la tua AWS KMS chiave tramite una delle seguenti opzioni.
**Nota**  
Se il bucket di destinazione che memorizza il file dell'elenco di inventario è di proprietà di un altro Account AWS, assicurati di utilizzare una chiave KMS ARN completa per specificare la tua chiave KMS.
      + Per scegliere da un elenco di chiavi KMS disponibili, scegli tra le **tue AWS KMS chiavi e scegli una chiave KMS con crittografia simmetrica dall'**elenco delle chiavi disponibili. Assicurati che la chiave KMS sia nella stessa Regione del bucket. 
**Nota**  
Nell'elenco vengono visualizzate sia la chiave Chiave gestita da AWS (`aws/s3`) che quella gestita dal cliente. Tuttavia, il Chiave gestita da AWS (`aws/s3`) non è supportato per la crittografia SSE-KMS con S3 Inventory. 
      + 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. Per **Campi di metadati aggiuntivi**, seleziona una o più delle seguenti opzioni per aggiungere il report di inventario:
   + **Dimensione**: la dimensione dell'oggetto in byte, esclusa la dimensione dei caricamenti incompleti in più parti, dei metadati degli oggetti e dei contrassegni di eliminazione.
   + **Data dell'ultima modifica**: la più recente tra la data di creazione dell'oggetto o la data dell'ultima modifica.
   +  **Caricamento in più parti**: specifica che l'oggetto è stato caricato in più parti. Per ulteriori informazioni, consulta [Caricamento e copia di oggetti utilizzando il caricamento multiparte in Amazon S3](mpuoverview.md).
   + **Stato di replica**: lo stato di replica dell'oggetto. Per ulteriori informazioni, consulta [Ottenimento delle informazioni sullo stato della replica](replication-status.md).
   + **Stato crittografia**: il tipo di crittografia lato server utilizzata per crittografare l'oggetto. Per ulteriori informazioni, consulta [Protezione dei dati con la crittografia lato server](serv-side-encryption.md).
   + **Stato della chiave del bucket**: indica se una chiave a livello di bucket generata da AWS KMS si applica all'oggetto. Per ulteriori informazioni, consulta [Riduzione del costo di SSE-KMS con le chiavi bucket Amazon S3](bucket-key.md).
   + **Elenco di controllo dell'accesso agli oggetti**: una lista di controllo degli accessi (ACL) per ogni oggetto che definisce a quali Account AWS o gruppi è concesso l'accesso a questo oggetto e il tipo di accesso concesso. Per ulteriori informazioni su questo campo, consulta [Utilizzo del campo ACL oggetto](objectacl.md). Per ulteriori informazioni su ACLs, vedere[Panoramica delle liste di controllo accessi (ACL)](acl-overview.md). 
   + **Proprietario dell'oggetto**: il proprietario dell'oggetto.
   + **Classe di archiviazione**: la classe di archiviazione utilizzata per archiviare l'oggetto. 
   + **Intelligent-Tiering: livello di accesso**: indica il livello di accesso (frequente o raro) dell'oggetto se è stato archiviato nella classe di archiviazione S3 Intelligent-Tiering. Per ulteriori informazioni, consulta [Classe di storage per ottimizzare automaticamente i dati con modelli di accesso variabili o sconosciuti](storage-class-intro.md#sc-dynamic-data-access).
   + **ETag**— Il tag entity (ETag) è un hash dell'oggetto. ETag Riflette le modifiche solo al contenuto di un oggetto, non ai suoi metadati. ETag Potrebbe essere o meno un MD5 riassunto dei dati dell'oggetto. a seconda di come l'oggetto è stato creato e crittografato. Per ulteriori informazioni, consulta [https://docs.aws.amazon.com/AmazonS3/latest/API/API_Object.html](https://docs.aws.amazon.com/AmazonS3/latest/API/API_Object.html) in *Amazon Simple Storage Service API Reference* (Guida di riferimento per l'API di Amazon Simple Storage Service).
   + **Algoritmo di checksum**: indica l'algoritmo usato per creare il checksum dell'oggetto. Per ulteriori informazioni, consulta [Utilizzo di algoritmi di checksum supportati](checking-object-integrity-upload.md#using-additional-checksums).
   + **Tutte le configurazioni di blocco degli oggetti**: lo stato di blocco dell'oggetto, incluse le seguenti impostazioni: 
     + **Blocco degli oggetti: modalità di conservazione**: il livello di protezione applicato all'oggetto, *Governance* o *Conformità*.
     + **Blocco degli oggetti: mantenere fino alla data**: data fino alla quale l'oggetto bloccato non può essere eliminato.
     + **Blocco degli oggetti: status della conservazione di carattere legale**: lo stato di conservazione ai fini legali dell'oggetto bloccato. 

     Per ulteriori informazioni sul blocco degli oggetti S3, consulta [Come funziona il blocco oggetti S3](object-lock.md#object-lock-overview).
   + **Data di scadenza del ciclo** di vita: il timestamp di scadenza del ciclo di vita degli oggetti nel rapporto di inventario. Questo campo verrà compilato solo se l'oggetto deve scadere in base a una regola del ciclo di vita applicabile. In altri casi, il campo sarà vuoto. Per ulteriori informazioni, consulta [Oggetti in scadenza](lifecycle-expire-general-considerations.md).

   Per ulteriori informazioni sul contenuto di un report di inventario, consulta [Elenco di Amazon S3 Inventory](storage-inventory.md#storage-inventory-contents). 

   Per ulteriori informazioni sulla limitazione dell'accesso a determinati campi di metadati opzionali in una configurazione dell'inventario, consulta [Controllo della creazione della configurazione dei report di Inventario S3](example-bucket-policies.md#example-bucket-policies-s3-inventory-2).

1. Scegli **Create** (Crea).

## Utilizzo di REST API per utilizzare Inventario S3
<a name="rest-api-inventory"></a>

Di seguito sono riportate le operazioni REST che è possibile utilizzare per lavorare con Inventario Amazon S3.
+  [https://docs.aws.amazon.com/AmazonS3/latest/API/RESTBucketDELETEInventoryConfiguration.html](https://docs.aws.amazon.com/AmazonS3/latest/API/RESTBucketDELETEInventoryConfiguration.html) 
+  [https://docs.aws.amazon.com/AmazonS3/latest/API/RESTBucketGETInventoryConfig.html](https://docs.aws.amazon.com/AmazonS3/latest/API/RESTBucketGETInventoryConfig.html) 
+  [https://docs.aws.amazon.com/AmazonS3/latest/API/RESTBucketListInventoryConfigs.html](https://docs.aws.amazon.com/AmazonS3/latest/API/RESTBucketListInventoryConfigs.html) 
+  [https://docs.aws.amazon.com/AmazonS3/latest/API/RESTBucketPUTInventoryConfig.html](https://docs.aws.amazon.com/AmazonS3/latest/API/RESTBucketPUTInventoryConfig.html) 

# Individuazione dell'elenco inventario
<a name="storage-inventory-location"></a>

Quando viene pubblicato un elenco di inventario, i file manifest vengono pubblicati nel seguente percorso del bucket di destinazione.

```
destination-prefix/amzn-s3-demo-source-bucket/config-ID/YYYY-MM-DDTHH-MMZ/manifest.json
 destination-prefix/amzn-s3-demo-source-bucket/config-ID/YYYY-MM-DDTHH-MMZ/manifest.checksum
 destination-prefix/amzn-s3-demo-source-bucket/config-ID/hive/dt=YYYY-MM-DD-HH-MM/symlink.txt
```
+ `destination-prefix` è il prefisso del nome della chiave dell'oggetto specificato facoltativamente nella configurazione dell'inventario. Puoi utilizzare questo prefisso per raggruppare tutti i file dell'elenco di inventario in un percorso comune all'interno del bucket di destinazione.
+ `amzn-s3-demo-source-bucket` è il bucket di origine per l'elenco inventario. Il nome del bucket di origine viene aggiunto per evitare conflitti quando più report di inventario provenienti da bucket di origine diversi vengono inviati allo stesso bucket di destinazione.
+ `config-ID` viene aggiunto per evitare conflitti con più report di inventario provenienti dallo stesso bucket di origine inviati allo stesso bucket di destinazione. `config-ID` proviene dalla configurazione del report di inventario ed è il nome del report definito durante la configurazione.
+ `YYYY-MM-DDTHH-MMZ` è il timestamp composto dall'ora di inizio e dalla data in cui la generazione del report di inventario comincia la scansione del bucket; ad esempio, `2016-11-06T21-32Z`.
+ `manifest.json` è il file manifest. 
+ `manifest.checksum`è l' MD5 hash del contenuto del `manifest.json` file. 
+ `symlink.txt` è il file manifesto compatibile con  Apache Hive. 

Gli elenchi di inventario vengono pubblicati giornalmente o settimanalmente nel seguente percorso del bucket di destinazione.

```
destination-prefix/amzn-s3-demo-source-bucket/config-ID/data/example-file-name.csv.gz
...
destination-prefix/amzn-s3-demo-source-bucket/config-ID/data/example-file-name-1.csv.gz
```
+ `destination-prefix` è il prefisso del nome della chiave dell'oggetto specificato facoltativamente nella configurazione dell'inventario. Puoi utilizzare questo prefisso per raggruppare tutti i file dell'elenco di inventario in un percorso comune nel bucket di destinazione.
+ `amzn-s3-demo-source-bucket` è il bucket di origine per l'elenco inventario. Il nome del bucket di origine viene aggiunto per evitare conflitti quando più report di inventario provenienti da bucket di origine diversi vengono inviati allo stesso bucket di destinazione.
+ `example-file-name``.csv.gz` è uno dei file CSV di inventario. I nomi di inventario ORC terminano con l'estensione del nome di file `.orc`, mentre i nomi di inventario Parquet terminano con l'estensione del nome di file `.parquet`.

## Manifest inventario
<a name="storage-inventory-location-manifest"></a>

Nei file manifest `manifest.json` e `symlink.txt` viene descritto dove sono posizionati i file di inventario. Ogni volta che viene distribuito un nuovo elenco di inventario, quest'ultimo è accompagnato da un nuovo set di file manifest. Questi file potrebbero sovrascriversi l'un l'altro. Nei bucket con il controllo delle versioni abilitato, Amazon S3 crea nuove versioni dei file manifesto. 

Ogni manifesto contenuto nel file `manifest.json` fornisce i metadata e altre informazioni di base riguardanti un inventario. Queste informazioni comprendono:
+ Il nome del bucket di origine
+ Il nome del bucket di destinazione
+ La versione dell'inventario
+ La creazione del timestamp in formato data epoca (Unix epoch) che è composto dall'ora di inizio e dalla data in cui il processo di generazione del report di inventario comincia la scansione del bucket
+ Il formato e lo schema dei file di inventario
+ Un elenco dei file di inventario che si trovano nel bucket di destinazione

Ogni volta che un `manifest.json` file viene scritto, è accompagnato da un `manifest.checksum` file che è l' MD5 hash del contenuto del `manifest.json` file.

**Example Manifest inventario in un file `manifest.json`**  
Negli esempi seguenti viene illustrato un manifesto inventario in un file `manifest.json` per gli inventari in formato CSV, ORC e Parquet.  
Di seguito viene riportato un esempio di un manifest in un file `manifest.json` per un inventario in formato CSV.  

```
{
    "sourceBucket": "amzn-s3-demo-source-bucket",
    "destinationBucket": "arn:aws:s3:::example-inventory-destination-bucket",
    "version": "2016-11-30",
    "creationTimestamp" : "1514944800000",
    "fileFormat": "CSV",
    "fileSchema": "Bucket, Key, VersionId, IsLatest, IsDeleteMarker, Size, LastModifiedDate, ETag, StorageClass, IsMultipartUploaded, ReplicationStatus, EncryptionStatus, ObjectLockRetainUntilDate, ObjectLockMode, ObjectLockLegalHoldStatus, IntelligentTieringAccessTier, BucketKeyStatus, ChecksumAlgorithm, ObjectAccessControlList, ObjectOwner",
    "files": [
        {
            "key": "Inventory/amzn-s3-demo-source-bucket/2016-11-06T21-32Z/files/939c6d46-85a9-4ba8-87bd-9db705a579ce.csv.gz",
            "size": 2147483647,
            "MD5checksum": "f11166069f1990abeb9c97ace9cdfabc"
        }
    ]
}
```
Di seguito viene riportato un esempio di un manifest in un file `manifest.json` per un inventario in formato ORC.  

```
{
    "sourceBucket": "amzn-s3-demo-source-bucket",
    "destinationBucket": "arn:aws:s3:::example-destination-bucket",
    "version": "2016-11-30",
    "creationTimestamp" : "1514944800000",
    "fileFormat": "ORC",
    "fileSchema": "struct<bucket:string,key:string,version_id:string,is_latest:boolean,is_delete_marker:boolean,size:bigint,last_modified_date:timestamp,e_tag:string,storage_class:string,is_multipart_uploaded:boolean,replication_status:string,encryption_status:string,object_lock_retain_until_date:timestamp,object_lock_mode:string,object_lock_legal_hold_status:string,intelligent_tiering_access_tier:string,bucket_key_status:string,checksum_algorithm:string,object_access_control_list:string,object_owner:string>",
    "files": [
        {
            "key": "inventory/amzn-s3-demo-source-bucket/data/d794c570-95bb-4271-9128-26023c8b4900.orc",
            "size": 56291,
            "MD5checksum": "5925f4e78e1695c2d020b9f6eexample"
        }
    ]
}
```
Di seguito viene riportato un esempio di un manifest in un file `manifest.json` per un inventario in formato Parquet.  

```
{
    "sourceBucket": "amzn-s3-demo-source-bucket",
    "destinationBucket": "arn:aws:s3:::example-destination-bucket",
    "version": "2016-11-30",
    "creationTimestamp" : "1514944800000",
    "fileFormat": "Parquet",
    "fileSchema": "message s3.inventory { required binary bucket (UTF8); required binary key (UTF8); optional binary version_id (UTF8); optional boolean is_latest; optional boolean is_delete_marker; optional int64 size; optional int64 last_modified_date (TIMESTAMP_MILLIS); optional binary e_tag (UTF8); optional binary storage_class (UTF8); optional boolean is_multipart_uploaded; optional binary replication_status (UTF8); optional binary encryption_status (UTF8); optional int64 object_lock_retain_until_date (TIMESTAMP_MILLIS); optional binary object_lock_mode (UTF8); optional binary object_lock_legal_hold_status (UTF8); optional binary intelligent_tiering_access_tier (UTF8); optional binary bucket_key_status (UTF8); optional binary checksum_algorithm (UTF8); optional binary object_access_control_list (UTF8); optional binary object_owner (UTF8);}",
    "files": [
        {
           "key": "inventory/amzn-s3-demo-source-bucket/data/d754c470-85bb-4255-9218-47023c8b4910.parquet",
            "size": 56291,
            "MD5checksum": "5825f2e18e1695c2d030b9f6eexample"
        }
    ]
}
```
Il file `symlink.txt` è un file manifesto compatibile con Apache Hive che consente a Hive di scoprire automaticamente i file di inventario e i relativi file di dati. Il manifest compatibile con Hive funziona con i servizi compatibili con Hive Athena e Amazon Redshift Spectrum. Funziona anche con applicazioni compatibili con Hive, incluse [https://prestodb.io/](https://prestodb.io/), [https://hive.apache.org/](https://hive.apache.org/), [https://databricks.com/spark/about/](https://databricks.com/spark/about/) e molte altre.  
Il file manifesto compatibile con `symlink.txt` Apache Hive attualmente non può essere utilizzato con  AWS Glue.  
La lettura del file `symlink.txt` con [https://hive.apache.org/](https://hive.apache.org/) e [https://databricks.com/spark/about/](https://databricks.com/spark/about/) non è supportata per i file di inventario in formato ORC e Parquet. 

# Impostazione delle notifiche di eventi Amazon S3 per il completamento dell'inventario
<a name="storage-inventory-notification"></a>

Puoi configurare una notifica di eventi Amazon S3 per ricevere una notifica quando viene creato il file checksum manifest, che indica che è stato aggiunto un elenco di inventario al bucket di destinazione. Il manifesto è un up-to-date elenco di tutti gli elenchi di inventario presenti nella posizione di destinazione.

Amazon S3 può pubblicare eventi in un argomento Amazon Simple Notification Service (Amazon SNS), una coda Amazon Simple Queue Service (Amazon SQS) o una funzione AWS Lambda . Per ulteriori informazioni, consulta [Notifiche di eventi Amazon S3](EventNotifications.md).

La seguente configurazione di notifica definisce che tutti i file `manifest.checksum` recentemente aggiunti al bucket di destinazione sono elaborati da AWS Lambda `cloud-function-list-write`.

```
<NotificationConfiguration>
  <QueueConfiguration>
      <Id>1</Id>
      <Filter>
          <S3Key>
              <FilterRule>
                  <Name>prefix</Name>
                  <Value>destination-prefix/source-bucket</Value>
              </FilterRule>
              <FilterRule>
                  <Name>suffix</Name>
                  <Value>checksum</Value>
              </FilterRule>
          </S3Key>
     </Filter>
     <CloudFunction>arn:aws:lambda:us-west-2:222233334444:cloud-function-list-write</CloudFunction>
     <Event>s3:ObjectCreated:*</Event>
  </QueueConfiguration>
  </NotificationConfiguration>
```

Per ulteriori informazioni, consulta [Using AWS Lambda with Amazon S3](https://docs.aws.amazon.com/lambda/latest/dg/with-s3.html) nella *AWS Lambda Developer* Guide.

# Esecuzione di query sull'inventario Amazon S3 con Amazon Athena
<a name="storage-inventory-athena-query"></a>

Puoi eseguire una query sui file di Inventario Amazon S3 con query SQL standard utilizzando Amazon Athena in tutte le regioni in cui Athena è disponibile. Per verificare Regione AWS la disponibilità, consulta la [Regione AWS Tabella.](https://aws.amazon.com/about-aws/global-infrastructure/regional-product-services/) 

Athena può eseguire query sui file di Inventario Amazon S3 in formato [ORC (optimized row columnar) Apache](https://orc.apache.org/), [https://parquet.apache.org/](https://parquet.apache.org/) o in formato CSV. Quando si utilizza Athena per eseguire query sui file dell'inventario, è consigliabile utilizzare file di inventario in formato ORC o Parquet. I formati ORC e Parquet consentono di eseguire query più rapidamente e a costi inferiori. ORC e Parquet sono formati di file a colonne autodescrittivi orientati ai tipi progettati per [http://hadoop.apache.org/](http://hadoop.apache.org/). Il formato colonnare permette al lettore di leggere, decomprimere ed elaborare solo le colonne necessarie per la query in corso. L'ORC e Parquet i formati per Amazon S3 Inventory sono disponibili in tutti. Regioni AWS

**Come utilizzare Athena per eseguire query sui file di Inventario Amazon S3**

1. Creare una tabella Athena. Per informazioni sulla creazione di una tabella, consultare [Creazione di tabelle in Amazon Athena](https://docs.aws.amazon.com/athena/latest/ug/creating-tables.html) nella *Guida per l'utente di Amazon Athena*.

1. Crea la query utilizzando uno dei seguenti modelli di query di esempio, a seconda che esegui la query su un report di inventario in formato ORC, Parquet o CSV. 
   + Quando utilizzi Athena per eseguire query su un report di inventario in formato ORC, utilizza la seguente query di esempio come un modello.

     La seguente query di esempio comprende tutti i campi opzionali in un report di inventario in formato ORC. 

     Per utilizzare questa query di esempio, effettua le seguenti operazioni: 
     + Sostituisci `your_table_name` con il nome della tabella Athena creata.
     + Rimuovi gli eventuali campi opzionali che non hai scelto per l'inventario in modo che la query corrisponda ai campi scelti.
     + Sostituisci il nome del bucket e la posizione dell'inventario seguenti (l'ID configurazione) come appropriato in base alla configurazione.

       `s3://amzn-s3-demo-bucket/config-ID/hive/`
     + Sostituisci la data `2022-01-01-00-00` in `projection.dt.range` con il primo giorno dell'intervallo di tempo entro il quale esegui la partizione dei dati in Athena. Per ulteriori informazioni, consulta [Partizionamento dei dati in Athena](https://docs.aws.amazon.com/athena/latest/ug/partitions.html).

     ```
     CREATE EXTERNAL TABLE your_table_name (
              bucket string,
              key string,
              version_id string,
              is_latest boolean,
              is_delete_marker boolean,
              size bigint,
              last_modified_date timestamp,
              e_tag string,
              storage_class string,
              is_multipart_uploaded boolean,
              replication_status string,
              encryption_status string,
              object_lock_retain_until_date bigint,
              object_lock_mode string,
              object_lock_legal_hold_status string,
              intelligent_tiering_access_tier string,
              bucket_key_status string,
              checksum_algorithm string,
              object_access_control_list string,
              object_owner string,
              lifecycle_expiration_date timestamp
     ) PARTITIONED BY (
             dt string
     )
     ROW FORMAT SERDE 'org.apache.hadoop.hive.ql.io.orc.OrcSerde'
       STORED AS INPUTFORMAT 'org.apache.hadoop.hive.ql.io.SymlinkTextInputFormat'
       OUTPUTFORMAT 'org.apache.hadoop.hive.ql.io.IgnoreKeyTextOutputFormat'
       LOCATION 's3://amzn-s3-demo-bucket/config-ID/hive/'
       TBLPROPERTIES (
         "projection.enabled" = "true",
         "projection.dt.type" = "date",
         "projection.dt.format" = "yyyy-MM-dd-HH-mm",
         "projection.dt.range" = "2022-01-01-00-00,NOW",
         "projection.dt.interval" = "1",
         "projection.dt.interval.unit" = "HOURS"
       );
     ```
   + Quando utilizzi Athena per eseguire query su un report di inventario in formato Parquet, utilizza la seguente query di esempio come un report in formato OCR. Tuttavia, usa quanto segue Parquet SerDe al posto dell'ORC SerDe nella dichiarazione. `ROW FORMAT SERDE`

     ```
     ROW FORMAT SERDE 'org.apache.hadoop.hive.ql.io.parquet.serde.ParquetHiveSerDe'
     ```
   + Quando utilizzi Athena per eseguire query su un report di inventario in formato CSV, utilizza la seguente query di esempio come un modello.

     La seguente query di esempio comprende tutti i campi opzionali in un report di inventario in formato CSV. 

     Per utilizzare questa query di esempio, effettua le seguenti operazioni: 
     + Sostituisci `your_table_name` con il nome della tabella Athena creata.
     + Rimuovi gli eventuali campi opzionali che non hai scelto per l'inventario in modo che la query corrisponda ai campi scelti.
     + Sostituisci il nome del bucket e la posizione dell'inventario seguenti (l'ID configurazione) come appropriato in base alla configurazione. 

       `s3://amzn-s3-demo-bucket/config-ID/hive/`
     + Sostituisci la data `2022-01-01-00-00` in `projection.dt.range` con il primo giorno dell'intervallo di tempo entro il quale esegui la partizione dei dati in Athena. Per ulteriori informazioni, consulta [Partizionamento dei dati in Athena](https://docs.aws.amazon.com/athena/latest/ug/partitions.html).

     ```
     CREATE EXTERNAL TABLE your_table_name (
              bucket string,
              key string,
              version_id string,
              is_latest boolean,
              is_delete_marker boolean,
              size string,
              last_modified_date string,
              e_tag string,
              storage_class string,
              is_multipart_uploaded boolean,
              replication_status string,
              encryption_status string,
              object_lock_retain_until_date string,
              object_lock_mode string,
              object_lock_legal_hold_status string,
              intelligent_tiering_access_tier string,
              bucket_key_status string,
              checksum_algorithm string,
              object_access_control_list string,
              object_owner string,
              lifecycle_expiration_date string
     ) PARTITIONED BY (
             dt string
     )
     ROW FORMAT SERDE 'org.apache.hadoop.hive.serde2.OpenCSVSerde'
       STORED AS INPUTFORMAT 'org.apache.hadoop.hive.ql.io.SymlinkTextInputFormat'
       OUTPUTFORMAT 'org.apache.hadoop.hive.ql.io.IgnoreKeyTextOutputFormat'
       LOCATION 's3://amzn-s3-demo-bucket/config-ID/hive/'
       TBLPROPERTIES (
         "projection.enabled" = "true",
         "projection.dt.type" = "date",
         "projection.dt.format" = "yyyy-MM-dd-HH-mm",
         "projection.dt.range" = "2022-01-01-00-00,NOW",
         "projection.dt.interval" = "1",
         "projection.dt.interval.unit" = "HOURS"
       );
     ```

1. Ora puoi eseguire diverse query sull'inventario, come illustrato negli esempi seguenti. Sostituisci ogni `user input placeholder` con le tue informazioni.

   ```
   # Get a list of the latest inventory report dates available.
   SELECT DISTINCT dt FROM your_table_name ORDER BY 1 DESC limit 10;
             
   # Get the encryption status for a provided report date.
   SELECT encryption_status, count(*) FROM your_table_name WHERE dt = 'YYYY-MM-DD-HH-MM' GROUP BY encryption_status;
             
   # Get the encryption status for inventory report dates in the provided range.
   SELECT dt, encryption_status, count(*) FROM your_table_name 
   WHERE dt > 'YYYY-MM-DD-HH-MM' AND dt < 'YYYY-MM-DD-HH-MM' GROUP BY dt, encryption_status;
   ```

   Quando configuri S3 Inventory per aggiungere il campo Elenco di controllo di accesso dell'oggetto (ACL) a un report di inventario, il report visualizza il valore per il campo ACL oggetto come una stringa con codifica base64. Per ottenere il valore decodificato in JSON per il campo ACL oggetto, puoi eseguire una query su questo campo utilizzando Athena. Fare riferimento agli esempi di query riportati di seguito. Per ulteriori informazioni sul campo ACL oggetto, consulta [Utilizzo del campo ACL oggetto](objectacl.md).

   ```
   # Get the S3 keys that have Object ACL grants with public access.
   WITH grants AS (
       SELECT key,
           CAST(
               json_extract(from_utf8(from_base64(object_access_control_list)), '$.grants') AS ARRAY(MAP(VARCHAR, VARCHAR))
           ) AS grants_array
       FROM your_table_name
   )
   SELECT key,
          grants_array,
          grant
   FROM grants, UNNEST(grants_array) AS t(grant)
   WHERE element_at(grant, 'uri') = 'http://acs.amazonaws.com/groups/global/AllUsers'
   ```

   ```
   # Get the S3 keys that have Object ACL grantees in addition to the object owner.
   WITH grants AS 
       (SELECT key,
       from_utf8(from_base64(object_access_control_list)) AS object_access_control_list,
            object_owner,
            CAST(json_extract(from_utf8(from_base64(object_access_control_list)),
            '$.grants') AS ARRAY(MAP(VARCHAR, VARCHAR))) AS grants_array
       FROM your_table_name)
   SELECT key,
          grant,
          objectowner
   FROM grants, UNNEST(grants_array) AS t(grant)
   WHERE cardinality(grants_array) > 1 AND element_at(grant, 'canonicalId') != object_owner;
   ```

   ```
   # Get the S3 keys with READ permission that is granted in the Object ACL. 
   WITH grants AS (
       SELECT key,
           CAST(
               json_extract(from_utf8(from_base64(object_access_control_list)), '$.grants') AS ARRAY(MAP(VARCHAR, VARCHAR))
           ) AS grants_array
       FROM your_table_name
   )
   SELECT key,
          grants_array,
          grant
   FROM grants, UNNEST(grants_array) AS t(grant)
   WHERE element_at(grant, 'permission') = 'READ';
   ```

   ```
   # Get the S3 keys that have Object ACL grants to a specific canonical user ID.
   WITH grants AS (
       SELECT key,
           CAST(
               json_extract(from_utf8(from_base64(object_access_control_list)), '$.grants') AS ARRAY(MAP(VARCHAR, VARCHAR))
           ) AS grants_array
       FROM your_table_name
   )
   SELECT key,
          grants_array,
          grant
   FROM grants, UNNEST(grants_array) AS t(grant)
   WHERE element_at(grant, 'canonicalId') = 'user-canonical-id';
   ```

   ```
   # Get the number of grantees on the Object ACL.
   SELECT key,
          object_access_control_list,
          json_array_length(json_extract(object_access_control_list,'$.grants')) AS grants_count
   FROM your_table_name;
   ```

Per ulteriori informazioni sull'utilizzo di Athena, consulta la [Guida per l'utente di Amazon Athena](https://docs.aws.amazon.com/athena/latest/ug/).

# Convertire stringhe di ID versione vuote nei report Inventario Amazon S3 in stringhe nulle
<a name="inventory-configure-bops"></a>

**Nota**  
**La procedura seguente si applica solo ai report di Amazon S3 Inventory che includono tutte le versioni e solo se i report "tutte le versioni" vengono utilizzati come manifest per S3 Batch Operations su bucket che hanno il Controllo versioni S3 abilitato.** Inoltre, non è necessario convertire stringhe per i report di inventario S3 che specificano solo la versione corrente.

Puoi utilizzare i report di S3 Inventory come manifest per S3 Batch Operations. Tuttavia, quando Controllo versioni S3 è abilitato su un bucket, i report di S3 Inventory che includono tutte le versioni contrassegnano gli oggetti con versione nulla con stringhe vuote nel campo ID versione. Quando un rapporto di inventario include tutte le versioni dell'oggetto IDs, Batch Operations riconosce le `null` stringhe come versione IDs, ma non le stringhe vuote. 

Quando un processo di S3 Batch Operations utilizza come manifest un report "tutte le versioni" di S3 Inventory, non riuscirà a portare a termine tutte le attività sugli oggetti con una stringa vuota nel campo ID versione. Per convertire stringhe vuote nel campo ID versione del report S3 Inventory in stringhe `null` per Batch Operations, attenersi alla procedura seguente.

**Aggiorna un report di Amazon S3 Inventory da utilizzare con Batch Operations**

1. Accedi 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. Vai al report di Inventario S3. Il report dell'inventario si trova nel bucket di destinazione specificato durante la configurazione del report dell'inventario. Per ulteriori informazioni sull'individuazione dei report di inventario, consulta [Individuazione dell'elenco inventario](storage-inventory-location.md).

   1. Scegliere il nome del bucket di destinazione.

   1. Scegliere la cartella . La cartella prende il nome dal bucket della fonte d'origine.

   1. Scegli la cartella che prende il nome dalla configurazione di inventario.

   1. Seleziona la casella di spunta accanto alla cartella denominata **hive**. Nella parte superiore della pagina, scegli **Copia URI S3** per copiare l'URI S3 per la cartella.

1. Apri la console Amazon Athena all'indirizzo. [https://console.aws.amazon.com/athena/](https://console.aws.amazon.com/athena/home) 

1. Nell'editor di query, scegli **Impostazioni**, quindi seleziona **Gestisci**. Alla pagina **Gestisci impostazioni** per **Posizione del risultato della query**, scegli un bucket S3 in cui archiviare i risultati della query.

1. Nell'editor di query, creare una tabella Athena per conservare i dati nel report di inventario utilizzando il seguente comando. Sostituisci `table_name` con un nome a scelta e nella clausola `LOCATION`, inserisci l'URI S3 copiato in precedenza. Quindi scegli **Esegui** per eseguire la query.

   ```
   CREATE EXTERNAL TABLE table_name(bucket string, key string, version_id string) PARTITIONED BY (dt string)ROW FORMAT SERDE 'org.apache.hadoop.hive.serde2.OpenCSVSerde'STORED AS INPUTFORMAT 'org.apache.hadoop.hive.ql.io.SymlinkTextInputFormat' OUTPUTFORMAT 'org.apache.hadoop.hive.ql.io.IgnoreKeyTextOutputFormat' LOCATION 'Copied S3 URI';
   ```

1. Per cancellare l'editor di query, scegli **Cancella**. Quindi, caricare il report di inventario nella tabella utilizzando il comando seguente. Sostituisci il codice `table_name` con quello che hai scelto nella fase precedente. Quindi scegli **Esegui** per eseguire la query.

   ```
   MSCK REPAIR TABLE table_name;
   ```

1. Per cancellare l'editor di query, scegli **Cancella**. Esegui la seguente `SELECT` query per recuperare tutte le voci nel rapporto di inventario originale e sostituire qualsiasi versione vuota IDs con `null` stringhe. Sostituisci il codice `table_name` con quello che hai scelto in precedenza e sostituisci `YYYY-MM-DD-HH-MM` nella clausola `WHERE` con la data del report di inventario su cui eseguire questo strumento. Quindi scegli **Esegui** per eseguire la query.

   ```
   SELECT bucket as Bucket, key as Key, CASE WHEN version_id = '' THEN 'null' ELSE version_id END as VersionId FROM table_name WHERE dt = 'YYYY-MM-DD-HH-MM';
   ```

1. Torna alla console Amazon S3 ([https://console.aws.amazon.com/s3/](https://console.aws.amazon.com/s3/)) e vai al bucket S3 che hai scelto per la **posizione del risultato della** query in precedenza. All'interno, è presente una serie di cartelle che terminano con la data.

   Ad esempio, dovresti vedere qualcosa come **s3:**////Unsaved/2021/10/07/. **amzn-s3-demo-bucket** *query-result-location* Dovrebbe essere possibile visualizzare i file `.csv` contenenti i risultati della query `SELECT` che hai eseguito. 

   Scegli il file CSV con la data di modifica più recente. Scarica questo file sul tuo computer locale per il passaggio successivo.

1. Il file CSV generato contiene una riga di intestazione. Per utilizzare questo file CSV come input per un processo S3 Batch Operations, è necessario rimuovere la riga di intestazione, poiché Batch Operations non supporta le righe di intestazione nei manifest CSV. 

   Per rimuovere la riga di intestazione, è possibile eseguire uno dei seguenti comandi sul file. Sostituisci *`file.csv`* con il nome del tuo file CSV. 

   **Per macchine macOS e Linux**, eseguire il comando `tail` in una finestra Terminal. 

   ```
   tail -n +2 file.csv > tmp.csv && mv tmp.csv file.csv 
   ```

   **Per le macchine Windows, esegui il seguente script in una finestra di Windows**. PowerShell Sostituire `File-location` con il percorso al file e `file.csv` con il nome del file.

   ```
   $ins = New-Object System.IO.StreamReader File-location\file.csv
   $outs = New-Object System.IO.StreamWriter File-location\temp.csv
   try {
       $skip = 0
       while ( !$ins.EndOfStream ) {
           $line = $ins.ReadLine();
           if ( $skip -ne 0 ) {
               $outs.WriteLine($line);
           } else {
               $skip = 1
           }
       }
   } finally {
       $outs.Close();
       $ins.Close();
   }
   Move-Item File-location\temp.csv File-location\file.csv -Force
   ```

1. Dopo aver rimosso la riga di intestazione dal file CSV, è possibile utilizzarla come manifest in un processo di S3 Batch Operations. Carica il file CSV in un bucket S3 o in una posizione a tua scelta, quindi crea un processo Batch Operations utilizzando il file CSV come manifest.

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

# Utilizzo del campo ACL oggetto
<a name="objectacl"></a>

Un report Inventario Amazon S3 contiene un elenco degli oggetti presenti nel bucket di origine S3 e i metadata per ogni oggetto. Il campo Elenco di controllo di accesso dell'oggetto (ACL) è un campo di metadati disponibile in Inventario Amazon S3. In particolare, il campo ACL oggetto contiene la lista di controllo degli accessi (ACL) per ciascun oggetto. L'ACL di un oggetto definisce a quali Account AWS o a quali gruppi è concesso l'accesso a questo oggetto e il tipo di accesso concesso. Per ulteriori informazioni, consultare [Panoramica delle liste di controllo accessi (ACL)](acl-overview.md) e [Elenco di Amazon S3 Inventory](storage-inventory.md#storage-inventory-contents). 

 Il campo ACL oggetto nei report di Inventario Amazon S3 è definito in formato JSON. I dati JSON includono i seguenti campi: 
+ `version`: la versione del formato del campo ACL oggetto nei report di inventario. È in formato data `yyyy-mm-dd`. 
+ `status`: i valori possibili sono `AVAILABLE` o `UNAVAILABLE` per indicare se un ACL oggetto ACL è disponibile per un oggetto. Quando lo stato dell'ACL oggetto è `UNAVAILABLE`, il valore del campo Proprietario dell'oggetto nel report di inventario è anche `UNAVAILABLE`.
+ `grants`: coppie autorizzate dall'assegnatario che elencano lo stato di autorizzazione di ciascun assegnatario che viene concesso dall'ACL oggetto. I valori disponibili per un assegnatario sono `CanonicalUser` e `Group`. Per ulteriori informazioni sugli assegnatari, consulta [Assegnatari nelle liste di controllo degli accessi](https://docs.aws.amazon.com/AmazonS3/latest/userguide/acl-overview.html#specifying-grantee).

  Per un assegnatario con il tipo `Group`, una coppia autorizzata dall'assegnatario include i seguenti attributi:
  + `uri`: un gruppo Amazon S3 predefinito.
  + `permission`: le autorizzazioni ACL che vengono concesse sull'oggetto. Per ulteriori informazioni, consulta [Autorizzazioni ACL su un oggetto](https://docs.aws.amazon.com/AmazonS3/latest/userguide/acl-overview.html#permissions).
  + `type`: il tipo`Group`, che denota che l'assegnatario è un gruppo.

  Per un assegnatario con il tipo `CanonicalUser`, una coppia autorizzata dall’assegnatario include i seguenti attributi:
  + `canonicalId`: una forma offuscata dell'ID  Account AWS . L'ID utente canonico di an Account AWS è specifico di quell'account. È possibile recuperare l'ID utente canonico. Per ulteriori informazioni, consulta [Trovare l’ID utente canonico per il proprio Account AWS](https://docs.aws.amazon.com/accounts/latest/reference/manage-acct-identifiers.html#FindCanonicalId) nella *Guida di riferimento per la gestione degli account AWS *.
  + `permission`: le autorizzazioni ACL che vengono concesse sull'oggetto. Per ulteriori informazioni, consulta [Autorizzazioni ACL su un oggetto](https://docs.aws.amazon.com/AmazonS3/latest/userguide/acl-overview.html#permissions).
  + `type`— Il tipo`CanonicalUser`, che indica che il beneficiario è un. Account AWS

L'esempio seguente mostra i possibili valori per il campo ACL oggetto in formato JSON: 

```
{
    "version": "2022-11-10",
    "status": "AVAILABLE",
    "grants": [{
        "uri": "http://acs.amazonaws.com/groups/global/AllUsers",
        "permission": "READ",
        "type": "Group"
    }, {
        "canonicalId": "example-canonical-id",
        "permission": "FULL_CONTROL",
        "type": "CanonicalUser"
    }]
}
```

**Nota**  
Il campo ACL oggetto è definito in formato JSON. Un report di inventario visualizza il valore per il campo ACL oggetto come stringa con codifica base64.  
Ad esempio, si supponga di avere il seguente campo ACL oggetto in formato JSON:  

```
{
        "version": "2022-11-10",
        "status": "AVAILABLE",
        "grants": [{
            "canonicalId": "example-canonical-user-ID",
            "type": "CanonicalUser",
            "permission": "READ"
        }]
}
```
Il campo ACL oggetto è codificato e visualizzato come la seguente stringa con codifica base64:  

```
eyJ2ZXJzaW9uIjoiMjAyMi0xMS0xMCIsInN0YXR1cyI6IkFWQUlMQUJMRSIsImdyYW50cyI6W3siY2Fub25pY2FsSWQiOiJleGFtcGxlLWNhbm9uaWNhbC11c2VyLUlEIiwidHlwZSI6IkNhbm9uaWNhbFVzZXIiLCJwZXJtaXNzaW9uIjoiUkVBRCJ9XX0=
```
Per ottenere il valore decodificato in JSON per il campo ACL oggetto, puoi eseguire una query su questo campo in Amazon Athena. Per ulteriori esempi di query, consulta [Esecuzione di query sull'inventario Amazon S3 con Amazon Athena](storage-inventory-athena-query.md).