本文属于机器翻译版本。若本译文内容与英语原文存在差异,则一律以英文原文为准。
创建直播桌配送
创建一种传输,将记录从 Amazon Kinesis Data Streams 流持续发送到由 S3 表存储桶支持的 Apache Iceberg 上的流式传输表。您可以使用 Amazon Web Services 管理控制台 或创建配送 Amazon CLI。创建交付时,Amazon Kinesis Data Streams 会在您指定的表存储桶中创建目标 Iceberg 表。
注意
在创建交付之前,请完成中的先决条件直播表入门,包括中所述的 IAM 服务执行角色用于数据传输的 IAM 权限。流式传输表需要架构注册表中的 Amazon Glue 架构和死信队列。
使用 Amazon Web Services 管理控制台
-
打开 Kinesis 控制台,网址为。https://console.amazonaws.cn/kinesis
-
在导航窗格中,选择流式传输表,然后选择创建直播表。
-
步骤 1:源配置。在配送详情下,输入配送名称。可接受的字符包括大写和小写字母、数字、下划线、连字符和句点。对于来源,选择要从中 On-Demand传送的直播。仅显示 On-Demand 直播。选择下一步。
-
步骤 2:目标配置。在 “录音转换配置” 下,选择一种录音转换格式:
JSO@@ N — 根据架构注册表中的 Amazon Glue 架构进行验证的 JSON 记录。在 Glue 架构注册表下提供架构 AR N。
Glue 架构注册表 JSON — 使用 Amazon Glue 架构注册表 JSON 架构转换记录。
对于 Glue 架构注册表,请指定架构 ARN 或选择浏览以选择一个架构 ARN。
-
在目标表下,指定 Amazon Kinesis Data Streams 在哪里创建 Iceberg 表:
S3 表存储桶 ARN — S3 表存储桶的 ARN。选择 “浏览 S3” 以选择一个。
命名空间 — 表的命名空间(仅限小写字母、数字和下划线)。
表名-要创建的表的名称。
列名 — 架构中用于按小时对表进行分区的日期时间字段的名称。该字段必须是架构中具有日期时间格式的字符串字段。
压缩类型 — 选择 ZSTD、Snappy 或 N one。
数据新鲜度-传送记录之前的最大缓冲时间(以秒为单位)(最小 300,最大 900)。
选择下一步。
-
步骤 3:其他配置。配置以下内容,然后选择下一步:
加密配置-默认情况下,数据使用默认 Amazon S3 加密进行加密。要使用客户管理的密钥,请选择自定义加密设置(高级)。
服务访问权限 — 对于 IAM 角色 ARN,选择或创建授予目标访问权限的 IAM 角色。选择创建 IAM 角色来创建一个。
死信队列 — 对于 S3 存储桶 URI,请选择用于存储无法交付的记录的 Amazon S3 存储桶。(可选)设置 S3 存储桶错误输出前缀。
日志传输-(可选)选择 “传送到 Amazon CloudWatch 日志” 以捕获传输诊断。
标签-(可选)添加键值标签以识别和组织您的交付。
-
步骤 4:查看并创建。查看您的配置,然后选择创建直播表。配置完成后,交付将从 “创建” 转换为 “活动”。
使用 Amazon CLI
使用create-channel命令创建流式表传输。此配置需要架构注册表中的 Amazon Glue 架构和死信队列:
aws kinesis create-channel \ --channel-name "my-iceberg-delivery" \ --service-execution-role-arn "arn:aws:iam::111122223333:role/my-channel-role" \ --stream-configuration-list '[ { "StreamARN": "arn:aws:kinesis:us-east-1:111122223333:stream/my-stream", "RecordConfiguration": { "RecordFormatType": "JSON", "GSRSchemaARN": "arn:aws:glue:us-east-1:111122223333:schema/my-registry/my-schema" } } ]' \ --s3-tables-destination-configuration '{ "DataFreshnessInSeconds": 300, "DeadLetterQueueS3Configuration": { "BucketARN": "arn:aws:s3:::amzn-s3-demo-dlq-bucket", "ExpectedBucketOwner": "111122223333", "ErrorOutputPrefix": "dlq/" }, "S3TablesConfigurationList": [ { "TableBucketARN": "arn:aws:s3tables:us-east-1:111122223333:bucket/amzn-s3-demo-table-bucket", "Namespace": "my_namespace", "TableName": "my_table", "CompressionType": "ZSTD", "PartitionSpec": { "PartitionFields": [ { "SourceName": "timestamp", "Transform": "TIME_HOUR" } ] } } ] }'
该命令返回频道 ARN () ChannelARN。将其与一起使用describe-channel来验证交付是否已达到 “活动” 状态。请参阅描述直播桌配送。
API 参考 — 参见CreateChannel《亚马逊 Kinesis Data Streams API 参考》。