インベントリリストの検索
インベントリリストが発行されると、マニフェストファイルは保存先バケットの次の場所に発行されます。
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
/data/example-file-name.csv.gz
...
destination-prefix
/source-bucket
/config-ID
/data/example-file-name-1.csv.gz
-
destination-prefix
は、インベントリ設定でオプションで指定するオブジェクトキー名プレフィックスです。このプレフィックスを使用して、保存先バケットの共通の場所にすべてのインベントリリストファイルをグループ化できます。
-
source-bucket
は、インベントリリストの対象であるソースバケットです。複数の異なるソースバケットから複数のインベントリレポートが同じ保存先バケットに送信されたときの競合を避けるには、ソースバケット名を追加します。
-
example-file-name
.csv.gz
は、CSV インベントリファイルの 1 つです。ORC インベントリ名はファイル名拡張子 .orc
で終わり、Parquet インベントリ名はファイル名拡張子 .parquet
で終わります。
インベントリマニフェスト
マニフェストファイルの manifest.json
と symlink.txt
は、インベントリファイルの場所を記述します。新しいインベントリリストが配信されるたびに、新しいセットのマニフェストファイルが作成されます。これらのファイルは互いに上書きされる可能性があります。バージョニングが有効なバケットには、Amazon S3 はマニフェストファイルの新しいバージョンを作成します。
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, 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
-
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,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
-
manifest.json
ファイルに含まれる 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
ファイルは、Hive がインベントリファイルおよび関連データファイルを自動的に検出できるようにする Apache Hive 互換のマニフェストファイルです。Hive 互換のマニフェストは、Athena や Amazon Redshift Spectrum など、Hive 互換のサービスで動作します。また、Presto、Apache
Hive、Apache
Spark など、多くの Hive 互換のアプリケーションでも動作します。
symlink.txt
Apache Hive 互換のマニフェストファイルは現在、AWS Glue では動作しません。
Apache Hive および Apache Spark による symlink.txt
ファイルの読み取りは、ORC 形式および Parquet 形式のインベントリファイルではサポートされていません。