managing-amazon-kinesis-data-streams

Operates Amazon Kinesis Data Streams (KDS). Covers streaming tables and Amazon S3 delivery - serverless, fully managed delivery from a KDS stream to Apache Iceberg tables on S3 Tables or to general-purpose S3 buckets. Includes channel setup, IAM, schemas, output key templates, CloudWatch metrics and

By aws · 384 installs

npx skills add aws/agent-toolkit-for-aws --skill managing-amazon-kinesis-data-streams

Source repository · Upstream listing

Amazon Kinesis Data Streams Overview Domain expertise for Amazon Kinesis Data Streams. This skill covers streaming tables and Amazon S3 delivery , which provide serverless, fully managed delivery from a KDS stream directly to Apache Iceberg tables on S3 Tables or to general purpose S3 buckets — no consumers, no Firehose, no Flink required for append only delivery. Delivery is configured as a channel on a stream via CreateChannel . Channels consume no shard capacity and no enhanced fan out slots, so they do not compete with existing consumers. The AWS MCP server is recommended for executing AWS operations. When the MCP server is not available, use the AWS CLI or shell commands instead. Which Workflow Do You Need? Customer Intent Reference Deliver stream data to Apache Iceberg tables on S3 Tables — setup, IAM, Glue schema, type mapping, partitioning, channel lifecycle [references/streaming tables.md](references/streaming tables.md) Deliver stream data to a general purpose S3 bucket as objects — setup, IAM, compression, storage class, output key templates, channel lifecycle [references/general purpose delivery to s3.md](references/general purpose delivery to s3.md) Build a lakehouse / data lake from Kinesis; make streaming data queryable in Athena [references/streaming tables.md](references/streaming tables.md) Zero ops, serverless alternative to Firehose or Kinesis consumers for KDS → S3 delivery [references/general purpose delivery to s3.md](references/general purpose delivery to s3.md) CloudWatch metrics and alarms, delivery logging, CloudTrail, encryption, channel states, quotas, naming rules, what can be updated [references/monitoring security and limits.md](references/monitoring security and limits.md) Channel is ACTIVE but no data arrives; records landing in the DLQ; rising data freshness Start with [references/monitoring security and limits.md](references/monitoring security and limits.md), then the destination specific troubleshooting table Deliver to both S3 and S3 Tables from one stream Supported — create one channel per destination Prerequisites Both destinations require an ON DEMAND stream — provisioned mode streams are not supported. Each channel also needs an IAM service execution role trusted by kinesis.amazonaws.com , and a destination in the same Region as the stream. Hard Limits to Check First These rule out the feature entirely, so confirm them before designing a solution: Append only — no CDC, upserts, or deletes No schema evolution — a schema change means deleting and recreating the channel No backfill — only records produced after the channel is ACTIVE are delivered No transformations — records are delivered as is New table per channel — cannot deliver into an existing Iceberg table Data freshness is 300–900 seconds — not sub minute Same Region only — cross account is supported, cross Region is not If any of these block the customer, recommend Managed Service for Apache Flink instead. Additional Resources [KDS Developer Guide](https://docs.aws.amazon.com/streams/latest/dev/introduction.html) [KDS API Reference](https://docs.aws.amazon.com/kinesis/latest/APIReference/) [S3 Tables Developer Guide](https://docs.aws.amazon.com/AmazonS3/latest/userguide/s3 tables.html) [Glue Schema Registry](https://docs.aws.amazon.com/glue/latest/dg/schema registry.html)