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 del nombre de la clave del objeto que se especifica opcionalmente en la configuración del inventario. Puede utilizar este prefijo 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. El nombre del bucket de origen se añade para evitar colisiones cuando se envían varios informes de inventario procedentes de distintos buckets de origen al mismo bucket de destino.

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

  • YYYY-MM-DDTHH-MMZ es la marca temporal que consta de la hora y de la fecha de inicio en la que el proceso de 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 hash 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/data/example-file-name.csv.gz ... destination-prefix/source-bucket/config-ID/data/example-file-name-1.csv.gz
  • destination-prefix es el prefijo del nombre de la clave del objeto que se especifica opcionalmente en la configuración del inventario. Puede utilizar este prefijo 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. El nombre del bucket de origen se añade para evitar 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.

    Puede consultar un archivo de lista de inventario con Amazon S3 Select. En la consola de Amazon S3, elija el nombre de la lista de inventario (por ejemplo, destination-prefix/source-bucket/config-ID/data/example-file-name.csv.gz). A continuación, elija Acciones de objetos y Consultar con S3 Select. Para ver un ejemplo de cómo utilizar una función de agregación de S3 Select para consultar un archivo de lista de inventario, consulte SUMEjemplo de .

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 el proceso de generación del informe de inventario comienza a explorar el bucket

  • Formato y esquema de los archivos de inventario

  • Lista 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 hash MD5 del contenido del archivo manifest.json.

ejemplo Manifiesto de inventario en un manifest.json archivo

En los ejemplos siguientes, se muestra un manifiesto de inventario en un archivo manifest.json 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, 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

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,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

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); 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" } ] }

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 de manifiesto symlink.txt 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.