インベントリリストの検索 - Amazon Simple Storage Service

インベントリリストの検索

インベントリリストが発行されると、マニフェストファイルは保存先バケットの次の場所に発行されます。

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 は、インベントリの構成で設定されている (オブジェクトキー名の) プレフィックスであり、保存先バケットの共通の場所にすべてのインベントリリストファイルをグループ化するために使用できます。

  • source-bucket は、インベントリリストの対象であるソースバケットです。異なるソースバケットから複数のインベントリレポートが同じ保存先バケットに送られるときの競合を避けるために追加されます。

  • config-ID は、同じソースバケットから同じ保存先バケットに複数のインベントリレポートが送られるときの競合を避けるために追加されます。config-ID は、インベントリレポートの設定から取得されるため、設定時に定義されるレポートの名前になっています。

  • YYYY-MM-DDTHH-MMZ は、インベントリのレポート生成でバケットのスキャンを開始した日時を示すタイムスタンプです (例: 2016-11-06T21-32Z)。

  • manifest.json がマニフェストファイルです。

  • manifest.checksum は、manifest.json ファイルのコンテンツの MD5 です。

  • symlink.txt は、Apache Hive と互換性のあるマニフェストファイルです。

インベントリリストは、保存先バケットの次の場所に、毎日または毎週発行されます。

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 は、インベントリ設定で設定した (オブジェクトキー名) プレフィックスです。これは、保存先バケットの共通の場所にあるすべてのインベントリリストファイルをグループ化するために使用できます。

  • source-bucket は、インベントリリストの対象であるソースバケットです。異なるソースバケットから複数のインベントリレポートが同じ保存先バケットに送られるときの競合を避けるために追加されます。

  • example-file-name.csv.gz は、CSV インベントリファイルの 1 つです。ORC インベントリ名はファイル名拡張子 .orc で終わり、Parquet インベントリ名はファイル名拡張子 .parquet で終わります。

インベントリマニフェスト

マニフェストファイルの manifest.jsonsymlink.txt は、インベントリファイルの場所を記述します。新しいインベントリリストが配信されるたびに、新しいセットのマニフェストファイルが作成されます。これらのファイルは互いに上書きされ、バージョニングが有効なバケットではマニフェストファイルの新しいバージョンが作成されます。

manifest.json ファイルに含まれる各マニフェストには、メタデータおよびその他のインベントリに関する基本的な情報が記載されています。この情報には以下が含まれます。

  • ソースバケット名

  • ターゲットバケット名

  • インベントリのバージョン

  • インベントリのレポート生成でバケットのスキャンを開始した日時をエポック日付形式で示す、作成時刻のタイムスタンプ

  • インベントリファイルの形式とスキーマ

  • ターゲットバケット内に実際に存在するインベントリファイルのリスト

manifest.json ファイルが書き込まれるときは常に、manifest.checksum ファイルのコンテントの MD5 である manifest.json ファイルが付属します。

manifest.jsonファイル内のインベントリマニフェスト

manifest.json ファイルに含まれる、CSV、ORC、および Parquet 形式インベントリ用のインベントリマニフェストの例を次に示します。

CSV

CSV 形式のインベントリの manifest.json ファイルに含まれるマニフェストの例を次に示します。

{ "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", "files": [ { "key": "Inventory/example-source-bucket/2016-11-06T21-32Z/files/939c6d46-85a9-4ba8-87bd-9db705a579ce.csv.gz", "size": 2147483647, "MD5checksum": "f11166069f1990abeb9c97ace9cdfabc" } ] }
ORC

ORC 形式のインベントリの manifest.json ファイルに含まれるマニフェストの例を次に示します。

{ "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>", "files": [ { "key": "inventory/example-source-bucket/data/d794c570-95bb-4271-9128-26023c8b4900.orc", "size": 56291, "MD5checksum": "5925f4e78e1695c2d020b9f6eexample" } ] }
Parquet

Parquet 形式のインベントリの manifest.json ファイルに含まれるマニフェストの例を次に示します。

{ "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 intelligent_tiering_access_tier (UTF8); optional binary bucket_key_status (UTF8); }", "files": [ { "key": "inventory/example-source-bucket/data/d754c470-85bb-4255-9218-47023c8b4910.parquet", "size": 56291, "MD5checksum": "5825f2e18e1695c2d030b9f6eexample" } ] }

symlink.txt ファイルは、Apache Hive 互換のマニフェストファイルで、それにより Hive はインベントリファイルとそれに関連付けられたデータファイルを自動的に検出します。Hive 互換のマニフェストは、Athena や Amazon Redshift Spectrum など、Hive と互換性のあるサービスで動作します。また、PrestoApache HiveApache Spark などさまざまな種類の Hive と互換性のあるアプリケーションで動きます。

重要

Apache Hive と互換性のあるマニフェストファイル symlink.txt は現在 AWS Glue で動作しません。

Apache Hive および Apache Sparksymlink.txt の読み取りは、ORC および Parquet 形式のインベントリファイルではサポートされていません。