2026/08/31 - Amazon Kinesis - 5 new2 updated api methods
Changes Adds support for data delivery to Amazon S3 Tables (Apache Iceberg) and general purpose Amazon S3 buckets with new CreateChannel, UpdateChannel, DeleteChannel, DescribeChannel, and ListChannels APIs for Amazon Kinesis Data Streams.
Lists the channels in your account. You can filter the results by source stream. The results are paginated. Use the NextToken value returned in the response to retrieve additional results.
Use this operation to find channels before deleting a stream, or to audit the channels configured in an Amazon Web Services Region.
This API has a call limit of 5 transactions per second (TPS) for each Amazon Web Services account. Exceeding 5 TPS results in a LimitExceededException.
See also: AWS API Documentation
Request Syntax
client.list_channels(
StreamFilter=[
{
'StreamARN': 'string',
'StreamCreationTimestamp': datetime(2015, 1, 1)
},
],
MaxResults=123,
NextToken='string'
)
list
Filters the results to channels associated with the specified streams.
(dict) --
Filters ListChannels results by source stream.
StreamARN (string) -- [REQUIRED]
The Amazon Resource Name (ARN) of the source stream to filter by.
StreamCreationTimestamp (datetime) --
The creation timestamp of the source stream.
integer
The maximum number of channels to return in a single call. The default value is 100. If you specify a value greater than 100, at most 100 results are returned.
string
The pagination token returned by a previous call. Specify this token to retrieve the next page of results. This value is null when there are no more results to return.
dict
Response Syntax
{
'ChannelSummaries': [
{
'ChannelName': 'string',
'ChannelARN': 'string',
'ChannelId': 'string',
'ChannelStatus': 'CREATING'|'ACTIVE'|'UPDATING'|'DELETING'|'FAILED',
'ChannelStatusReason': 'string',
'ChannelCreationTimestamp': datetime(2015, 1, 1),
'ChannelDestinationType': 'S3'|'S3_TABLES',
'Streams': [
{
'StreamARN': 'string',
'StreamCreationTimestamp': datetime(2015, 1, 1)
},
]
},
],
'NextToken': 'string'
}
Response Structure
(dict) --
ChannelSummaries (list) --
A list of channel summaries.
(dict) --
A summary of a channel, returned by ListChannels.
ChannelName (string) --
The name of the channel.
ChannelARN (string) --
The Amazon Resource Name (ARN) of the channel.
ChannelId (string) --
The unique identifier of the channel.
ChannelStatus (string) --
The current status of the channel. Valid values:
CREATING
ACTIVE
UPDATING
DELETING
FAILED - See ChannelStatusReason for the failure cause.
ChannelStatusReason (string) --
A message describing the reason for a FAILED status.
ChannelCreationTimestamp (datetime) --
The time at which the channel was created.
ChannelDestinationType (string) --
The destination type of the channel. Valid values:
S3 - Delivery to a general purpose Amazon S3 bucket.
S3_TABLES - Delivery to streaming tables on Apache Iceberg.
Streams (list) --
The source streams associated with the channel.
(dict) --
Identifies a source stream associated with a channel.
StreamARN (string) --
The Amazon Resource Name (ARN) of the source Kinesis data stream.
StreamCreationTimestamp (datetime) --
The time at which the source stream was created.
NextToken (string) --
The pagination token to use in a subsequent call to retrieve the next page of results. This value is null when there are no more results to return.
Updates the data freshness interval or the Amazon CloudWatch Logs configuration of an existing channel. You cannot change the destination, source stream, record format, schema, encryption configuration, or service execution role of an existing channel. To change any other setting, delete the channel and create a new one.
Updating a channel is an asynchronous operation. Upon receiving the request, Amazon Kinesis Data Streams sets the channel to the UPDATING state and returns immediately. After the change is applied, Amazon Kinesis Data Streams sets the channel back to the ACTIVE state.
This API has a call limit of 5 transactions per second (TPS) for each Amazon Web Services account. Exceeding 5 TPS results in a LimitExceededException.
See also: AWS API Documentation
Request Syntax
client.update_channel(
ChannelARN='string',
S3DestinationConfiguration={
'DataFreshnessInSeconds': 123
},
S3TablesDestinationConfiguration={
'DataFreshnessInSeconds': 123
},
LoggingConfiguration={
'CloudWatchLogs': {
'Enabled': True|False,
'LogGroupName': 'string',
'LogStreamName': 'string'
}
}
)
string
[REQUIRED]
The Amazon Resource Name (ARN) of the channel to update.
dict
The updated configuration for a general purpose Amazon S3 destination. Only DataFreshnessInSeconds can be updated.
DataFreshnessInSeconds (integer) -- [REQUIRED]
The maximum age, in seconds, of undelivered data. Valid range is 300 to 900 seconds (5 to 15 minutes).
dict
The updated configuration for a streaming table destination. Only DataFreshnessInSeconds can be updated.
DataFreshnessInSeconds (integer) -- [REQUIRED]
The maximum age, in seconds, of undelivered data. Valid range is 300 to 900 seconds (5 to 15 minutes).
dict
The updated Amazon CloudWatch Logs configuration for the channel.
CloudWatchLogs (dict) -- [REQUIRED]
The updated Amazon CloudWatch Logs settings for the channel.
Enabled (boolean) -- [REQUIRED]
Specifies whether logging to Amazon CloudWatch Logs is enabled.
LogGroupName (string) --
The name of the Amazon CloudWatch Logs log group.
LogStreamName (string) --
The name of the Amazon CloudWatch Logs log stream.
dict
Response Syntax
{
'ChannelDescription': {
'ChannelName': 'string',
'ChannelARN': 'string',
'ChannelId': 'string',
'ChannelStatus': 'CREATING'|'ACTIVE'|'UPDATING'|'DELETING'|'FAILED',
'ChannelStatusReason': 'string',
'ChannelCreationTimestamp': datetime(2015, 1, 1),
'ServiceExecutionRoleARN': 'string',
'StreamConfigurationList': [
{
'StreamARN': 'string',
'StreamCreationTimestamp': datetime(2015, 1, 1),
'RecordConfiguration': {
'RecordFormatType': 'GSR_JSON'|'JSON'|'STRING'|'BYTE_ARRAY',
'GSRSchemaARN': 'string'
}
},
],
'S3DestinationConfiguration': {
'DataFreshnessInSeconds': 123,
'DeadLetterQueueS3Configuration': {
'BucketARN': 'string',
'ExpectedBucketOwner': 'string',
'ErrorOutputPrefix': 'string'
},
'StorageConfiguration': {
'BucketARN': 'string',
'ExpectedBucketOwner': 'string',
'OutputKeyTemplate': 'string',
'StorageClass': 'STANDARD'|'INTELLIGENT_TIERING'|'GLACIER_IR',
'CompressionType': 'NONE'|'GZIP'|'ZSTD'
}
},
'S3TablesDestinationConfiguration': {
'DataFreshnessInSeconds': 123,
'DeadLetterQueueS3Configuration': {
'BucketARN': 'string',
'ExpectedBucketOwner': 'string',
'ErrorOutputPrefix': 'string'
},
'S3TablesConfigurationList': [
{
'TableBucketARN': 'string',
'Namespace': 'string',
'TableName': 'string',
'CompressionType': 'NONE'|'ZSTD'|'SNAPPY',
'PartitionSpec': {
'PartitionFields': [
{
'Transform': 'TIME_HOUR',
'SourceName': 'string'
},
]
}
},
]
},
'EncryptionConfiguration': {
'EncryptionType': 'KMS',
'KeyId': 'string'
},
'LoggingConfiguration': {
'CloudWatchLogs': {
'Enabled': True|False,
'LogGroupName': 'string',
'LogStreamName': 'string'
}
}
}
}
Response Structure
(dict) --
ChannelDescription (dict) --
The configuration and current status of the updated channel.
ChannelName (string) --
The name of the channel.
ChannelARN (string) --
The Amazon Resource Name (ARN) of the channel.
ChannelId (string) --
The unique identifier of the channel.
ChannelStatus (string) --
The current status of the channel. Valid values:
CREATING
ACTIVE
UPDATING
DELETING
FAILED - See ChannelStatusReason for the failure cause.
ChannelStatusReason (string) --
A message describing the reason for a FAILED status.
ChannelCreationTimestamp (datetime) --
The time at which the channel was created.
ServiceExecutionRoleARN (string) --
The Amazon Resource Name (ARN) of the IAM role that Amazon Kinesis Data Streams assumes to write records to the destination.
StreamConfigurationList (list) --
The source stream configuration for the channel.
(dict) --
Describes the source stream of a channel.
StreamARN (string) --
The Amazon Resource Name (ARN) of the source Kinesis data stream.
StreamCreationTimestamp (datetime) --
The time at which the source stream was created.
RecordConfiguration (dict) --
The record format configuration for the source stream.
RecordFormatType (string) --
The format of records on the source stream. Valid values:
GSR_JSON - Supported only for streaming table (Amazon S3 Tables) destinations.
JSON - Supported for both general purpose Amazon S3 and streaming table destinations.
STRING - Supported only for general purpose Amazon S3 destinations.
BYTE_ARRAY - Supported only for general purpose Amazon S3 destinations.
GSRSchemaARN (string) --
The Amazon Resource Name (ARN) of the Amazon Web Services Glue Schema Registry schema used to validate records. Required when the channel destination is a streaming table (Amazon S3 Tables), for both the JSON and GSR_JSON record formats.
S3DestinationConfiguration (dict) --
The configuration for delivery to a general purpose Amazon S3 bucket. Present only when the channel destination is a general purpose Amazon S3 bucket.
DataFreshnessInSeconds (integer) --
The maximum age, in seconds, of undelivered data.
DeadLetterQueueS3Configuration (dict) --
The dead-letter queue configuration for records that cannot be delivered.
BucketARN (string) --
The Amazon Resource Name (ARN) of the dead-letter queue Amazon S3 bucket.
ExpectedBucketOwner (string) --
The Amazon Web Services account ID of the expected owner of the dead-letter queue bucket.
ErrorOutputPrefix (string) --
The Amazon S3 key prefix for error records.
StorageConfiguration (dict) --
The Amazon S3 storage configuration for the channel.
BucketARN (string) --
The Amazon Resource Name (ARN) of the destination Amazon S3 bucket.
ExpectedBucketOwner (string) --
The Amazon Web Services account ID of the expected owner of the destination bucket. This value helps prevent delivery to an unintended bucket if ownership changes.
OutputKeyTemplate (string) --
The template used to construct the Amazon S3 object key for delivered objects. If not specified, a default template is used.
StorageClass (string) --
The Amazon S3 storage class for delivered objects. Valid values:
STANDARD (default)
INTELLIGENT_TIERING
GLACIER_IR
CompressionType (string) --
The compression applied to delivered objects. Valid values:
NONE - No compression.
GZIP - gzip compression.
ZSTD - Zstandard compression.
S3TablesDestinationConfiguration (dict) --
The configuration for delivery to streaming tables on Apache Iceberg in Amazon S3 Tables. Present only when the channel destination is a streaming table.
DataFreshnessInSeconds (integer) --
The maximum age, in seconds, of undelivered data.
DeadLetterQueueS3Configuration (dict) --
The dead-letter queue configuration for records that cannot be delivered.
BucketARN (string) --
The Amazon Resource Name (ARN) of the dead-letter queue Amazon S3 bucket.
ExpectedBucketOwner (string) --
The Amazon Web Services account ID of the expected owner of the dead-letter queue bucket.
ErrorOutputPrefix (string) --
The Amazon S3 key prefix for error records.
S3TablesConfigurationList (list) --
The list of streaming table configurations.
(dict) --
Specifies a destination streaming table on Apache Iceberg.
TableBucketARN (string) --
The Amazon Resource Name (ARN) of the Amazon S3 table bucket.
Namespace (string) --
The namespace (database) of the destination table.
TableName (string) --
The name of the destination table. Amazon Kinesis Data Streams creates this table in the specified table bucket.
CompressionType (string) --
The compression applied to Parquet data files. Valid values:
NONE - No compression.
ZSTD - Zstandard compression.
SNAPPY - Snappy compression.
PartitionSpec (dict) --
The partitioning specification for the destination table.
PartitionFields (list) --
The list of partition fields.
(dict) --
Specifies a single partition field.
Transform (string) --
The partition transform to apply. The only valid value is TIME_HOUR.
SourceName (string) --
The name of the source column used for partitioning. This column must be of the timestamptz type.
EncryptionConfiguration (dict) --
The server-side encryption configuration for the channel.
EncryptionType (string) --
The encryption type. The only valid value is KMS.
KeyId (string) --
The identifier of the customer managed Amazon Web Services KMS key. You cannot use the Amazon Kinesis Data Streams service key ( aws/kinesis).
LoggingConfiguration (dict) --
The Amazon CloudWatch Logs configuration for the channel.
CloudWatchLogs (dict) --
The Amazon CloudWatch Logs settings for the channel.
Enabled (boolean) --
Specifies whether logging to Amazon CloudWatch Logs is enabled.
LogGroupName (string) --
The name of the Amazon CloudWatch Logs log group. Defaults to /aws/kinesis/{channelName}/{channelId}.
LogStreamName (string) --
The name of the Amazon CloudWatch Logs log stream. Defaults to DestinationDelivery.
Creates a channel that delivers records from a Kinesis data stream to a destination. A channel reads records from the specified stream and writes them to streaming tables on Apache Iceberg (Amazon S3 Tables) or to a general purpose Amazon S3 bucket.
You must specify either S3DestinationConfiguration or S3TablesDestinationConfiguration, but not both.
Creating a channel is an asynchronous operation. Upon receiving the request, Amazon Kinesis Data Streams returns immediately with the channel in the CREATING state. After provisioning is complete, Amazon Kinesis Data Streams sets the state to ACTIVE. You can use DescribeChannel to check the current state.
This operation is only supported for data streams with the on-demand capacity mode.
This API has a call limit of 5 transactions per second (TPS) for each Amazon Web Services account. Exceeding 5 TPS results in a LimitExceededException.
See also: AWS API Documentation
Request Syntax
client.create_channel(
ChannelName='string',
ServiceExecutionRoleARN='string',
StreamConfigurationList=[
{
'StreamARN': 'string',
'RecordConfiguration': {
'RecordFormatType': 'GSR_JSON'|'JSON'|'STRING'|'BYTE_ARRAY',
'GSRSchemaARN': 'string'
}
},
],
S3DestinationConfiguration={
'DataFreshnessInSeconds': 123,
'DeadLetterQueueS3Configuration': {
'BucketARN': 'string',
'ExpectedBucketOwner': 'string',
'ErrorOutputPrefix': 'string'
},
'StorageConfiguration': {
'BucketARN': 'string',
'ExpectedBucketOwner': 'string',
'OutputKeyTemplate': 'string',
'StorageClass': 'STANDARD'|'INTELLIGENT_TIERING'|'GLACIER_IR',
'CompressionType': 'NONE'|'GZIP'|'ZSTD'
}
},
S3TablesDestinationConfiguration={
'DataFreshnessInSeconds': 123,
'DeadLetterQueueS3Configuration': {
'BucketARN': 'string',
'ExpectedBucketOwner': 'string',
'ErrorOutputPrefix': 'string'
},
'S3TablesConfigurationList': [
{
'TableBucketARN': 'string',
'Namespace': 'string',
'TableName': 'string',
'CompressionType': 'NONE'|'ZSTD'|'SNAPPY',
'PartitionSpec': {
'PartitionFields': [
{
'Transform': 'TIME_HOUR',
'SourceName': 'string'
},
]
}
},
]
},
EncryptionConfiguration={
'EncryptionType': 'KMS',
'KeyId': 'string'
},
Tags={
'string': 'string'
},
LoggingConfiguration={
'CloudWatchLogs': {
'Enabled': True|False,
'LogGroupName': 'string',
'LogStreamName': 'string'
}
}
)
string
[REQUIRED]
The name of the channel. The name is unique within your Amazon Web Services account and Amazon Web Services Region.
string
[REQUIRED]
The Amazon Resource Name (ARN) of the IAM role that Amazon Kinesis Data Streams assumes to write records to the destination.
list
[REQUIRED]
The source stream configuration for the channel. Currently, one stream is supported per channel.
(dict) --
Specifies the source stream and record configuration when creating a channel.
StreamARN (string) -- [REQUIRED]
The Amazon Resource Name (ARN) of the source Kinesis data stream.
RecordConfiguration (dict) -- [REQUIRED]
The record format configuration for the source stream.
RecordFormatType (string) -- [REQUIRED]
The format of records on the source stream. Valid values:
GSR_JSON - Supported only for streaming table (Amazon S3 Tables) destinations.
JSON - Supported for both general purpose Amazon S3 and streaming table destinations.
STRING - Supported only for general purpose Amazon S3 destinations.
BYTE_ARRAY - Supported only for general purpose Amazon S3 destinations.
GSRSchemaARN (string) --
The Amazon Resource Name (ARN) of the Amazon Web Services Glue Schema Registry schema used to validate records. Required when the channel destination is a streaming table (Amazon S3 Tables), for both the JSON and GSR_JSON record formats.
dict
The configuration for delivery to a general purpose Amazon S3 bucket. You must specify either S3DestinationConfiguration or S3TablesDestinationConfiguration, but not both.
DataFreshnessInSeconds (integer) --
The maximum age, in seconds, of undelivered data. Valid range is 300 to 900 seconds (5 to 15 minutes). The default value is 300 seconds.
DeadLetterQueueS3Configuration (dict) --
The dead-letter queue configuration for records that cannot be delivered. Optional for general purpose Amazon S3 destinations. If not specified, it defaults to the destination bucket with an error prefix.
BucketARN (string) -- [REQUIRED]
The Amazon Resource Name (ARN) of the dead-letter queue Amazon S3 bucket.
ExpectedBucketOwner (string) -- [REQUIRED]
The Amazon Web Services account ID of the expected owner of the dead-letter queue bucket.
ErrorOutputPrefix (string) --
The Amazon S3 key prefix for error records.
StorageConfiguration (dict) -- [REQUIRED]
The Amazon S3 storage configuration for the channel.
BucketARN (string) -- [REQUIRED]
The Amazon Resource Name (ARN) of the destination Amazon S3 bucket.
ExpectedBucketOwner (string) -- [REQUIRED]
The Amazon Web Services account ID of the expected owner of the destination bucket. This value helps prevent delivery to an unintended bucket if ownership changes.
OutputKeyTemplate (string) --
The template used to construct the Amazon S3 object key for delivered objects. If not specified, a default template is used.
StorageClass (string) --
The Amazon S3 storage class for delivered objects. Valid values:
STANDARD (default)
INTELLIGENT_TIERING
GLACIER_IR
CompressionType (string) -- [REQUIRED]
The compression applied to delivered objects. Valid values:
NONE - No compression.
GZIP - gzip compression.
ZSTD - Zstandard compression.
dict
The configuration for delivery to streaming tables on Apache Iceberg in Amazon S3 Tables. You must specify either S3DestinationConfiguration or S3TablesDestinationConfiguration, but not both.
DataFreshnessInSeconds (integer) --
The maximum age, in seconds, of undelivered data. Valid range is 300 to 900 seconds (5 to 15 minutes). The default value is 300 seconds.
DeadLetterQueueS3Configuration (dict) -- [REQUIRED]
The dead-letter queue configuration for records that cannot be delivered. Required for streaming table destinations.
BucketARN (string) -- [REQUIRED]
The Amazon Resource Name (ARN) of the dead-letter queue Amazon S3 bucket.
ExpectedBucketOwner (string) -- [REQUIRED]
The Amazon Web Services account ID of the expected owner of the dead-letter queue bucket.
ErrorOutputPrefix (string) --
The Amazon S3 key prefix for error records.
S3TablesConfigurationList (list) -- [REQUIRED]
The list of streaming table configurations. Currently, one table is supported per channel.
(dict) --
Specifies a destination streaming table on Apache Iceberg.
TableBucketARN (string) -- [REQUIRED]
The Amazon Resource Name (ARN) of the Amazon S3 table bucket.
Namespace (string) -- [REQUIRED]
The namespace (database) of the destination table.
TableName (string) -- [REQUIRED]
The name of the destination table. Amazon Kinesis Data Streams creates this table in the specified table bucket.
CompressionType (string) -- [REQUIRED]
The compression applied to Parquet data files. Valid values:
NONE - No compression.
ZSTD - Zstandard compression.
SNAPPY - Snappy compression.
PartitionSpec (dict) --
The partitioning specification for the destination table.
PartitionFields (list) -- [REQUIRED]
The list of partition fields.
(dict) --
Specifies a single partition field.
Transform (string) -- [REQUIRED]
The partition transform to apply. The only valid value is TIME_HOUR.
SourceName (string) -- [REQUIRED]
The name of the source column used for partitioning. This column must be of the timestamptz type.
dict
The server-side encryption configuration that uses an Amazon Web Services KMS key to encrypt data delivered to the destination.
EncryptionType (string) -- [REQUIRED]
The encryption type. The only valid value is KMS.
KeyId (string) -- [REQUIRED]
The identifier of the customer managed Amazon Web Services KMS key. You cannot use the Amazon Kinesis Data Streams service key ( aws/kinesis).
dict
A set of key-value pairs to assign to the channel. A tag consists of a required key and an optional value.
(string) --
(string) --
dict
The Amazon CloudWatch Logs configuration for the channel.
CloudWatchLogs (dict) -- [REQUIRED]
The Amazon CloudWatch Logs settings for the channel.
Enabled (boolean) -- [REQUIRED]
Specifies whether logging to Amazon CloudWatch Logs is enabled.
LogGroupName (string) --
The name of the Amazon CloudWatch Logs log group. Defaults to /aws/kinesis/{channelName}/{channelId}.
LogStreamName (string) --
The name of the Amazon CloudWatch Logs log stream. Defaults to DestinationDelivery.
dict
Response Syntax
{
'ChannelDescription': {
'ChannelName': 'string',
'ChannelARN': 'string',
'ChannelId': 'string',
'ChannelStatus': 'CREATING'|'ACTIVE'|'UPDATING'|'DELETING'|'FAILED',
'ChannelStatusReason': 'string',
'ChannelCreationTimestamp': datetime(2015, 1, 1),
'ServiceExecutionRoleARN': 'string',
'StreamConfigurationList': [
{
'StreamARN': 'string',
'StreamCreationTimestamp': datetime(2015, 1, 1),
'RecordConfiguration': {
'RecordFormatType': 'GSR_JSON'|'JSON'|'STRING'|'BYTE_ARRAY',
'GSRSchemaARN': 'string'
}
},
],
'S3DestinationConfiguration': {
'DataFreshnessInSeconds': 123,
'DeadLetterQueueS3Configuration': {
'BucketARN': 'string',
'ExpectedBucketOwner': 'string',
'ErrorOutputPrefix': 'string'
},
'StorageConfiguration': {
'BucketARN': 'string',
'ExpectedBucketOwner': 'string',
'OutputKeyTemplate': 'string',
'StorageClass': 'STANDARD'|'INTELLIGENT_TIERING'|'GLACIER_IR',
'CompressionType': 'NONE'|'GZIP'|'ZSTD'
}
},
'S3TablesDestinationConfiguration': {
'DataFreshnessInSeconds': 123,
'DeadLetterQueueS3Configuration': {
'BucketARN': 'string',
'ExpectedBucketOwner': 'string',
'ErrorOutputPrefix': 'string'
},
'S3TablesConfigurationList': [
{
'TableBucketARN': 'string',
'Namespace': 'string',
'TableName': 'string',
'CompressionType': 'NONE'|'ZSTD'|'SNAPPY',
'PartitionSpec': {
'PartitionFields': [
{
'Transform': 'TIME_HOUR',
'SourceName': 'string'
},
]
}
},
]
},
'EncryptionConfiguration': {
'EncryptionType': 'KMS',
'KeyId': 'string'
},
'LoggingConfiguration': {
'CloudWatchLogs': {
'Enabled': True|False,
'LogGroupName': 'string',
'LogStreamName': 'string'
}
}
}
}
Response Structure
(dict) --
ChannelDescription (dict) --
The configuration and current status of the channel.
ChannelName (string) --
The name of the channel.
ChannelARN (string) --
The Amazon Resource Name (ARN) of the channel.
ChannelId (string) --
The unique identifier of the channel.
ChannelStatus (string) --
The current status of the channel. Valid values:
CREATING
ACTIVE
UPDATING
DELETING
FAILED - See ChannelStatusReason for the failure cause.
ChannelStatusReason (string) --
A message describing the reason for a FAILED status.
ChannelCreationTimestamp (datetime) --
The time at which the channel was created.
ServiceExecutionRoleARN (string) --
The Amazon Resource Name (ARN) of the IAM role that Amazon Kinesis Data Streams assumes to write records to the destination.
StreamConfigurationList (list) --
The source stream configuration for the channel.
(dict) --
Describes the source stream of a channel.
StreamARN (string) --
The Amazon Resource Name (ARN) of the source Kinesis data stream.
StreamCreationTimestamp (datetime) --
The time at which the source stream was created.
RecordConfiguration (dict) --
The record format configuration for the source stream.
RecordFormatType (string) --
The format of records on the source stream. Valid values:
GSR_JSON - Supported only for streaming table (Amazon S3 Tables) destinations.
JSON - Supported for both general purpose Amazon S3 and streaming table destinations.
STRING - Supported only for general purpose Amazon S3 destinations.
BYTE_ARRAY - Supported only for general purpose Amazon S3 destinations.
GSRSchemaARN (string) --
The Amazon Resource Name (ARN) of the Amazon Web Services Glue Schema Registry schema used to validate records. Required when the channel destination is a streaming table (Amazon S3 Tables), for both the JSON and GSR_JSON record formats.
S3DestinationConfiguration (dict) --
The configuration for delivery to a general purpose Amazon S3 bucket. Present only when the channel destination is a general purpose Amazon S3 bucket.
DataFreshnessInSeconds (integer) --
The maximum age, in seconds, of undelivered data.
DeadLetterQueueS3Configuration (dict) --
The dead-letter queue configuration for records that cannot be delivered.
BucketARN (string) --
The Amazon Resource Name (ARN) of the dead-letter queue Amazon S3 bucket.
ExpectedBucketOwner (string) --
The Amazon Web Services account ID of the expected owner of the dead-letter queue bucket.
ErrorOutputPrefix (string) --
The Amazon S3 key prefix for error records.
StorageConfiguration (dict) --
The Amazon S3 storage configuration for the channel.
BucketARN (string) --
The Amazon Resource Name (ARN) of the destination Amazon S3 bucket.
ExpectedBucketOwner (string) --
The Amazon Web Services account ID of the expected owner of the destination bucket. This value helps prevent delivery to an unintended bucket if ownership changes.
OutputKeyTemplate (string) --
The template used to construct the Amazon S3 object key for delivered objects. If not specified, a default template is used.
StorageClass (string) --
The Amazon S3 storage class for delivered objects. Valid values:
STANDARD (default)
INTELLIGENT_TIERING
GLACIER_IR
CompressionType (string) --
The compression applied to delivered objects. Valid values:
NONE - No compression.
GZIP - gzip compression.
ZSTD - Zstandard compression.
S3TablesDestinationConfiguration (dict) --
The configuration for delivery to streaming tables on Apache Iceberg in Amazon S3 Tables. Present only when the channel destination is a streaming table.
DataFreshnessInSeconds (integer) --
The maximum age, in seconds, of undelivered data.
DeadLetterQueueS3Configuration (dict) --
The dead-letter queue configuration for records that cannot be delivered.
BucketARN (string) --
The Amazon Resource Name (ARN) of the dead-letter queue Amazon S3 bucket.
ExpectedBucketOwner (string) --
The Amazon Web Services account ID of the expected owner of the dead-letter queue bucket.
ErrorOutputPrefix (string) --
The Amazon S3 key prefix for error records.
S3TablesConfigurationList (list) --
The list of streaming table configurations.
(dict) --
Specifies a destination streaming table on Apache Iceberg.
TableBucketARN (string) --
The Amazon Resource Name (ARN) of the Amazon S3 table bucket.
Namespace (string) --
The namespace (database) of the destination table.
TableName (string) --
The name of the destination table. Amazon Kinesis Data Streams creates this table in the specified table bucket.
CompressionType (string) --
The compression applied to Parquet data files. Valid values:
NONE - No compression.
ZSTD - Zstandard compression.
SNAPPY - Snappy compression.
PartitionSpec (dict) --
The partitioning specification for the destination table.
PartitionFields (list) --
The list of partition fields.
(dict) --
Specifies a single partition field.
Transform (string) --
The partition transform to apply. The only valid value is TIME_HOUR.
SourceName (string) --
The name of the source column used for partitioning. This column must be of the timestamptz type.
EncryptionConfiguration (dict) --
The server-side encryption configuration for the channel.
EncryptionType (string) --
The encryption type. The only valid value is KMS.
KeyId (string) --
The identifier of the customer managed Amazon Web Services KMS key. You cannot use the Amazon Kinesis Data Streams service key ( aws/kinesis).
LoggingConfiguration (dict) --
The Amazon CloudWatch Logs configuration for the channel.
CloudWatchLogs (dict) --
The Amazon CloudWatch Logs settings for the channel.
Enabled (boolean) --
Specifies whether logging to Amazon CloudWatch Logs is enabled.
LogGroupName (string) --
The name of the Amazon CloudWatch Logs log group. Defaults to /aws/kinesis/{channelName}/{channelId}.
LogStreamName (string) --
The name of the Amazon CloudWatch Logs log stream. Defaults to DestinationDelivery.
Describes the specified channel, including its configuration and current status.
Use this operation to verify that a channel reached the ACTIVE state after creation, or to diagnose a channel in the FAILED state by reading the ChannelStatusReason.
This API has a call limit of 5 transactions per second (TPS) for each Amazon Web Services account. Exceeding 5 TPS results in a LimitExceededException.
See also: AWS API Documentation
Request Syntax
client.describe_channel(
ChannelARN='string'
)
string
[REQUIRED]
The Amazon Resource Name (ARN) of the channel to describe.
dict
Response Syntax
{
'ChannelDescription': {
'ChannelName': 'string',
'ChannelARN': 'string',
'ChannelId': 'string',
'ChannelStatus': 'CREATING'|'ACTIVE'|'UPDATING'|'DELETING'|'FAILED',
'ChannelStatusReason': 'string',
'ChannelCreationTimestamp': datetime(2015, 1, 1),
'ServiceExecutionRoleARN': 'string',
'StreamConfigurationList': [
{
'StreamARN': 'string',
'StreamCreationTimestamp': datetime(2015, 1, 1),
'RecordConfiguration': {
'RecordFormatType': 'GSR_JSON'|'JSON'|'STRING'|'BYTE_ARRAY',
'GSRSchemaARN': 'string'
}
},
],
'S3DestinationConfiguration': {
'DataFreshnessInSeconds': 123,
'DeadLetterQueueS3Configuration': {
'BucketARN': 'string',
'ExpectedBucketOwner': 'string',
'ErrorOutputPrefix': 'string'
},
'StorageConfiguration': {
'BucketARN': 'string',
'ExpectedBucketOwner': 'string',
'OutputKeyTemplate': 'string',
'StorageClass': 'STANDARD'|'INTELLIGENT_TIERING'|'GLACIER_IR',
'CompressionType': 'NONE'|'GZIP'|'ZSTD'
}
},
'S3TablesDestinationConfiguration': {
'DataFreshnessInSeconds': 123,
'DeadLetterQueueS3Configuration': {
'BucketARN': 'string',
'ExpectedBucketOwner': 'string',
'ErrorOutputPrefix': 'string'
},
'S3TablesConfigurationList': [
{
'TableBucketARN': 'string',
'Namespace': 'string',
'TableName': 'string',
'CompressionType': 'NONE'|'ZSTD'|'SNAPPY',
'PartitionSpec': {
'PartitionFields': [
{
'Transform': 'TIME_HOUR',
'SourceName': 'string'
},
]
}
},
]
},
'EncryptionConfiguration': {
'EncryptionType': 'KMS',
'KeyId': 'string'
},
'LoggingConfiguration': {
'CloudWatchLogs': {
'Enabled': True|False,
'LogGroupName': 'string',
'LogStreamName': 'string'
}
}
}
}
Response Structure
(dict) --
ChannelDescription (dict) --
The configuration and current status of the channel.
ChannelName (string) --
The name of the channel.
ChannelARN (string) --
The Amazon Resource Name (ARN) of the channel.
ChannelId (string) --
The unique identifier of the channel.
ChannelStatus (string) --
The current status of the channel. Valid values:
CREATING
ACTIVE
UPDATING
DELETING
FAILED - See ChannelStatusReason for the failure cause.
ChannelStatusReason (string) --
A message describing the reason for a FAILED status.
ChannelCreationTimestamp (datetime) --
The time at which the channel was created.
ServiceExecutionRoleARN (string) --
The Amazon Resource Name (ARN) of the IAM role that Amazon Kinesis Data Streams assumes to write records to the destination.
StreamConfigurationList (list) --
The source stream configuration for the channel.
(dict) --
Describes the source stream of a channel.
StreamARN (string) --
The Amazon Resource Name (ARN) of the source Kinesis data stream.
StreamCreationTimestamp (datetime) --
The time at which the source stream was created.
RecordConfiguration (dict) --
The record format configuration for the source stream.
RecordFormatType (string) --
The format of records on the source stream. Valid values:
GSR_JSON - Supported only for streaming table (Amazon S3 Tables) destinations.
JSON - Supported for both general purpose Amazon S3 and streaming table destinations.
STRING - Supported only for general purpose Amazon S3 destinations.
BYTE_ARRAY - Supported only for general purpose Amazon S3 destinations.
GSRSchemaARN (string) --
The Amazon Resource Name (ARN) of the Amazon Web Services Glue Schema Registry schema used to validate records. Required when the channel destination is a streaming table (Amazon S3 Tables), for both the JSON and GSR_JSON record formats.
S3DestinationConfiguration (dict) --
The configuration for delivery to a general purpose Amazon S3 bucket. Present only when the channel destination is a general purpose Amazon S3 bucket.
DataFreshnessInSeconds (integer) --
The maximum age, in seconds, of undelivered data.
DeadLetterQueueS3Configuration (dict) --
The dead-letter queue configuration for records that cannot be delivered.
BucketARN (string) --
The Amazon Resource Name (ARN) of the dead-letter queue Amazon S3 bucket.
ExpectedBucketOwner (string) --
The Amazon Web Services account ID of the expected owner of the dead-letter queue bucket.
ErrorOutputPrefix (string) --
The Amazon S3 key prefix for error records.
StorageConfiguration (dict) --
The Amazon S3 storage configuration for the channel.
BucketARN (string) --
The Amazon Resource Name (ARN) of the destination Amazon S3 bucket.
ExpectedBucketOwner (string) --
The Amazon Web Services account ID of the expected owner of the destination bucket. This value helps prevent delivery to an unintended bucket if ownership changes.
OutputKeyTemplate (string) --
The template used to construct the Amazon S3 object key for delivered objects. If not specified, a default template is used.
StorageClass (string) --
The Amazon S3 storage class for delivered objects. Valid values:
STANDARD (default)
INTELLIGENT_TIERING
GLACIER_IR
CompressionType (string) --
The compression applied to delivered objects. Valid values:
NONE - No compression.
GZIP - gzip compression.
ZSTD - Zstandard compression.
S3TablesDestinationConfiguration (dict) --
The configuration for delivery to streaming tables on Apache Iceberg in Amazon S3 Tables. Present only when the channel destination is a streaming table.
DataFreshnessInSeconds (integer) --
The maximum age, in seconds, of undelivered data.
DeadLetterQueueS3Configuration (dict) --
The dead-letter queue configuration for records that cannot be delivered.
BucketARN (string) --
The Amazon Resource Name (ARN) of the dead-letter queue Amazon S3 bucket.
ExpectedBucketOwner (string) --
The Amazon Web Services account ID of the expected owner of the dead-letter queue bucket.
ErrorOutputPrefix (string) --
The Amazon S3 key prefix for error records.
S3TablesConfigurationList (list) --
The list of streaming table configurations.
(dict) --
Specifies a destination streaming table on Apache Iceberg.
TableBucketARN (string) --
The Amazon Resource Name (ARN) of the Amazon S3 table bucket.
Namespace (string) --
The namespace (database) of the destination table.
TableName (string) --
The name of the destination table. Amazon Kinesis Data Streams creates this table in the specified table bucket.
CompressionType (string) --
The compression applied to Parquet data files. Valid values:
NONE - No compression.
ZSTD - Zstandard compression.
SNAPPY - Snappy compression.
PartitionSpec (dict) --
The partitioning specification for the destination table.
PartitionFields (list) --
The list of partition fields.
(dict) --
Specifies a single partition field.
Transform (string) --
The partition transform to apply. The only valid value is TIME_HOUR.
SourceName (string) --
The name of the source column used for partitioning. This column must be of the timestamptz type.
EncryptionConfiguration (dict) --
The server-side encryption configuration for the channel.
EncryptionType (string) --
The encryption type. The only valid value is KMS.
KeyId (string) --
The identifier of the customer managed Amazon Web Services KMS key. You cannot use the Amazon Kinesis Data Streams service key ( aws/kinesis).
LoggingConfiguration (dict) --
The Amazon CloudWatch Logs configuration for the channel.
CloudWatchLogs (dict) --
The Amazon CloudWatch Logs settings for the channel.
Enabled (boolean) --
Specifies whether logging to Amazon CloudWatch Logs is enabled.
LogGroupName (string) --
The name of the Amazon CloudWatch Logs log group. Defaults to /aws/kinesis/{channelName}/{channelId}.
LogStreamName (string) --
The name of the Amazon CloudWatch Logs log stream. Defaults to DestinationDelivery.
Deletes the specified channel. Deleting a channel stops delivery from the source stream to the destination. Data already delivered to the destination is not deleted.
A stream cannot be deleted while it has active channels. To delete the stream, first delete all channels attached to it. To find them, use ListChannels with a stream filter.
This API has a call limit of 5 transactions per second (TPS) for each Amazon Web Services account. Exceeding 5 TPS results in a LimitExceededException.
See also: AWS API Documentation
Request Syntax
client.delete_channel(
ChannelARN='string'
)
string
[REQUIRED]
The Amazon Resource Name (ARN) of the channel to delete.
None
{'ChannelCount': 'integer', 'ChannelCountLimit': 'integer'}
Describes the shard limits and usage for the account.
If you update your account limits, the old limits might be returned for a few minutes.
This operation has a limit of one transaction per second per account.
See also: AWS API Documentation
Request Syntax
client.describe_limits()
dict
Response Syntax
{
'ShardLimit': 123,
'OpenShardCount': 123,
'OnDemandStreamCount': 123,
'OnDemandStreamCountLimit': 123,
'ChannelCount': 123,
'ChannelCountLimit': 123
}
Response Structure
(dict) --
ShardLimit (integer) --
The maximum number of shards.
OpenShardCount (integer) --
The number of open shards.
OnDemandStreamCount (integer) --
Indicates the number of data streams with the on-demand capacity mode.
OnDemandStreamCountLimit (integer) --
The maximum number of data streams with the on-demand capacity mode.
ChannelCount (integer) --
The number of channels in the account.
ChannelCountLimit (integer) --
The maximum number of channels allowed in the account.
{'StreamDescriptionSummary': {'ChannelCount': 'integer'}}
Provides a summarized description of the specified Kinesis data stream without the shard list.
The information returned includes the stream name, Amazon Resource Name (ARN), status, record retention period, approximate creation time, monitoring, encryption details, and open shard count.
DescribeStreamSummary has a limit of 20 transactions per second per account.
See also: AWS API Documentation
Request Syntax
client.describe_stream_summary(
StreamName='string',
StreamARN='string',
StreamId='string'
)
string
The name of the stream to describe.
string
The ARN of the stream.
string
Not Implemented. Reserved for future use.
dict
Response Syntax
{
'StreamDescriptionSummary': {
'StreamName': 'string',
'StreamARN': 'string',
'StreamId': 'string',
'StreamStatus': 'CREATING'|'DELETING'|'ACTIVE'|'UPDATING',
'StreamModeDetails': {
'StreamMode': 'PROVISIONED'|'ON_DEMAND'
},
'RetentionPeriodHours': 123,
'StreamCreationTimestamp': datetime(2015, 1, 1),
'EnhancedMonitoring': [
{
'ShardLevelMetrics': [
'IncomingBytes'|'IncomingRecords'|'OutgoingBytes'|'OutgoingRecords'|'WriteProvisionedThroughputExceeded'|'ReadProvisionedThroughputExceeded'|'IteratorAgeMilliseconds'|'ALL',
]
},
],
'EncryptionType': 'NONE'|'KMS',
'KeyId': 'string',
'OpenShardCount': 123,
'ConsumerCount': 123,
'WarmThroughput': {
'TargetMiBps': 123,
'CurrentMiBps': 123
},
'MaxRecordSizeInKiB': 123,
'ChannelCount': 123
}
}
Response Structure
(dict) --
StreamDescriptionSummary (dict) --
A StreamDescriptionSummary containing information about the stream.
StreamName (string) --
The name of the stream being described.
StreamARN (string) --
The Amazon Resource Name (ARN) for the stream being described.
StreamId (string) --
Not Implemented. Reserved for future use.
StreamStatus (string) --
The current status of the stream being described. The stream status is one of the following states:
CREATING - The stream is being created. Kinesis Data Streams immediately returns and sets StreamStatus to CREATING.
DELETING - The stream is being deleted. The specified stream is in the DELETING state until Kinesis Data Streams completes the deletion.
ACTIVE - The stream exists and is ready for read and write operations or deletion. You should perform read and write operations only on an ACTIVE stream.
UPDATING - Shards in the stream are being merged or split. Read and write operations continue to work while the stream is in the UPDATING state.
StreamModeDetails (dict) --
Specifies the capacity mode to which you want to set your data stream. Currently, in Kinesis Data Streams, you can choose between an on-demand ycapacity mode and a provisioned capacity mode for your data streams.
StreamMode (string) --
Specifies the capacity mode to which you want to set your data stream. Currently, in Kinesis Data Streams, you can choose between an on-demand capacity mode and a provisioned capacity mode for your data streams.
RetentionPeriodHours (integer) --
The current retention period, in hours.
StreamCreationTimestamp (datetime) --
The approximate time that the stream was created.
EnhancedMonitoring (list) --
Represents the current enhanced monitoring settings of the stream.
(dict) --
Represents enhanced metrics types.
ShardLevelMetrics (list) --
List of shard-level metrics.
The following are the valid shard-level metrics. The value " ALL" enhances every metric.
IncomingBytes
IncomingRecords
OutgoingBytes
OutgoingRecords
WriteProvisionedThroughputExceeded
ReadProvisionedThroughputExceeded
IteratorAgeMilliseconds
ALL
For more information, see Monitoring the Amazon Kinesis Data Streams Service with Amazon CloudWatch in the Amazon Kinesis Data Streams Developer Guide.
(string) --
EncryptionType (string) --
The encryption type used. This value is one of the following:
KMS
NONE
KeyId (string) --
The GUID for the customer-managed Amazon Web Services KMS key to use for encryption. This value can be a globally unique identifier, a fully specified ARN to either an alias or a key, or an alias name prefixed by "alias/".You can also use a master key owned by Kinesis Data Streams by specifying the alias aws/kinesis.
Key ARN example: arn:aws:kms:us-east-1:123456789012:key/12345678-1234-1234-1234-123456789012
Alias ARN example: arn:aws:kms:us-east-1:123456789012:alias/MyAliasName
Globally unique key ID example: 12345678-1234-1234-1234-123456789012
Alias name example: alias/MyAliasName
Master key owned by Kinesis Data Streams: alias/aws/kinesis
OpenShardCount (integer) --
The number of open shards in the stream.
ConsumerCount (integer) --
The number of enhanced fan-out consumers registered with the stream.
WarmThroughput (dict) --
The warm throughput in MB/s for the stream. This represents the throughput capacity that will be immediately available for write operations.
TargetMiBps (integer) --
The target warm throughput value on the stream. This indicates that the stream is currently scaling towards this target value.
CurrentMiBps (integer) --
The current warm throughput value on the stream. This is the write throughput in MiBps that the stream is currently scaled to handle.
MaxRecordSizeInKiB (integer) --
The maximum record size of a single record in kibibyte (KiB) that you can write to, and read from a stream.
ChannelCount (integer) --
The number of channels associated with the stream.