メタデータテーブル設定の作成
Amazon S3 メタデータを生成してフルマネージド Apache Iceberg メタデータテーブルに保存するには、汎用バケットのメタデータテーブル設定を作成します。Amazon S3 は、バケットで設定がアクティブである限り、メタデータテーブルを継続的に更新してデータへの最新の変更を反映するように設計されています。さらに、Amazon S3 はメタデータテーブルを継続的に最適化して、ストレージコストを削減し、分析クエリのパフォーマンスを向上させます。
メタデータテーブルの Amazon リソースネーム (ARN) 形式は次のようになります。
arn:aws:s3tables:
region-code
:account-id
:bucket/table-bucket-name
/table/metadata_table_name
Amazon S3 フルマネージドメタデータテーブルは、テーブルバケットの aws_s3_metadata
名前空間に保存されます。テーブルバケットの名前空間の詳細については、「Table namespaces」を参照してください。
メタデータテーブル設定は、Amazon S3 コンソール、AWS Command Line Interface (AWS CLI)、AWS SDK、または Amazon S3 REST API を使用して作成できます。
前提条件
メタデータテーブル設定を作成するには、まず以下を実行する必要があります。
-
メタデータテーブルを作成および管理するために必要な AWS Identity and Access Management (IAM) アクセス許可があることを確認してください。詳細については、「メタデータテーブルを設定するためのアクセス許可の設定」を参照してください。
-
メタデータテーブルを保存する S3 テーブルバケットを作成します。このテーブルバケットは、汎用バケットと同じ AWS リージョンおよび AWS アカウントにある必要があります。テーブルバケットの作成の詳細については、「Creating table buckets」を参照してください。Amazon S3 コンソールを使用して設定を作成する場合は、そのプロセスの一環としてこのステップを実行できます。
-
テーブルバケットを AWS Glue Data Catalog と統合して、Amazon Athena、Amazon EMR、Amazon Redshift、Apache Spark、Apache Trino、および Apache Iceberg 形式をサポートする他のアプリケーションなどのクエリエンジンでメタデータテーブルを直接クエリできるようにします。詳細については、「AWS 分析サービスを使用したメタデータテーブルのクエリ」を参照してください。
メタデータテーブル設定を作成する
メタデータテーブル設定を作成するには
メタデータテーブル設定を作成する前に、必ず前提条件を確認して満たし、メタデータテーブルの制限と制約 を確認してください。
AWS Management Console にサインインし、Amazon S3 コンソール https://console.aws.amazon.com/s3/
を開きます。 -
左のナビゲーションペインで、[汎用バケット] を選択します。
-
メタデータテーブル設定を作成する汎用バケットを選択します。
注記
この汎用バケットが、テーブルバケットが使用可能な AWS リージョンであることを確認します。テーブルバケットは、米国東部 (バージニア北部)、米国東部 (オハイオ)、および米国西部 (オレゴン) リージョンでのみ使用できます。
-
バケットの詳細ページで、[メタデータ] タブを選択します。
-
[メタデータ] タブで、[メタデータ設定を作成] を選択します。
-
[メタデータ設定を作成] ページの [送信先テーブルバケット] で、メタデータテーブルを保存するテーブルバケットを指定します。テーブルバケットは、汎用バケットと同じ AWS アカウントおよび AWS リージョンにある必要があります。
テーブルバケットがまだない場合は、[テーブルバケットを作成] を選択します。テーブルバケット名は 3~63 文字で、選択した AWS リージョンの AWS アカウント内で一意である必要があります。有効な文字は、a~z、0~9、ハイフン (-) です。テーブルバケットの作成の詳細については、「Creating table buckets」を参照してください。
テーブルバケットを作成するときは、必ず AWS Glue Data Catalog と統合してください。詳細については、「AWS 分析サービスを使用したメタデータテーブルのクエリ」を参照してください。
-
[メタデータテーブル名] には、テーブルに使用する名前を指定します。メタデータテーブル名は 1~255 文字で、テーブルバケットの
aws_s3_metadata
名前空間内で一意である必要があります。有効な文字は、小文字、数字、アンダースコア (_
) です。 -
[メタデータテーブル設定を作成] を選択します。
メタデータテーブルの設定が成功すると、メタデータテーブルの ARN が、指定されたテーブルバケットとメタデータテーブル名とともに [メタデータ] タブに表示されます。
メタデータテーブル設定の更新をモニタリングするには、AWS CloudTrail を使用できます。詳細については、「CloudTrail ログ記録によって追跡される Amazon S3 バケットレベルのアクション」を参照してください。
次のコマンドを実行するには、AWS CLI をインストールして設定する必要があります。AWS CLI をまだインストールしていない場合は、「AWS Command Line Interface ユーザーガイド」の「AWS CLI の最新バージョンのインストールまたは更新」を参照してください。
別の方法として、AWS CloudShell を使用してコンソールから AWS CLI コマンドを実行することもできます。AWS CloudShell は、AWS Management Consoleから直接起動できる、ブラウザベースの事前認証済みシェルです。詳細については、「AWS CloudShell ユーザーガイド」の「CloudShell とは」と「AWS CloudShell の使用開始」を参照してください。
AWS CLI を使用してメタデータテーブル設定を作成するには
メタデータテーブル設定を作成する前に、必ず前提条件を確認して満たし、メタデータテーブルの制限と制約 を確認してください。
次のコマンド例を使用する際は、
をユーザー自身の情報に置き換えます。user input
placeholders
-
テーブルバケットがまだない場合は、次のコマンドを使用して、メタデータテーブルを保存するテーブルバケットを作成します。テーブルバケットが、メタデータテーブル設定を作成する汎用バケットと同じ AWS リージョンにあることを確認します。
aws s3tables create-table-bucket --name
amzn-s3-demo-bucket
--regionus-east-2
-
次のコマンドを使用して、テーブルバケットが作成されたことを確認します。
aws s3tables list-table-buckets --region
us-east-2
-
メタデータテーブル設定を含む JSON ファイルを作成し、保存します (例:
metadata-config.json
)。以下は、設定例です。テーブルバケット名は 3~63 文字で、選択した AWS リージョンの AWS アカウント内で一意である必要があります。有効な文字は、a~z、0~9、ハイフン (-) です。テーブルバケットの作成の詳細については、「Creating table buckets」を参照してください。
メタデータテーブル名は 1~255 文字で、テーブルバケットの
aws_s3_metadata
名前空間内で一意である必要があります。有効な文字は、小文字、数字、アンダースコア (_
) です。{ "S3TablesDestination": { "TableBucketArn": "arn:aws:s3tables:
us-east-2
:111122223333
:bucket/amzn-s3-demo-bucket
", "TableName": "test_metadata_table
" } } -
次のコマンドを使用して、メタデータテーブル設定を汎用バケット (例:
) に適用します。amzn-s3-demo-source-bucket
aws s3api create-bucket-metadata-table-configuration \ --bucket
\ --metadata-table-configuration file://./amzn-s3-demo-source-bucket
metadata-config
.json \ --regionus-east-2
-
設定が作成されたことを確認するには、次のコマンドを使用します。
aws s3api get-bucket-metadata-table-configuration \ --bucket
\ --regionamzn-s3-demo-source-bucket
us-east-2
メタデータテーブル設定の更新をモニタリングするには、AWS CloudTrail を使用できます。詳細については、「CloudTrail ログ記録によって追跡される Amazon S3 バケットレベルのアクション」を参照してください。
REST リクエストを送信して、メタデータテーブル設定を作成できます。詳細については、「Amazon S3 API リファレンス」の「CreateBucketMetadataTableConfiguration」を参照してください。
AWS SDK を使用して、Amazon S3 でメタデータテーブル設定を作成できます。詳細については、「Amazon S3 API Reference」にある「サポートされる SDK のリスト」を参照してください。