Amazon Kinesis Video Streams

2019/12/05 - Amazon Kinesis Video Streams - 9 new api methods

Changes  Introduces management of signaling channels for Kinesis Video Streams.

DeleteSignalingChannel (new) Link ¶

Deletes a specified signaling channel. DeleteSignalingChannel is an asynchronous operation. If you don't specify the channel's current version, the most recent version is deleted.

See also: AWS API Documentation

Request Syntax

client.delete_signaling_channel(
    ChannelARN='string',
    CurrentVersion='string'
)
type ChannelARN

string

param ChannelARN

[REQUIRED]

The ARN of the signaling channel that you want to delete.

type CurrentVersion

string

param CurrentVersion

The current version of the signaling channel that you want to delete. You can obtain the current version by invoking the DescribeSignalingChannel or ListSignalingChannels APIs.

rtype

dict

returns

Response Syntax

{}

Response Structure

  • (dict) --

CreateSignalingChannel (new) Link ¶

Creates a signaling channel.

CreateSignalingChannel is an asynchronous operation.

See also: AWS API Documentation

Request Syntax

client.create_signaling_channel(
    ChannelName='string',
    ChannelType='SINGLE_MASTER',
    SingleMasterConfiguration={
        'MessageTtlSeconds': 123
    },
    Tags=[
        {
            'Key': 'string',
            'Value': 'string'
        },
    ]
)
type ChannelName

string

param ChannelName

[REQUIRED]

A name for the signaling channel that you are creating. It must be unique for each account and region.

type ChannelType

string

param ChannelType

A type of the signaling channel that you are creating. Currently, SINGLE_MASTER is the only supported channel type.

type SingleMasterConfiguration

dict

param SingleMasterConfiguration

A structure containing the configuration for the SINGLE_MASTER channel type.

  • MessageTtlSeconds (integer) --

    The period of time a signaling channel retains underlivered messages before they are discarded.

type Tags

list

param Tags

A set of tags (key/value pairs) that you want to associate with this channel.

  • (dict) --

    A key and value pair that is associated with the specified signaling channel.

    • Key (string) -- [REQUIRED]

      The key of the tag that is associated with the specified signaling channel.

    • Value (string) -- [REQUIRED]

      The value of the tag that is associated with the specified signaling channel.

rtype

dict

returns

Response Syntax

{
    'ChannelARN': 'string'
}

Response Structure

  • (dict) --

    • ChannelARN (string) --

      The ARN of the created channel.

UpdateSignalingChannel (new) Link ¶

Updates the existing signaling channel. This is an asynchronous operation and takes time to complete.

If the MessageTtlSeconds value is updated (either increased or reduced), then it only applies to new messages sent via this channel after it's been updated. Existing messages are still expire as per the previous MessageTtlSeconds value.

See also: AWS API Documentation

Request Syntax

client.update_signaling_channel(
    ChannelARN='string',
    CurrentVersion='string',
    SingleMasterConfiguration={
        'MessageTtlSeconds': 123
    }
)
type ChannelARN

string

param ChannelARN

[REQUIRED]

The ARN of the signaling channel that you want to update.

type CurrentVersion

string

param CurrentVersion

[REQUIRED]

The current version of the signaling channel that you want to update.

type SingleMasterConfiguration

dict

param SingleMasterConfiguration

The structure containing the configuration for the SINGLE_MASTER type of the signaling channel that you want to update.

  • MessageTtlSeconds (integer) --

    The period of time a signaling channel retains underlivered messages before they are discarded.

rtype

dict

returns

Response Syntax

{}

Response Structure

  • (dict) --

ListSignalingChannels (new) Link ¶

Returns an array of ChannelInfo objects. Each object describes a signaling channel. To retrieve only those channels that satisfy a specific condition, you can specify a ChannelNameCondition .

See also: AWS API Documentation

Request Syntax

client.list_signaling_channels(
    MaxResults=123,
    NextToken='string',
    ChannelNameCondition={
        'ComparisonOperator': 'BEGINS_WITH',
        'ComparisonValue': 'string'
    }
)
type MaxResults

integer

param MaxResults

The maximum number of channels to return in the response. The default is 500.

type NextToken

string

param NextToken

If you specify this parameter, when the result of a ListSignalingChannels operation is truncated, the call returns the NextToken in the response. To get another batch of channels, provide this token in your next request.

type ChannelNameCondition

dict

param ChannelNameCondition

Optional: Returns only the channels that satisfy a specific condition.

  • ComparisonOperator (string) --

    A comparison operator. Currently, you can only specify the BEGINS_WITH operator, which finds signaling channels whose names begin with a given prefix.

  • ComparisonValue (string) --

    A value to compare.

rtype

dict

returns

Response Syntax

{
    'ChannelInfoList': [
        {
            'ChannelName': 'string',
            'ChannelARN': 'string',
            'ChannelType': 'SINGLE_MASTER',
            'ChannelStatus': 'CREATING'|'ACTIVE'|'UPDATING'|'DELETING',
            'CreationTime': datetime(2015, 1, 1),
            'SingleMasterConfiguration': {
                'MessageTtlSeconds': 123
            },
            'Version': 'string'
        },
    ],
    'NextToken': 'string'
}

Response Structure

  • (dict) --

    • ChannelInfoList (list) --

      An array of ChannelInfo objects.

      • (dict) --

        A structure that encapsulates a signaling channel's metadata and properties.

        • ChannelName (string) --

          The name of the signaling channel.

        • ChannelARN (string) --

          The ARN of the signaling channel.

        • ChannelType (string) --

          The type of the signaling channel.

        • ChannelStatus (string) --

          Current status of the signaling channel.

        • CreationTime (datetime) --

          The time at which the signaling channel was created.

        • SingleMasterConfiguration (dict) --

          A structure that contains the configuration for the SINGLE_MASTER channel type.

          • MessageTtlSeconds (integer) --

            The period of time a signaling channel retains underlivered messages before they are discarded.

        • Version (string) --

          The current version of the signaling channel.

    • NextToken (string) --

      If the response is truncated, the call returns this element with a token. To get the next batch of streams, use this token in your next request.

TagResource (new) Link ¶

Adds one or more tags to a signaling channel. A tag is a key-value pair (the value is optional) that you can define and assign to AWS resources. If you specify a tag that already exists, the tag value is replaced with the value that you specify in the request. For more information, see Using Cost Allocation Tags in the AWS Billing and Cost Management User Guide .

See also: AWS API Documentation

Request Syntax

client.tag_resource(
    ResourceARN='string',
    Tags=[
        {
            'Key': 'string',
            'Value': 'string'
        },
    ]
)
type ResourceARN

string

param ResourceARN

[REQUIRED]

The ARN of the signaling channel to which you want to add tags.

type Tags

list

param Tags

[REQUIRED]

A list of tags to associate with the specified signaling channel. Each tag is a key-value pair.

  • (dict) --

    A key and value pair that is associated with the specified signaling channel.

    • Key (string) -- [REQUIRED]

      The key of the tag that is associated with the specified signaling channel.

    • Value (string) -- [REQUIRED]

      The value of the tag that is associated with the specified signaling channel.

rtype

dict

returns

Response Syntax

{}

Response Structure

  • (dict) --

ListTagsForResource (new) Link ¶

Returns a list of tags associated with the specified signaling channel.

See also: AWS API Documentation

Request Syntax

client.list_tags_for_resource(
    NextToken='string',
    ResourceARN='string'
)
type NextToken

string

param NextToken

If you specify this parameter and the result of a ListTagsForResource call is truncated, the response includes a token that you can use in the next request to fetch the next batch of tags.

type ResourceARN

string

param ResourceARN

[REQUIRED]

The ARN of the signaling channel for which you want to list tags.

rtype

dict

returns

Response Syntax

{
    'NextToken': 'string',
    'Tags': {
        'string': 'string'
    }
}

Response Structure

  • (dict) --

    • NextToken (string) --

      If you specify this parameter and the result of a ListTagsForResource call is truncated, the response includes a token that you can use in the next request to fetch the next set of tags.

    • Tags (dict) --

      A map of tag keys and values associated with the specified signaling channel.

      • (string) --

        • (string) --

GetSignalingChannelEndpoint (new) Link ¶

Provides an endpoint for the specified signaling channel to send and receive messages. This API uses the SingleMasterChannelEndpointConfiguration input parameter, which consists of the Protocols and Role properties.

Protocols is used to determine the communication mechanism. For example, specifying WSS as the protocol, results in this API producing a secure websocket endpoint, and specifying HTTPS as the protocol, results in this API generating an HTTPS endpoint.

Role determines the messaging permissions. A MASTER role results in this API generating an endpoint that a client can use to communicate with any of the viewers on the channel. A VIEWER role results in this API generating an endpoint that a client can use to communicate only with a MASTER .

See also: AWS API Documentation

Request Syntax

client.get_signaling_channel_endpoint(
    ChannelARN='string',
    SingleMasterChannelEndpointConfiguration={
        'Protocols': [
            'WSS'|'HTTPS',
        ],
        'Role': 'MASTER'|'VIEWER'
    }
)
type ChannelARN

string

param ChannelARN

[REQUIRED]

The ARN of the signalling channel for which you want to get an endpoint.

type SingleMasterChannelEndpointConfiguration

dict

param SingleMasterChannelEndpointConfiguration

A structure containing the endpoint configuration for the SINGLE_MASTER channel type.

  • Protocols (list) --

    This property is used to determine the nature of communication over this SINGLE_MASTER signaling channel. If WSS is specified, this API returns a websocket endpoint. If HTTPS is specified, this API returns an HTTPS endpoint.

    • (string) --

  • Role (string) --

    This property is used to determine messaging permissions in this SINGLE_MASTER signaling channel. If MASTER is specified, this API returns an endpoint that a client can use to receive offers from and send answers to any of the viewers on this signaling channel. If VIEWER is specified, this API returns an endpoint that a client can use only to send offers to another MASTER client on this signaling channel.

rtype

dict

returns

Response Syntax

{
    'ResourceEndpointList': [
        {
            'Protocol': 'WSS'|'HTTPS',
            'ResourceEndpoint': 'string'
        },
    ]
}

Response Structure

  • (dict) --

    • ResourceEndpointList (list) --

      A list of endpoints for the specified signaling channel.

      • (dict) --

        An object that describes the endpoint of the signaling channel returned by the GetSignalingChannelEndpoint API.

        • Protocol (string) --

          The protocol of the signaling channel returned by the GetSignalingChannelEndpoint API.

        • ResourceEndpoint (string) --

          The endpoint of the signaling channel returned by the GetSignalingChannelEndpoint API.

DescribeSignalingChannel (new) Link ¶

Returns the most current information about the signaling channel. You must specify either the name or the ARN of the channel that you want to describe.

See also: AWS API Documentation

Request Syntax

client.describe_signaling_channel(
    ChannelName='string',
    ChannelARN='string'
)
type ChannelName

string

param ChannelName

The name of the signaling channel that you want to describe.

type ChannelARN

string

param ChannelARN

The ARN of the signaling channel that you want to describe.

rtype

dict

returns

Response Syntax

{
    'ChannelInfo': {
        'ChannelName': 'string',
        'ChannelARN': 'string',
        'ChannelType': 'SINGLE_MASTER',
        'ChannelStatus': 'CREATING'|'ACTIVE'|'UPDATING'|'DELETING',
        'CreationTime': datetime(2015, 1, 1),
        'SingleMasterConfiguration': {
            'MessageTtlSeconds': 123
        },
        'Version': 'string'
    }
}

Response Structure

  • (dict) --

    • ChannelInfo (dict) --

      A structure that encapsulates the specified signaling channel's metadata and properties.

      • ChannelName (string) --

        The name of the signaling channel.

      • ChannelARN (string) --

        The ARN of the signaling channel.

      • ChannelType (string) --

        The type of the signaling channel.

      • ChannelStatus (string) --

        Current status of the signaling channel.

      • CreationTime (datetime) --

        The time at which the signaling channel was created.

      • SingleMasterConfiguration (dict) --

        A structure that contains the configuration for the SINGLE_MASTER channel type.

        • MessageTtlSeconds (integer) --

          The period of time a signaling channel retains underlivered messages before they are discarded.

      • Version (string) --

        The current version of the signaling channel.

UntagResource (new) Link ¶

Removes one or more tags from a signaling channel. In the request, specify only a tag key or keys; don't specify the value. If you specify a tag key that does not exist, it's ignored.

See also: AWS API Documentation

Request Syntax

client.untag_resource(
    ResourceARN='string',
    TagKeyList=[
        'string',
    ]
)
type ResourceARN

string

param ResourceARN

[REQUIRED]

The ARN of the signaling channel from which you want to remove tags.

type TagKeyList

list

param TagKeyList

[REQUIRED]

A list of the keys of the tags that you want to remove.

  • (string) --

rtype

dict

returns

Response Syntax

{}

Response Structure

  • (dict) --