Kinesis / Client / update_stream_warm_throughput

update_stream_warm_throughput

Kinesis.Client.update_stream_warm_throughput(**kwargs)

Updates the warm throughput configuration for the specified Amazon Kinesis Data Streams on-demand data stream. This operation allows you to proactively scale your on-demand data stream to a specified throughput level, enabling better performance for sudden traffic spikes.

Note

When invoking this API, you must use either the StreamARN or the StreamName parameter, or both. It is recommended that you use the StreamARN input parameter when you invoke this API.

Updating the warm throughput is an asynchronous operation. Upon receiving the request, Kinesis Data Streams returns immediately and sets the status of the stream to UPDATING. After the update is complete, Kinesis Data Streams sets the status of the stream back to ACTIVE. Depending on the size of the stream, the scaling action could take a few minutes to complete. You can continue to read and write data to your stream while its status is UPDATING.

This operation is only supported for data streams with the on-demand capacity mode in accounts that have MinimumThroughputBillingCommitment enabled. Provisioned capacity mode streams do not support warm throughput configuration.

This operation has the following default limits. By default, you cannot do the following:

  • Scale to more than 10 GiBps for an on-demand stream.

  • This API has a call limit of 5 transactions per second (TPS) for each Amazon Web Services account. TPS over 5 will initiate the LimitExceededException.

For the default limits for an Amazon Web Services account, see Streams Limits in the Amazon Kinesis Data Streams Developer Guide. To request an increase in the call rate limit, the shard limit for this API, or your overall shard limit, use the limits form.

See also: AWS API Documentation

Request Syntax

response = client.update_stream_warm_throughput(
    StreamARN='string',
    StreamName='string',
    WarmThroughputMiBps=123
)
Parameters:
  • StreamARN (string) – The ARN of the stream to be updated.

  • StreamName (string) – The name of the stream to be updated.

  • WarmThroughputMiBps (integer) –

    [REQUIRED]

    The target warm throughput in MB/s that the stream should be scaled to handle. This represents the throughput capacity that will be immediately available for write operations.

Return type:

dict

Returns:

Response Syntax

{
    'StreamARN': 'string',
    'StreamName': 'string',
    'WarmThroughput': {
        'TargetMiBps': 123,
        'CurrentMiBps': 123
    }
}

Response Structure

  • (dict) –

    • StreamARN (string) –

      The ARN of the stream that was updated.

    • StreamName (string) –

      The name of the stream that was updated.

    • WarmThroughput (dict) –

      Specifies the updated warm throughput configuration for your data stream.

      • 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.

Exceptions