

本文為英文版的機器翻譯版本，如內容有任何歧義或不一致之處，概以英文版為準。

# 建立串流資料表交付
<a name="data-delivery-st-create"></a>

 建立交付，持續將記錄從 Amazon Kinesis Data Streams 串流傳送至由 S3 資料表儲存貯體支援的 Apache Iceberg 上的串流資料表。您可以使用 AWS 管理主控台 或 建立交付 AWS CLI。當您建立交付時，Amazon Kinesis Data Streams 會在您指定的資料表儲存貯體中建立目的地 Iceberg 資料表。

**注意**  
 建立交付之前，請先完成 中的先決條件[串流資料表入門](data-delivery-st-getting-started.md)，包括 中所述的 IAM 服務執行角色[資料交付的 IAM 許可](data-delivery-iam.md)。串流資料表交付需要結構描述登錄檔中的 AWS Glue 結構描述和無效字母佇列。

## 使用 AWS 管理主控台
<a name="data-delivery-st-create-console"></a>

1. 在 開啟 Kinesis 主控台[https://console.aws.amazon.com/kinesis](https://console.aws.amazon.com/kinesis)。

1. 在導覽窗格中，選擇**串流資料表**，然後選擇**建立串流資料表**。

1. **步驟 1：來源組態。**在**交付詳細資訊**下，輸入**交付名稱**。可接受的字元為大小寫字母、數字、底線、連字號和句點。針對**來源**，選擇要交付的隨需串流。只會顯示隨需串流。選擇**下一步**。

1. **步驟 2：目的地組態。**在**記錄轉換組態**下，選擇**記錄轉換格式**：
   + **JSON** – 根據結構描述登錄檔中的結構 AWS Glue 描述進行驗證的 JSON 記錄。在 **Glue 結構描述登錄檔下提供結構描述** ARN。
   + **Glue 結構描述登錄檔 JSON** – 使用 AWS Glue 結構描述登錄檔 JSON 結構描述轉換記錄。

   對於 **Glue 結構描述登錄**檔，指定結構描述 ARN 或選擇**瀏覽**以選取。

1. 在**目的地資料表**下，指定 Amazon Kinesis Data Streams 建立 Iceberg 資料表的位置：
   + **S3 資料表儲存貯體 ARN** – S3 資料表儲存貯體的 ARN。選擇**瀏覽 S3** 以選擇一個。
   + **命名空間** – 資料表的命名空間 （僅限小寫字母、數字和底線）。
   + **資料表名稱** – 要建立的資料表名稱。
   + **資料欄名稱** – 結構描述中用於按小時分割資料表的日期時間欄位名稱。欄位必須是結構描述中具有日期時間格式的字串欄位。
   + **壓縮類型** – 選擇 **ZSTD**、**Snappy** 或 **None**。
   + **資料新鮮度** – 傳送記錄前的緩衝時間上限，以秒為單位 （下限為 300，上限為 900)。

   選擇**下一步**。

1. **步驟 3：其他組態。**設定下列項目，然後選擇**下一步**：
   + **加密組態** – 預設情況下，資料會使用預設的 Amazon S3 加密進行加密。若要使用客戶受管金鑰，請選取**自訂加密設定 （進階）**。
   + **服務存取** – 針對 **IAM 角色 ARN**，選擇或建立授予目的地存取權的 IAM 角色。選擇**建立 IAM 角色**以建立一個角色。
   + **無效字母佇列** – 針對 **S3 儲存貯體 URI**，選擇存放無法交付記錄的 Amazon S3 儲存貯體。選擇性地設定 **S3 儲存貯體錯誤輸出字首**。
   + **日誌交付** – 選擇性地選取**交付至 Amazon CloudWatch Logs** 以擷取交付診斷。
   + **標籤** – 選擇性地新增鍵值標籤，以識別和組織您的交付。

1. **步驟 4：檢閱和建立。**檢閱您的組態，然後選擇**建立串流資料表**。佈建完成後，交付會從 CREATING 轉換為 ACTIVE。

## 使用 AWS CLI
<a name="data-delivery-st-create-cli"></a>

 使用 `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 狀態。請參閱 [描述串流資料表交付](data-delivery-st-describe.md)。

 **API 參考** – 請參閱*《Amazon Kinesis Data Streams API 參考*`CreateChannel`》中的 。