Localizar la descripción del inventario - Amazon Simple Storage Service

Localizar la descripción del inventario

Cuando se publica una lista de inventario, los archivos de manifiesto se publican en la siguiente ubicación del bucket de destino.

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 es el prefijo (nombre de la clave de objeto) establecido en la configuración del inventario, que se puede usar para agrupar todos los archivos de lista del inventario en una ubicación común del bucket de destino.

  • source-bucket es el bucket de origen para el que se realiza la lista del inventario. Se agrega para evitar las colisiones cuando se envían varios informes de inventario procedentes de distintos buckets de origen al mismo bucket de destino.

  • config-ID se agrega para evitar las colisiones con varios informes de inventario del mismo bucket de origen que se envían al mismo bucket de destino. El config-ID proviene de la configuración del informe de inventario, y es el nombre del informe que se define durante la configuración.

  • AAAA-MM-DDTHH-MMZ es la marca temporal que consta de la hora y de la fecha de inicio en la que la generación del informe de inventario comienza a explorar el bucket; por ejemplo, 2016-11-06T21-32Z.

  • manifest.json es el archivo de manifiesto.

  • manifest.checksum es el MD5 del contenido del archivo manifest.json.

  • symlink.txt es el archivo de manifiesto compatible con Apache Hive.

Las listas de inventario se publican en la siguiente ubicación del bucket de destino a diario o cada semana.

destination-prefix/source-bucket/config-ID/example-file-name.csv.gz ... destination-prefix/source-bucket/config-ID/example-file-name-1.csv.gz
  • destination-prefix es el prefijo (nombre de objeto de clave) definido en la configuración del inventario. Se puede utilizar para agrupar todos los archivos de lista de inventario en una ubicación común en el bucket de destino.

  • source-bucket es el bucket de origen para el que se realiza la lista del inventario. Se agrega para evitar las colisiones cuando se envían varios informes de inventario procedentes de distintos buckets de origen al mismo bucket de destino.

  • example-file-name.csv.gz es uno de los archivos de inventario CSV. Los nombres de inventario ORC terminan con la extensión .orc, mientras que los nombres de inventario Parquet terminan con la extensión .parquet.

Manifiesto de inventario

Los archivos de manifiesto manifest.json y symlink.txt describen dónde se encuentran los archivos de inventario. Siempre que se entrega una nueva lista de inventario, esta va acompañada de un nuevo conjunto de archivos de manifiesto. Estos archivos pueden sobrescribirse entre sí. En buckets con control de versiones, Amazon S3 crea nuevas versiones de los archivos de manifiesto.

Cada manifiesto incluido en el archivo manifest.json proporciona metadatos y otra información básica sobre un inventario. La información incluye lo siguiente:

  • Nombre del bucket de origen

  • Nombre del bucket de destino

  • Versión del inventario

  • Marca temporal de creación en formato de fecha de inicio que consta de la hora y de la fecha de inicio en la que la generación del informe de inventario comienza a explorar el bucket

  • Formato y esquema de los archivos de inventario

  • Lista real de los archivos de inventario que están en el bucket de destino

Cuando se escribe un archivo manifest.json, va acompañado de un archivo manifest.checksum, que es el MD5 del contenido de un archivo manifest.json.

ejemplo Manifiesto de inventario en un archivo manifest.json

En los ejemplos siguientes se muestra un manifiesto de inventario en un manifest.json archivo para inventarios con formato CSV, ORC y Parquet.

CSV

A continuación se incluye un ejemplo de un manifiesto en un archivo manifest.json para un inventario con 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", "files": [ { "key": "Inventory/example-source-bucket/2016-11-06T21-32Z/files/939c6d46-85a9-4ba8-87bd-9db705a579ce.csv.gz", "size": 2147483647, "MD5checksum": "f11166069f1990abeb9c97ace9cdfabc" } ] }
ORC

A continuación se incluye un ejemplo de un manifiesto en un archivo manifest.json para un inventario con 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>", "files": [ { "key": "inventory/example-source-bucket/data/d794c570-95bb-4271-9128-26023c8b4900.orc", "size": 56291, "MD5checksum": "5925f4e78e1695c2d020b9f6eexample" } ] }
Parquet

A continuación se incluye un ejemplo de un manifiesto en un archivo manifest.json para un inventario con 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); }", "files": [ { "key": "inventory/example-source-bucket/data/d754c470-85bb-4255-9218-47023c8b4910.parquet", "size": 56291, "MD5checksum": "5825f2e18e1695c2d030b9f6eexample" } ] }

El archivo symlink.txt es un archivo de manifiesto compatible con Apache Hive que permite a Hive detectar automáticamente los archivos de inventario y archivos de datos asociados. El manifiesto compatible con Hive funciona con los servicios compatibles con Hive Athena y Amazon Redshift Spectrum. También funciona con aplicaciones compatibles con Hive, como Presto, Apache Hive, Apache Spark y muchas otras.

importante

El archivo symlink.txt de manifiesto compatible con Apache Hive no funciona actualmente con AWS Glue.

El archivo symlink.txt no se puede leer con Apache Hive ni Apache Spark en los archivos de inventario con formato ORC o Parquet.