

# Localizar la descripción del inventario
<a name="storage-inventory-location"></a>

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

```
{{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}}` 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.
+ `{{{{amzn-s3-demo-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}}/{{{{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}}` 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.
+ `{{{{amzn-s3-demo-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`.

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

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

**Example 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.  
A continuación se incluye un ejemplo de un manifiesto en un archivo `manifest.json` para un inventario con 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"
        }
    ]
}
```
A continuación se incluye un ejemplo de un manifiesto en un archivo `manifest.json` para un inventario con 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"
        }
    ]
}
```
A continuación, se incluye un ejemplo de un manifiesto en un archivo `manifest.json` para un inventario con 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"
        }
    ]
}
```
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 [https://prestodb.io/](https://prestodb.io/), [https://hive.apache.org/](https://hive.apache.org/), [https://databricks.com/spark/about/](https://databricks.com/spark/about/), etc.  
El archivo de manifiesto `symlink.txt` compatible con Apache Hive no funciona actualmente con AWS Glue.  
La lectura del archivo `symlink.txt` con [https://hive.apache.org/](https://hive.apache.org/) y [https://databricks.com/spark/about/](https://databricks.com/spark/about/) no es compatible con ORC y los archivos de inventario con formato Parquet. 