Amazon Kinesis Video Streams

2025/11/21 - Amazon Kinesis Video Streams - 2 new1 updated api methods

Changes  This release adds support for Tiered Storage

DescribeStreamStorageConfiguration (new) Link ¶

Retrieves the current storage configuration for the specified Kinesis video stream.

In the request, you must specify either the StreamName or the StreamARN.

You must have permissions for the KinesisVideo:DescribeStreamStorageConfiguration action.

See also: AWS API Documentation

Request Syntax

client.describe_stream_storage_configuration(
    StreamName='string',
    StreamARN='string'
)
type StreamName:

string

param StreamName:

The name of the stream for which you want to retrieve the storage configuration.

type StreamARN:

string

param StreamARN:

The Amazon Resource Name (ARN) of the stream for which you want to retrieve the storage configuration.

rtype:

dict

returns:

Response Syntax

{
    'StreamName': 'string',
    'StreamARN': 'string',
    'StreamStorageConfiguration': {
        'DefaultStorageTier': 'HOT'|'WARM'
    }
}

Response Structure

  • (dict) --

    • StreamName (string) --

      The name of the stream.

    • StreamARN (string) --

      The Amazon Resource Name (ARN) of the stream.

    • StreamStorageConfiguration (dict) --

      The current storage configuration for the stream, including the default storage tier and other storage-related settings.

      • DefaultStorageTier (string) --

        The default storage tier for the stream data. This setting determines the storage class used for stream data, affecting both performance characteristics and storage costs.

        Available storage tiers:

        • HOT - Optimized for frequent access with the lowest latency and highest performance. Ideal for real-time applications and frequently accessed data.

        • WARM - Balanced performance and cost for moderately accessed data. Suitable for data that is accessed regularly but not continuously.

UpdateStreamStorageConfiguration (new) Link ¶

Updates the storage configuration for an existing Kinesis video stream.

This operation allows you to modify the storage tier settings for a stream, enabling you to optimize storage costs and performance based on your access patterns.

UpdateStreamStorageConfiguration is an asynchronous operation.

You must have permissions for the KinesisVideo:UpdateStreamStorageConfiguration action.

See also: AWS API Documentation

Request Syntax

client.update_stream_storage_configuration(
    StreamName='string',
    StreamARN='string',
    CurrentVersion='string',
    StreamStorageConfiguration={
        'DefaultStorageTier': 'HOT'|'WARM'
    }
)
type StreamName:

string

param StreamName:

The name of the stream for which you want to update the storage configuration.

type StreamARN:

string

param StreamARN:

The Amazon Resource Name (ARN) of the stream for which you want to update the storage configuration.

type CurrentVersion:

string

param CurrentVersion:

[REQUIRED]

The version of the stream whose storage configuration you want to change. To get the version, call either the DescribeStream or the ListStreams API.

type StreamStorageConfiguration:

dict

param StreamStorageConfiguration:

[REQUIRED]

The new storage configuration for the stream. This includes the default storage tier that determines how stream data is stored and accessed.

Different storage tiers offer varying levels of performance and cost optimization to match your specific use case requirements.

  • DefaultStorageTier (string) -- [REQUIRED]

    The default storage tier for the stream data. This setting determines the storage class used for stream data, affecting both performance characteristics and storage costs.

    Available storage tiers:

    • HOT - Optimized for frequent access with the lowest latency and highest performance. Ideal for real-time applications and frequently accessed data.

    • WARM - Balanced performance and cost for moderately accessed data. Suitable for data that is accessed regularly but not continuously.

rtype:

dict

returns:

Response Syntax

{}

Response Structure

  • (dict) --

CreateStream (updated) Link ¶
Changes (request)
{'StreamStorageConfiguration': {'DefaultStorageTier': 'HOT | WARM'}}

Creates a new Kinesis video stream.

When you create a new stream, Kinesis Video Streams assigns it a version number. When you change the stream's metadata, Kinesis Video Streams updates the version.

CreateStream is an asynchronous operation.

For information about how the service works, see How it Works.

You must have permissions for the KinesisVideo:CreateStream action.

See also: AWS API Documentation

Request Syntax

client.create_stream(
    DeviceName='string',
    StreamName='string',
    MediaType='string',
    KmsKeyId='string',
    DataRetentionInHours=123,
    Tags={
        'string': 'string'
    },
    StreamStorageConfiguration={
        'DefaultStorageTier': 'HOT'|'WARM'
    }
)
type DeviceName:

string

param DeviceName:

The name of the device that is writing to the stream.

type StreamName:

string

param StreamName:

[REQUIRED]

A name for the stream that you are creating.

The stream name is an identifier for the stream, and must be unique for each account and region.

type MediaType:

string

param MediaType:

The media type of the stream. Consumers of the stream can use this information when processing the stream. For more information about media types, see Media Types. If you choose to specify the MediaType, see Naming Requirements for guidelines.

Example valid values include "video/h264" and "video/h264,audio/aac".

This parameter is optional; the default value is null (or empty in JSON).

type KmsKeyId:

string

param KmsKeyId:

The ID of the Key Management Service (KMS) key that you want Kinesis Video Streams to use to encrypt stream data.

If no key ID is specified, the default, Kinesis Video-managed key ( aws/kinesisvideo) is used.

For more information, see DescribeKey.

type DataRetentionInHours:

integer

param DataRetentionInHours:

The number of hours that you want to retain the data in the stream. Kinesis Video Streams retains the data in a data store that is associated with the stream.

The default value is 0, indicating that the stream does not persist data. The minimum is 1 hour.

When the DataRetentionInHours value is 0, consumers can still consume the fragments that remain in the service host buffer, which has a retention time limit of 5 minutes and a retention memory limit of 200 MB. Fragments are removed from the buffer when either limit is reached.

type Tags:

dict

param Tags:

A list of tags to associate with the specified stream. Each tag is a key-value pair (the value is optional).

  • (string) --

    • (string) --

type StreamStorageConfiguration:

dict

param StreamStorageConfiguration:

The configuration for the stream's storage, including the default storage tier for stream data. This configuration determines how stream data is stored and accessed, with different tiers offering varying levels of performance and cost optimization.

If not specified, the stream will use the default storage configuration with HOT tier for optimal performance.

  • DefaultStorageTier (string) -- [REQUIRED]

    The default storage tier for the stream data. This setting determines the storage class used for stream data, affecting both performance characteristics and storage costs.

    Available storage tiers:

    • HOT - Optimized for frequent access with the lowest latency and highest performance. Ideal for real-time applications and frequently accessed data.

    • WARM - Balanced performance and cost for moderately accessed data. Suitable for data that is accessed regularly but not continuously.

rtype:

dict

returns:

Response Syntax

{
    'StreamARN': 'string'
}

Response Structure

  • (dict) --

    • StreamARN (string) --

      The Amazon Resource Name (ARN) of the stream.