S3 Metadata ライブインベントリテーブルスキーマ - Amazon Simple Storage Service

S3 Metadata ライブインベントリテーブルスキーマ

ライブインベントリテーブルは、バケット内のすべてのオブジェクトとそのバージョンのシンプルでクエリ可能なインベントリを提供するため、データの最新の状態を判断できます。オブジェクトの更新は、通常 1 時間以内にインベントリテーブルに反映されます。

このテーブルを使用すると、さまざまなワークロードに対して処理するオブジェクトを特定することで、ビジネスワークフローとビッグデータジョブを簡素化および高速化できます。例えば、インベントリテーブルをクエリして、以下を実行できます。

  • S3 Glacier Deep Archive ストレージクラスに保存されているすべてのオブジェクトを検索します。

  • オブジェクトタグのディストリビューションを作成するか、タグなしでオブジェクトを検索します。

  • AWS Key Management Service (AWS KMS) キーによるサーバー側の暗号化 (SSE-KMS) を使用して暗号化されていないすべてのオブジェクトを検索します。

メタデータテーブル設定のインベントリテーブルを有効にすると、テーブルはバックフィルと呼ばれるプロセスを実行し、そのプロセス中に Amazon S3 は汎用バケットをスキャンして、バケット内のすべてのオブジェクトの初期メタデータを取得します。バケット内のオブジェクトの数によっては、このプロセスに数分 (最小 15 分) から数時間かかる場合があります。バックフィルプロセスが完了すると、インベントリテーブルのステータスが [バックフィル] から [アクティブ] に変わります。バックフィルが完了すると、通常、オブジェクトの更新は 1 時間以内にインベントリテーブルに反映されます。

注記

インベントリテーブルのバックフィルの実行は課金されます。汎用バケットに 10 億個を超えるオブジェクトがある場合は、インベントリテーブルの月額料金も請求されます。詳細については、Amazon S3 の料金 を参照してください。

Amazon S3 Metadata インベントリテーブルには行と列が含まれています。各行は、汎用バケット内のオブジェクトの現在の状態を表します。インベントリテーブルは、バケット内のすべてのオブジェクトのシンプルでクエリ可能なインベントリを提供するため、データの現在の状態を判断できます。

以下は、amzn-s3-demo-bucket: という名前の汎用バケットのインベントリテーブルの例です。

bucket key sequence_number version_id is_delete_marker size last_modified_date e_tag storage_class is_multipart encryption_status is_bucket_key_enabled kms_key_arn checksum_algorithm object_tags user_metadata amzn-s3-demo-bucket Finance/statement1.pdf 80e737d8b4d82f776affffffffffffffff006737d8b4d82f776a00000000000000000000000000000000000000000000000072 FALSE 6223 11/15/2024 23:26 e131b86632dda753aac4018f72192b83 STANDARD FALSE SSE-KMS FALSE arn:aws:kms:us-east-1:111122223333:key/1234abcd-12ab-34cd-56ef-1234567890df SSECRC32 {} {count -> Asia, customs -> false, family -> true, location -> Mary, name -> football, user -> United States} amzn-s3-demo-bucket s3-dg.pdf 80e737d8b4e39f1dbdffffffffffffffff006737d8b4e39f1dbd00000000000000000000000000000000000000000000000072 FALSE 3554 11/15/2024 23:26 9bb49efc2d92c05558ddffbbde8636d5 STANDARD FALSE DSSE-KMS FALSE arn:aws:kms:us-east-1:936810216292:key/0dcebce6-49fd-4cae-b2e2-5512ad281afd SSESHA1 {} {} amzn-s3-demo-bucket Development/Projects.xls 80e737d8b4ed9ac5c6ffffffffffffffff006737d8b4ed9ac5c600000000000000000000000000000000000000000000000072 FALSE 7746 11/15/2024 23:26 729a6863e47fb9955b31bfabce984908 STANDARD FALSE SSE-S3 FALSE NULL SSECRC32 {} {count -> Asia, customs -> Canada, family -> Billiards, filter -> true, location -> Europe, name -> Asia, user -> United States}

インベントリテーブルには次のスキーマがあります。

列名 必須? データ型

bucket

あり 文字列 汎用バケット名。詳細については、「汎用バケットの命名規則」を参照してください。

key

あり 文字列 バケット内のオブジェクトを一意に識別するオブジェクトのキー名 (またはキー)。詳細については、「Amazon S3 オブジェクトに命名する」を参照してください。

sequence_number

あり 文字列

シーケンス番号。特定のオブジェクトのレコードに含まれる序数です。同じバケットとキーのレコードを順に並べるには、sequence_number でソートできます。特定のバケットとキーについて、sequence_number 値が辞書順で大きいほど、レコードがより最近バケットに導入されたことを意味します。

version_id

なし 文字列

オブジェクトのバージョン ID。バケットのバージョニングを有効にすると、Amazon S3 はバケットに追加されたオブジェクトにバージョン番号を割り当てます。詳細については、「S3 バージョニングによる複数のバージョンのオブジェクトの保持」を参照してください。

バージョニング状態を設定する前にバケットに保存されたオブジェクトのバージョン ID は null です。

is_delete_marker

なし ブール値

オブジェクトの削除マーカーのステータス。オブジェクトが削除マーカーの場合、この値は True です。それ以外の場合は、False です。詳細については、「削除マーカーの使用」を参照してください。

注記

削除マーカーに追加される行の record_type 値は DELETE ではなく UPDATE_METADATA です。S3 ライフサイクルの有効期限が切れた結果として削除マーカーが作成された場合、requester 値は s3.amazonaws.com です。

size

なし Long

バイト単位のオブジェクトサイズ。不完全なマルチパートアップロードまたはオブジェクトメタデータのサイズは含まれません。is_delete_markerTrue の場合、サイズは 0 です。詳細については、「システムで定義されたオブジェクトメタデータ」を参照してください。

last_modified_date

なし Timestamp NTZ (タイムゾーンなし)

オブジェクト作成日または最終更新日のいずれか遅い方。マルチパートアップロードの場合、オブジェクトの作成日はマルチパートアップロードが開始された日付です。詳細については、「システムで定義されたオブジェクトメタデータ」を参照してください。

e_tag

なし 文字列

エンティティタグ (ETag) は、オブジェクトのハッシュです。ETag は、変更をオブジェクトのコンテンツにのみ反映し、メタデータには反映しません。ETag は、オブジェクトデータの MD5 ダイジェストである場合があります。ETag が MD5 ダイジェストであるかどうかは、オブジェクトの作成方法と暗号化方法によって異なります。詳細については、「Amazon S3 API リファレンス」の「Object」を参照してください。

storage_class

なし 文字列

オブジェクトの保存に使用されるストレージクラス。STANDARDREDUCED_REDUNDANCYSTANDARD_IAONEZONE_IAINTELLIGENT_TIERINGGLACIERDEEP_ARCHIVEGLACIER_IR のいずれかです。詳細については、「Amazon S3 ストレージクラスの理解と管理」を参照してください。

is_multipart

なし ブール値

オブジェクトのアップロードタイプ。オブジェクトがマルチパートアップロードとしてアップロードされた場合、この値は True です。それ以外の場合は、False です。詳細については、「Amazon S3 でのマルチパートアップロードを使用したオブジェクトのアップロードとコピー」を参照してください。

encryption_status

なし 文字列

使用される暗号化キーの種類に応じた、オブジェクトのサーバー側の暗号化ステータス。Amazon S3 マネージドキーによるサーバー側の暗号化 (SSE-S3)、AWS Key Management Service (AWS KMS) キーによるサーバー側の暗号化 (SSE-KMS)、AWS KMS keys による二層式サーバー側の暗号化 (DSSE-KMS)、またはお客様が指定したキーによるサーバー側の暗号化 (SSE-C) のいずれかとなります。オブジェクトが暗号化されていない場合、この値は null です。可能な値は、SSE-S3SSE-KMSDSSE-KMSSSE-C、または null です。詳細については、「暗号化によるデータの保護」を参照してください。

is_bucket_key_enabled

なし ブール値

オブジェクトの S3 バケットキーの有効化ステータス。オブジェクトが SSE-KMS に S3 バケットキーを使用する場合、この値は True です。それ以外の場合は、False です。詳細については、「オブジェクトレベルで S3 バケットキーを設定する」を参照してください。

kms_key_arn

なし 文字列

encryption_statusSSE-KMS または DSSE-KMS の行の場合、オブジェクトの暗号化に使用される KMS キーの Amazon リソースネーム (ARN)。オブジェクトが SSE-KMS または DSSE-KMS で暗号化されていない場合、値は null です。詳細については、「AWS KMS キーによるサーバー側の暗号化 (SSE-KMS) の使用」および「AWS KMS キーによる二層式サーバー側の暗号化 (DSSE-KMS) の使用」を参照してください。

注記

行が、削除または上書きイベントが処理された時点で存在しなくなったオブジェクトバージョンを表す場合、encryption_status 列の値が SSE-KMS または DSSE-KMS であっても、kms_key_arn には null 値が含まれます。

checksum_algorithm

なし 文字列

オブジェクトのチェックサムを作成するために使用されるアルゴリズム。CRC64-NVMECRC32CRC32CSHA1、または SHA256 のいずれかです。チェックサムが存在しない場合、この値は null です。詳細については、「サポートされているチェックサムアルゴリズムの使用」を参照してください。

object_tags

なし Map <String, String>

オブジェクトに関連付けられたオブジェクトタグ。オブジェクトタグは、キーと値のペアのマップとして保存されます。オブジェクトにオブジェクトタグがない場合、空のマップ ({}) が保存されます。詳細については、「タグを使用したオブジェクトの分類」を参照してください。

注記

record_type 値が DELETE の場合、object_tags 列には null 値が含まれます。record_type 値が CREATE または UPDATE_METADATA の場合、削除または上書きイベントが処理された時点で存在しなくなったオブジェクトバージョンを表す行には、object_tags 列に null 値が含まれます。

user_metadata

なし Map <String, String>

オブジェクトに関連付けられているユーザーメタデータ。ユーザーメタデータは、キーと値のペアのマップとして保存されます。オブジェクトにユーザーメタデータがない場合、空のマップ ({}) が保存されます。詳細については、「ユーザー定義のオブジェクトメタデータ」を参照してください。

注記

record_type 値が DELETE の場合、user_metadata 列には null 値が含まれます。record_type 値が CREATE または UPDATE_METADATA の場合、削除または上書きイベントが処理された時点で存在しなくなったオブジェクトバージョンを表す行には、user_metadata 列に null 値が含まれます。