Example code for Kinesis Video Streams pools for Amazon Chime SDK media stream pipelines
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 importuuid4import 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 =100next_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.