Localização de lista de inventário - Amazon Simple Storage Service

Localização de lista de inventário

Quando uma lista de inventários é publicada, os arquivos manifestos são publicados no seguinte local no 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 é o prefixo do nome da chave do objeto que é especificado opcionalmente na configuração do inventário. É possível usar esse prefixo para agrupar todos os arquivos da lista de inventários em um local comum no bucket de destino.

  • source-bucket é o bucket de origem ao qual a lista de inventário se refere. O nome do bucket de origem é adicionado para evitar colisões quando vários relatórios do inventário de diferentes buckets de origem são enviados ao mesmo bucket de destino.

  • config-ID é adicionado para evitar colisões com vários relatórios do inventário do mesmo bucket de origem que são enviados ao mesmo bucket de destino. O config-ID vem da configuração do relatório de inventário e é o nome do relatório definido durante a configuração.

  • YYYY-MM-DDTHH-MMZ é o carimbo de data/hora que consiste na data e hora de início em que o processo de geração do relatório de inventário começa a verificar o bucket. Por exemplo, 2016-11-06T21-32Z.

  • manifest.json é o arquivo manifesto.

  • manifest.checksum é o hash MD5 do conteúdo do arquivo manifest.json.

  • symlink.txt é o arquivo de manifesto compatível com o Apache Hive.

As listas de inventários são publicadas diária ou semanalmente no seguinte local do bucket de destino.

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 é o prefixo do nome da chave do objeto que é especificado opcionalmente na configuração do inventário. É possível usar esse prefixo para agrupar todos os arquivos da lista de inventários em um local comum no bucket de destino.

  • source-bucket é o bucket de origem ao qual a lista de inventário se refere. O nome do bucket de origem é adicionado para evitar colisões quando vários relatórios do inventário de diferentes buckets de origem são enviados ao mesmo bucket de destino.

  • example-file-name.csv.gz é um dos arquivos de inventário em formato CSV. Os nomes de inventário ORC terminam com a extensão do nome do arquivo .orc, e os nomes de inventário do Parquet terminam com a extensão de nome de arquivo .parquet.

    É possível consultar um arquivo de lista de inventário com o Amazon S3 Select. No console do Amazon S3, escolha o nome da lista de inventário (por exemplo, prefixo-de-destino/bucket-de-origem/ID-de-config/dados/nome-do-arquivo-de-exemplo.csv.gz). Depois, escolha Ações de objetoConsultar com o S3 Select. Para ver um exemplo de como usar uma função agregada do S3 Select para consultar um arquivo de lista de inventário, consulte. Exemplo de SUM

Manifesto de inventário

Os arquivos manifestos manifest.json e symlink.txt descrevem onde os arquivos de inventário estão localizados. Sempre que uma nova lista de inventários é entregue, um novo conjunto de arquivos manifestos a acompanha. Esses arquivos podem se sobrepor. Em buckets habilitados para versionamento, o Amazon S3 cria versões dos arquivos de manifesto.

Cada manifesto contido no arquivo manifest.json fornece metadados e outras informações básicas sobre um inventário. Essas informações incluem:

  • O nome do bucket de origem

  • O nome do bucket de destino

  • A versão do inventário

  • O carimbo de data/hora de criação no formato de data de referência (epoch) que consiste na hora de início e na data em que o processo de geração do relatório de inventário começa a verificar o bucket

  • O formato e o esquema de arquivos de inventário

  • Uma lista dos arquivos de inventário que estão no bucket de destino

Sempre que um arquivo manifest.json é gravado, ele é acompanhado por um arquivo manifest.checksum, que representa o hash MD5 do conteúdo do arquivo manifest.json.

exemplo Manifesto de inventário em um arquivo manifest.json

Os exemplos a seguir mostram um manifesto de inventário em um arquivo manifest.json para inventários nos formatos CSV, ORC e Parquet.

CSV

Veja a seguir um exemplo de manifesto em um arquivo manifest.json para um inventário em 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

Veja a seguir um exemplo de manifesto em um arquivo manifest.json para um inventário em 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

Veja a seguir um exemplo de manifesto em um arquivo manifest.json para um inventário em 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" } ] }

symlink.txt é um arquivo manifesto compatível com o Apache Hive permitindo que o Hive detecte automaticamente arquivos de inventário e os arquivos de dados associados. O manifesto compatível com o Hive funciona com os serviços compatíveis com o Hive, o Athena e o Amazon Redshift Spectrum. Ele também funciona com aplicações compatíveis com o Hive, incluindo PrestoApache HiveApache Spark e muitos outros.

Importante

O arquivo manifesto symlink.txt compatível com Apache Hive atualmente não funciona com o AWS Glue.

Ler o arquivo symlink.txt com Apache Hive e Apache Spark não é compatível com arquivos de inventário no formato Parquet e ORC.