Example code for Kinesis Video Streams pools - Amazon Chime SDK

Example code for Kinesis Video Streams pools

The following examples show how to create, update, get, list, and delete Kinesis Video Streams (KVS) pools. Expand each section to learn more.

''' Define imports and common variables ''' import boto3 from uuid import uuid4 import json client = boto3.client("chime-sdk-media-pipelines", region_name='us-east-1') pool_name = 'MyDemoKvsPool' def pretty_print_json(obj): print(json.dumps(obj, default=str, indent=4))
response = client.create_media_pipeline_kinesis_video_stream_pool( StreamConfiguration={ 'Region': 'us-east-1', 'DataRetentionInHours': 24 }, PoolName=pool_name, ClientRequestToken=str(uuid4()), Tags=[ { 'Key': 'MyTagForAccessControl', 'Value': 'SomeTagValue' }, ] ) pretty_print_json(response['KinesisVideoStreamPoolConfiguration'])

Output:

{ "PoolArn": "arn:aws:chime:us-east-1:account-ID:media-pipeline-kinesis-video-stream-pool/MyDemoKvsPool", "PoolName": "MyDemoKvsPool", "PoolId": "ChimeMediaPipelines-MyDemoKvsPool-1f4e1a69-e718-4884-bf92-8a393ac0405b", "PoolStatus": "CREATING", "StreamConfiguration": { "Region": "us-east-1", "DataRetentionInHours": 24 }, "CreatedTimestamp": "2023-10-13 01:26:09.979000+00:00", "UpdatedTimestamp": "2023-10-13 01:26:09.979000+00:00" }
response = client.get_media_pipeline_kinesis_video_stream_pool( Identifier=pool_name ) pretty_print_json(response['KinesisVideoStreamPoolConfiguration'])

Output:

{ "PoolArn": "arn:aws:chime:us-east-1:account-ID:media-pipeline-kinesis-video-stream-pool/MyDemoKvsPool", "PoolName": "MyDemoKvsPool", "PoolId": "ChimeMediaPipelines-MyDemoKvsPool-1f4e1a69-e718-4884-bf92-8a393ac0405b", "PoolStatus": "ACTIVE", "StreamConfiguration": { "Region": "us-east-1", "DataRetentionInHours": 24 }, "CreatedTimestamp": "2023-10-13 01:26:09.979000+00:00", "UpdatedTimestamp": "2023-10-13 01:26:09.979000+00:00" }
response = client.update_media_pipeline_kinesis_video_stream_pool( Identifier=pool_name, StreamConfiguration={ 'DataRetentionInHours': 48 } ) pretty_print_json(response['KinesisVideoStreamPoolConfiguration'])

Output:

{ "PoolArn": "arn:aws:chime:us-east-1:account-ID:media-pipeline-kinesis-video-stream-pool/MyDemoKvsPool", "PoolName": "MyDemoKvsPool", "PoolId": "ChimeMediaPipelines-MyDemoKvsPool-d08c26ae-0336-4e2e-acdf-805a7d71b891", "PoolStatus": "UPDATING", "PoolSize": 40, "StreamConfiguration": { "Region": "us-east-1", "DataRetentionInHours": 48 }, "CreatedTimestamp": "2023-10-13 01:44:23.010000+00:00", "UpdatedTimestamp": "2023-10-13 01:44:28.486000+00:00" }
list_of_pools = [] max_results = 100 next_token = None while(True): if next_token: response = client.list_media_pipeline_kinesis_video_stream_pools( NextToken=next_token, MaxResults=max_results ) else: response = client.list_media_pipeline_kinesis_video_stream_pools( MaxResults=max_results ) list_of_pools.extend(response['KinesisVideoStreamPools']) next_token = response.get('NextToken') if not next_token: break pretty_print_json(list_of_pools)

Output:

[ { "PoolName": "MyDemoKvsPool", "PoolId": "ChimeMediaPipelines-MyDemoKvsPool-6588e703-f046-4288-ba7f-0c03de76a6bb", "PoolArn": "arn:aws:chime:us-east-1:account-ID:media-pipeline-kinesis-video-stream-pool/MyDemoKvsPool" } ]
client.delete_media_pipeline_kinesis_video_stream_pool( Identifier=pool_name )

Output: A successful delete_media_pipeline_kinesis_video_stream_pool request has no body.