Localisation de votre liste d’inventaire - Amazon Simple Storage Service

Les traductions sont fournies par des outils de traduction automatique. En cas de conflit entre le contenu d'une traduction et celui de la version originale en anglais, la version anglaise prévaudra.

Localisation de votre liste d’inventaire

Lorsqu’une liste d’inventaire est publiée, les fichiers manifestes sont publiés dans l’emplacement suivant dans le compartiment de destination.

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 est le préfixe de nom de la clé d’objet défini de manière facultative dans la configuration de l’inventaire. Vous pouvez utiliser ce préfixe pour regrouper tous les fichiers de liste d’inventaire dans un emplacement commun au sein du compartiment de destination.

  • amzn-s3-demo-source-bucket est le compartiment source pour lequel la liste d’inventaire est effectuée. Le nom du compartiment source est ajouté pour éviter les collisions lorsque plusieurs rapports d’inventaire de différents compartiments source sont envoyés dans le même compartiment de destination.

  • config-ID est ajouté pour éviter les collisions avec plusieurs rapports d’inventaire du même compartiment source qui sont envoyés dans le même compartiment de destination. Le config-ID provient de la configuration de rapport d’inventaire et est le nom du rapport défini lors de la configuration.

  • YYYY-MM-DDTHH-MMZ est l’horodatage composé de l’heure de début et de la date à laquelle la génération de rapport d’inventaire a commencé à analyser le compartiment, par exemple, 2016-11-06T21-32Z.

  • manifest.json est le fichier manifeste.

  • manifest.checksumest le MD5 hachage du contenu du manifest.json fichier.

  • symlink.txt est le fichier manifeste compatible avec Apache Hive.

Les listes d’inventaire sont publiées sur une base quotidienne ou hebdomadaire dans l’emplacement suivant dans le compartiment de destination.

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 est le préfixe de nom de la clé d'objet défini de manière facultative dans la configuration de l'inventaire. Vous pouvez utiliser ce préfixe pour regrouper tous les fichiers de liste d’inventaire dans un emplacement commun au sein du compartiment de destination.

  • amzn-s3-demo-source-bucket est le compartiment source pour lequel la liste d’inventaire est effectuée. Le nom du compartiment source est ajouté pour éviter les collisions lorsque plusieurs rapports d'inventaire de différents compartiments source sont envoyés dans le même compartiment de destination.

  • example-file-name.csv.gz est l’un des fichiers de l’inventaire CSV. Les noms d’inventaire ORC se terminent par l’extension de nom de fichier .orc et les noms d’inventaire Parquet se terminent par l’extension de nom de fichier .parquet.

Manifeste d’inventaire

Les fichiers manifestes manifest.json et symlink.txt décrivent l’emplacement où les fichiers d’inventaire sont situés. Lorsqu’une nouvelle liste d’inventaire est fournie, elle est accompagnée d’un nouvel ensemble de fichiers manifestes. Ces fichiers peuvent s’écraser les uns les autres. Dans les compartiments activés pour la gestion des versions, Amazon S3 crée de nouvelles versions des fichiers de manifeste.

Chaque manifeste contenu dans le fichier manifest.json fournit des métadonnées et d’autres informations de base sur un inventaire. Les informations collectées sont les suivantes :

  • Nom de compartiment source

  • Nom du compartiment de destination

  • Version de l’inventaire

  • Horodatage de création, au format de date d’époque, composé de l’heure de début et de la date à laquelle le processus de génération de rapport d’inventaire a commencé à analyser le compartiment

  • Format et schéma des fichiers d’inventaire

  • Liste des fichiers d’inventaire se trouvant dans le compartiment de destination

Chaque fois qu'un manifest.json fichier est écrit, il est accompagné d'un manifest.checksum fichier qui est le MD5 hachage du contenu du manifest.json fichier.

Exemple Manifeste d’inventaire dans un fichier manifest.json

Voici des exemples de manifeste d’inventaire dans un fichier manifest.json pour les inventaires au format CSV, ORC et Parquet.

CSV

Voici un exemple de manifeste dans un fichier manifest.json pour un inventaire au format 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" } ] }
ORC

Voici un exemple de manifeste dans un fichier manifest.json pour un inventaire au format 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" } ] }
Parquet

Voici un exemple de manifeste dans un fichier manifest.json pour un inventaire au format 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" } ] }

Le fichier symlink.txt est un fichier manifeste compatible avec Apache Hive qui permet à Hive de découvrir automatiquement les fichiers d’inventaire et leurs fichiers de données associés. Le manifeste compatible avec Hive fonctionne avec les services Athena et Amazon Redshift Spectrum compatibles avec Hive. Il fonctionne également avec les applications compatibles avec Hive, notamment Presto, Apache HiveApache Spark et bien d’autres applications.

Important

Le fichier manifeste compatible avec symlink.txt Apache Hive ne fonctionne pas avec  AWS Glue actuellement.

La lecture du fichier symlink.txt avec Apache Hive et Apache Spark n’est pas prise en charge par les fichiers d’inventaire au format ORC ou Parquet.