

翻訳は機械翻訳により提供されています。提供された翻訳内容と英語版の間で齟齬、不一致または矛盾がある場合、英語版が優先します。

# ストリーミングテーブル配信の仕組み
<a name="data-delivery-st-about"></a>

 このトピックでは、ストリーミングテーブル配信が Amazon Kinesis Data Streams ストリームから、レコード変換、送信先テーブルの作成、パーティショニング、データ鮮度、デッドレターキュー、暗号化など、S3 テーブルバケットにバックアップされた Apache Iceberg のストリーミングテーブルにレコードを送信する方法について説明します。

## 配信の仕組み
<a name="data-delivery-st-how-it-works"></a>

 ストリーミングテーブル配信は、次の手順で Apache Iceberg のストリーミングテーブルにレコードを送信します。

1.  **Read** – 配信は、Kinesis Data Streams ストリーム内のすべてのシャードからレコードを読み取ります。

1.  **バッファ** — 配信は、データの鮮度間隔に達するまでレコードをバッファします。

1.  **検証と変換** – 配信は、各レコードを AWS Glue Schema Registry のスキーマと照合して検証し、Apache Iceberg テーブルスキーマに変換します。検証に失敗したレコードは、デッドレターキューに送られます。

1.  **圧縮と書き込み** – 配信は、レコードをインライン圧縮で最適化された Apache Parquet ファイルに変換し、送信先の Iceberg テーブルに書き込みます。

1.  **コミット** — 配信は、データがクエリ可能になるように、新しいファイルを Iceberg テーブルにコミットします。

## レコードの変換
<a name="data-delivery-st-record-conversion"></a>

 ストリーミングテーブル配信には、スキーマレジストリに登録された AWS Glue スキーマが必要です。配信では、 スキーマを使用して受信レコードを Apache Iceberg テーブルスキーマに変換します。次の入力レコード形式をサポートしています。
+ **JSON** – プレーン JSON レコード。 AWS Glue Schema Registry に登録されたスキーマを参照`GSRSchemaARN`する を指定します。
+ **GSR\_JSON** – Schema Registry シリアライザーによって各レコードにスキーマ ID が埋め込まれた AWS Glue JSON レコード。スキーマは AWS Glue Schema Registry から自動的に解決されます。

 完全な AWS Glue スキーマレジストリから Iceberg タイプへのマッピングとフィールド処理ルールについては、「」を参照してください[ストリーミングテーブルの Iceberg の動作](data-delivery-st-iceberg.md)。

## 送信先テーブル
<a name="data-delivery-st-destination-table"></a>

 ストリーミングテーブル配信を作成すると、Amazon Kinesis Data Streams は指定した S3 テーブルバケットに宛先 Iceberg テーブルを作成します。以下を指定します。
+ **テーブルバケット ARN** – テーブルが作成される S3 テーブルバケットの ARN。
+ **名前空間** – テーブルの名前空間。
+ **テーブル名** – 作成するテーブルの名前。配信ごとに独自のテーブルが作成されます。既存のテーブルに配信することはできません。
+ **パーティション列** – テーブルを時間単位でパーティション化するために使用する`timestamptz`列。パーティショニングの要件については、「」を参照してください[ストリーミングテーブルの Iceberg の動作](data-delivery-st-iceberg.md)。

## データの鮮度
<a name="data-delivery-st-data-freshness"></a>

 データの鮮度は、レコードが配信されるまでの最大バッファ時間を定義します。この値は 300～900 秒 (5～15 分) の間で設定できます。デフォルトは 300 秒です。値を小さくすると配信が速くなり、値を大きくすると送信先で生成されるファイルは少なくなります。

## デッドレターキュー
<a name="data-delivery-st-dead-letter-queue"></a>

 テーブル配信のストリーミングにはデッドレターキューが必要です。検証に失敗したレコードに関する情報を受信する Amazon S3 バケットを指定します。バケット ARN、予想されるバケット所有者、およびオプションのエラー出力プレフィックスを指定します。デッドレターキューには、完全なレコードペイロードではなく、レコード識別子とエラーコンテキストが含まれます。

## 暗号化
<a name="data-delivery-st-encryption"></a>

 ストリーミングテーブル配信は、Amazon S3 に保存されたデータを暗号化します。デフォルトでは、データは Amazon S3 マネージドキー (SSE-S3) で暗号化されます。代わりに、カスタマーマネージド AWS KMS キー (SSE-KMS) を使用できます。

**重要**  
 送信先の暗号化に AWS マネージドキー (エイリアス) `aws/kinesis` を使用することはできません。カスタマーマネージド AWS KMS キーを使用する必要があります。さらに、ソース Kinesis データストリームが で暗号化されている場合 AWS マネージドキー、配信を作成することはできません。ソースストリームの暗号化要件については、「」を参照してください[ソースストリームの暗号化](data-delivery-security.md#data-delivery-security-source-stream-encryption)。サービス実行ロールに必要なアクセス許可については AWS KMS 、「」を参照してください[データ配信の IAM アクセス許可](data-delivery-iam.md)。

## クロスアカウントおよびクロスリージョン配信
<a name="data-delivery-st-cross-account-region"></a>

 ストリーミングテーブル配信は、クロスアカウントまたはクロスリージョン配信をサポートしていません。ソースストリーム、レプリケート先 S3 テーブルバケット、 AWS Glue スキーマレジストリはすべて、同じ AWS アカウント リージョンにある必要があります。