Individuazione dell'elenco inventario - Amazon Simple Storage Service

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

Individuazione dell'elenco inventario

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

destination-prefix/source-bucket/config-ID/YYYY-MM-DDTHH-MMZ/manifest.json destination-prefix/source-bucket/config-ID/YYYY-MM-DDTHH-MMZ/manifest.checksum destination-prefix/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.

  • 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'hash MD5 del contenuto del file manifest.json.

  • 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/source-bucket/config-ID/data/example-file-name.csv.gz ... destination-prefix/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.

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

    Puoi richiedere un file di elenco di inventario con Amazon S3 Select. Nella console Amazon S3, scegli il nome dell'elenco di inventario (ad esempio, destination-prefix/source-bucket/config-ID /data/ .csv.gz). example-file-name Quindi, scegli Azioni oggetto e Query con S3 Select. Per un esempio di come utilizzare una funzione aggregata S3 Select per interrogare un file di elenco di inventario, vedi SUM Esempio

Manifest inventario

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 viene scritto un file manifest.json, questo è accompagnato da un file manifest.checksum che è l'hash MD5 del contenuto del file manifest.json.

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

CSV

Di seguito viene riportato un esempio di un manifest in un file manifest.json per un inventario in formato CSV.

{ "sourceBucket": "example-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/example-source-bucket/2016-11-06T21-32Z/files/939c6d46-85a9-4ba8-87bd-9db705a579ce.csv.gz", "size": 2147483647, "MD5checksum": "f11166069f1990abeb9c97ace9cdfabc" } ] }
ORC

Di seguito viene riportato un esempio di un manifest in un file manifest.json per un inventario in formato ORC.

{ "sourceBucket": "example-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/example-source-bucket/data/d794c570-95bb-4271-9128-26023c8b4900.orc", "size": 56291, "MD5checksum": "5925f4e78e1695c2d020b9f6eexample" } ] }
Parquet

Di seguito viene riportato un esempio di un manifest in un file manifest.json per un inventario in formato Parquet.

{ "sourceBucket": "example-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/example-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 Presto, Apache Hive, Apache Spark e molte altre.

Importante

Il file manifesto compatibile con symlink.txt Apache Hive attualmente non può essere utilizzato con  AWS Glue.

La lettura del file symlink.txt con Apache Hive e Apache Spark non è supportata per i file di inventario in formato ORC e Parquet.