Managing Amazon Kinesis Data Streams

by aws188af2f810ceNo license2.8K starsListed Oct 8, 2026Updated Oct 8, 2026Repository updated today

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 alarms, DLQ handling, quotas, and troubleshooting. For all other KDS topics and questions, search AWS documentation and blogs instead. Triggers: Kinesis Data Streams, KDS, streaming tables, stream to S3, stream to Iceberg, stream to S3 Tables, KDS delivery, KDS channel, CreateChannel, data channel, data freshness, dead-letter queue, KDS lakehouse, serverless Kinesis delivery, Firehose alternative for KDS, zero-ops Kinesis to S3. DO NOT USE for Kinesis Data Firehose, Kinesis Video Streams, or Managed Service for Apache Flink — use dedicated skills or search documentation instead.

Instructions onlyDevOps & Cloud
AI-generated overview

Guides configuring Amazon Kinesis Data Streams channels that deliver stream data to S3 Tables or S3 buckets.

What it does
Provides domain guidance for Amazon Kinesis Data Streams streaming tables and Amazon S3 delivery, where a channel on a stream delivers records to Apache Iceberg tables on S3 Tables or to general-purpose S3 buckets. It routes the user to reference documents covering channel setup, IAM, schemas, output key templates, monitoring, quotas and troubleshooting. It also lists prerequisites and hard limits, such as ON_DEMAND streams, append-only delivery and same-Region destinations.
When to use it
Use it when setting up or operating KDS delivery to S3 or S3 Tables, building a lakehouse from Kinesis, or diagnosing a channel that is ACTIVE but not delivering data. It is not intended for Kinesis Data Firehose, Kinesis Video Streams or Managed Service for Apache Flink.
Requirements
Instructions only; no scripts are shipped. AWS operations are recommended through the AWS MCP server, or the AWS CLI or shell commands when that server is unavailable. Requires an ON_DEMAND Kinesis stream, an IAM service execution role trusted by kinesis.amazonaws.com, and a destination in the same Region.

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 IntentReference
Deliver stream data to Apache Iceberg tables on S3 Tables — setup, IAM, Glue schema, type mapping, partitioning, channel lifecyclereferences/streaming-tables.md [blocked]
Deliver stream data to a general-purpose S3 bucket as objects — setup, IAM, compression, storage class, output key templates, channel lifecyclereferences/general-purpose-delivery-to-s3.md [blocked]
Build a lakehouse / data lake from Kinesis; make streaming data queryable in Athenareferences/streaming-tables.md [blocked]
Zero-ops, serverless alternative to Firehose or Kinesis consumers for KDS → S3 deliveryreferences/general-purpose-delivery-to-s3.md [blocked]
CloudWatch metrics and alarms, delivery logging, CloudTrail, encryption, channel states, quotas, naming rules, what can be updatedreferences/monitoring-security-and-limits.md [blocked]
Channel is ACTIVE but no data arrives; records landing in the DLQ; rising data freshnessStart with references/monitoring-security-and-limits.md [blocked], then the destination-specific troubleshooting table
Deliver to both S3 and S3 Tables from one streamSupported — 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

Source and attribution

Source:aws/agent-toolkit-for-awsinskills/specialized-skills/analytics-skills/managing-amazon-kinesis-data-streamsat commit188af2f

License: No license

Content belongs to its original authors. SourceWeft indexes it from a public repository.

Report or request removal

Managing Amazon Kinesis Data Streams Agent Skill | SourceWeft