用途:提供 Amazon Kinesis Data Streams (KDS) 的领域知识,核心是把 KDS 流数据投递到两类目标。一类是 S3 Tables 上的 Apache Iceberg 表(流式表),另一类是通用 S3 桶对象。该投递为无服务器、全托管,适用于仅追加(append-only)场景,无需消费者、Firehose 或 Flink。
主要能力:通过 CreateChannel 在流上配置通道(channel)。通道不消耗分片容量,也不占用增强型扇出槽位,因此不会与现有消费者竞争。支持从一个流同时投递到 S3 和 S3 Tables,每个目标各建一个通道。参考文档涵盖 setting、IAM、Glue schema、类型映射、分区、压缩、存储类、输出键模板、通道生命周期,以及 CloudWatch 指标与告警、投递日志、CloudTrail、加密、通道状态、配额、命名规则和可更新项。
使用方式:建议使用 AWS MCP server 执行 AWS 操作;不可用时改用 AWS CLI 或 shell 命令。前提条件:两个目标都要求 ON_DEMAND 流,不支持 provisioned 模式;每个通道需要由 kinesis.amazonaws.com 信任的 IAM 服务执行角色;目标必须与流同区域。同流投递到两个目标时各建一个通道。
适用场景:从 Kinesis 构建 lakehouse/数据湖,让流式数据可在 Athena 中查询;作为 Firehose 或 Kinesis 消费者的零运维、无服务器替代方案,用于 KDS 到 S3 的投递。
限制:仅追加,不支持 CDC、upsert 或删除;无模式演进,模式变更需删除并重建通道;无回填,仅投递通道进入 ACTIVE 之后产生的记录;无转换,记录按原样投递;每个通道新建表,不能投递到已有 Iceberg 表;数据新鲜度为 300–900 秒,非亚分钟级;仅同区域,支持跨账户但不支持跨区域。若这些限制构成阻碍,建议改用 Managed Service for Apache Flink。若通道为 ACTIVE 但无数据到达、记录进入 DLQ 或数据新鲜度上升,可先查阅 monitoring-security-and-limits 参考,再查目标专属的排错表。