翻訳は機械翻訳により提供されています。提供された翻訳内容と英語版の間で齟齬、不一致または矛盾がある場合、英語版が優先します。
ストリーミングテーブル配信を作成する
Amazon Kinesis Data Streams ストリームから S3 テーブルバケットにバックアップされた Apache Iceberg のストリーミングテーブルにレコードを継続的に送信する配信を作成します。 AWS マネジメントコンソール または を使用して配信を作成できます AWS CLI。配信を作成すると、Amazon Kinesis Data Streams は指定したテーブルバケットに宛先 Iceberg テーブルを作成します。
注記
配信を作成する前に、「」で説明されている IAM サービス実行ロールを含めストリーミングテーブルの開始方法、「」の前提条件を完了してくださいデータ配信の IAM アクセス許可。ストリーミングテーブル配信には、 AWS Glue スキーマレジストリのスキーマとデッドレターキューが必要です。
の使用 AWS マネジメントコンソール
-
で Kinesis コンソールを開きますhttps://console.aws.amazon.com/kinesis
。 -
ナビゲーションペインで、ストリーミングテーブルを選択し、ストリーミングテーブルの作成を選択します。
-
ステップ 1: ソース設定。配信の詳細で、配信名を入力します。使用できる文字は、大文字と小文字、数字、アンダースコア、ハイフン、ピリオドです。Source で、配信元のオンデマンドストリームを選択します。オンデマンドストリームのみが表示されます。[次へ] を選択します。
-
ステップ 2: 送信先設定。レコード変換設定で、レコード変換形式を選択します。
JSON – Schema Registry のスキーマに対して検証される JSON AWS Glue レコード。Glue スキーマレジストリでスキーマ ARN を指定します。
Glue スキーマレジストリ JSON – Schema Registry JSON AWS Glue スキーマを使用してレコードを変換します。
Glue スキーマレジストリで、スキーマ ARN を指定するか、参照を選択して選択します。
-
送信先テーブルで、Amazon Kinesis Data Streams が Iceberg テーブルを作成する場所を指定します。
S3 テーブルバケット ARN – S3 テーブルバケットの ARN。S3 を参照 を選択して選択します。
名前空間 – テーブルの名前空間 (小文字、数字、アンダースコアのみ)。
テーブル名 – 作成するテーブルの名前。
列名 – テーブルを時間単位でパーティション化するために使用するスキーマの日時フィールドの名前。フィールドは、スキーマ内の日時形式の文字列フィールドである必要があります。
圧縮タイプ – ZSTD、Snappy、または None を選択します。
データの鮮度 – レコードが配信される前の秒単位の最大バッファ時間 (最小 300、最大 900)。
[次へ] を選択します。
-
ステップ 3: 追加設定。以下を設定し、次へを選択します。
暗号化設定 – デフォルトでは、データはデフォルトの Amazon S3 暗号化で暗号化されます。カスタマーマネージドキーを使用するには、[Customize encryption settings (advanced)] (暗号化設定をカスタマイズ (詳細)) を選択します。
サービスアクセス – IAM ロール ARN の場合は、送信先へのアクセスを許可する IAM ロールを選択または作成します。IAM ロールの作成を選択して作成します。
デッドレターキュー – S3 バケット URI の場合は、配信不可能なレコードを保存する Amazon S3 バケットを選択します。必要に応じて、S3 バケットエラー出力プレフィックスを設定します。
ログ配信 – オプションで Amazon CloudWatch Logs に配信を選択して配信診断をキャプチャします。
タグ – オプションでキーと値のタグを追加して、配信を識別して整理します。
-
ステップ 4: 確認して作成します。設定を確認し、ストリーミングテーブルの作成を選択します。プロビジョニングが完了すると、配信は CREATING から ACTIVE に移行します。
の使用 AWS CLI
create-channel コマンドを使用して、ストリーミングテーブル配信を作成します。この設定には、 AWS Glue スキーマレジストリのスキーマとデッドレターキューが必要です。
aws kinesis create-channel \ --channel-name "my-iceberg-delivery" \ --service-execution-role-arn "arn:aws:iam::123456789012:role/my-channel-role" \ --stream-configuration-list '[ { "StreamARN": "arn:aws:kinesis:us-east-1:123456789012:stream/my-stream", "RecordConfiguration": { "RecordFormatType": "JSON", "GSRSchemaARN": "arn:aws:glue:us-east-1:123456789012:schema/my-registry/my-schema" } } ]' \ --s3-tables-destination-configuration '{ "DataFreshnessInSeconds": 300, "DeadLetterQueueS3Configuration": { "BucketARN": "arn:aws:s3:::my-dlq-bucket", "ExpectedBucketOwner": "123456789012", "ErrorOutputPrefix": "dlq/" }, "S3TablesConfigurationList": [ { "TableBucketARN": "arn:aws:s3tables:us-east-1:123456789012:bucket/my-table-bucket", "Namespace": "my_namespace", "TableName": "my_table", "CompressionType": "ZSTD", "PartitionSpec": { "PartitionFields": [ { "SourceName": "timestamp", "Transform": "TIME_HOUR" } ] } } ] }'
コマンドはチャネル ARN () を返しますChannelARN。これを使用してdescribe-channel、配信が ACTIVE 状態になったことを確認します。「ストリーミングテーブル配信の説明」を参照してください。
API リファレンス – CreateChannel Amazon Kinesis Data Streams API リファレンスの「」を参照してください。