Amazon Interactive Video Service RealTime

2024/06/20 - Amazon Interactive Video Service RealTime - 5 updated api methods

Changes  IVS Real-Time now offers customers the ability to record individual stage participants to S3.

CreateStage (updated) Link ¶
Changes (request, response)
Request
{'autoParticipantRecordingConfiguration': {'mediaTypes': ['AUDIO_VIDEO | '
                                                          'AUDIO_ONLY'],
                                           'storageConfigurationArn': 'string'}}
Response
{'stage': {'autoParticipantRecordingConfiguration': {'mediaTypes': ['AUDIO_VIDEO '
                                                                    '| '
                                                                    'AUDIO_ONLY'],
                                                     'storageConfigurationArn': 'string'}}}

Creates a new stage (and optionally participant tokens).

See also: AWS API Documentation

Request Syntax

client.create_stage(
    name='string',
    participantTokenConfigurations=[
        {
            'duration': 123,
            'userId': 'string',
            'attributes': {
                'string': 'string'
            },
            'capabilities': [
                'PUBLISH'|'SUBSCRIBE',
            ]
        },
    ],
    tags={
        'string': 'string'
    },
    autoParticipantRecordingConfiguration={
        'storageConfigurationArn': 'string',
        'mediaTypes': [
            'AUDIO_VIDEO'|'AUDIO_ONLY',
        ]
    }
)
type name

string

param name

Optional name that can be specified for the stage being created.

type participantTokenConfigurations

list

param participantTokenConfigurations

Array of participant token configuration objects to attach to the new stage.

  • (dict) --

    Object specifying a participant token configuration in a stage.

    • duration (integer) --

      Duration (in minutes), after which the corresponding participant token expires. Default: 720 (12 hours).

    • userId (string) --

      Customer-assigned name to help identify the token; this can be used to link a participant to a user in the customer’s own systems. This can be any UTF-8 encoded text. This field is exposed to all stage participants and should not be used for personally identifying, confidential, or sensitive information.

    • attributes (dict) --

      Application-provided attributes to encode into the corresponding participant token and attach to a stage. Map keys and values can contain UTF-8 encoded text. The maximum length of this field is 1 KB total. This field is exposed to all stage participants and should not be used for personally identifying, confidential, or sensitive information.

      • (string) --

        • (string) --

    • capabilities (list) --

      Set of capabilities that the user is allowed to perform in the stage.

      • (string) --

type tags

dict

param tags

Tags attached to the resource. Array of maps, each of the form string:string (key:value) . See Tagging AWS Resources for details, including restrictions that apply to tags and "Tag naming limits and requirements"; Amazon IVS has no constraints on tags beyond what is documented there.

  • (string) --

    • (string) --

type autoParticipantRecordingConfiguration

dict

param autoParticipantRecordingConfiguration

Auto participant recording configuration object attached to the stage.

  • storageConfigurationArn (string) -- [REQUIRED]

    ARN of the StorageConfiguration resource to use for auto participant recording. Default: "" (empty string, no storage configuration is specified). Individual participant recording cannot be started unless a storage configuration is specified, when a Stage is created or updated.

  • mediaTypes (list) --

    Types of media to be recorded. Default: AUDIO_VIDEO .

    • (string) --

rtype

dict

returns

Response Syntax

{
    'stage': {
        'arn': 'string',
        'name': 'string',
        'activeSessionId': 'string',
        'tags': {
            'string': 'string'
        },
        'autoParticipantRecordingConfiguration': {
            'storageConfigurationArn': 'string',
            'mediaTypes': [
                'AUDIO_VIDEO'|'AUDIO_ONLY',
            ]
        }
    },
    'participantTokens': [
        {
            'participantId': 'string',
            'token': 'string',
            'userId': 'string',
            'attributes': {
                'string': 'string'
            },
            'duration': 123,
            'capabilities': [
                'PUBLISH'|'SUBSCRIBE',
            ],
            'expirationTime': datetime(2015, 1, 1)
        },
    ]
}

Response Structure

  • (dict) --

    • stage (dict) --

      The stage that was created.

      • arn (string) --

        Stage ARN.

      • name (string) --

        Stage name.

      • activeSessionId (string) --

        ID of the active session within the stage.

      • tags (dict) --

        Tags attached to the resource. Array of maps, each of the form string:string (key:value) . See Tagging AWS Resources for details, including restrictions that apply to tags and "Tag naming limits and requirements"; Amazon IVS has no constraints on tags beyond what is documented there.

        • (string) --

          • (string) --

      • autoParticipantRecordingConfiguration (dict) --

        Auto-participant-recording configuration object attached to the stage.

        • storageConfigurationArn (string) --

          ARN of the StorageConfiguration resource to use for auto participant recording. Default: "" (empty string, no storage configuration is specified). Individual participant recording cannot be started unless a storage configuration is specified, when a Stage is created or updated.

        • mediaTypes (list) --

          Types of media to be recorded. Default: AUDIO_VIDEO .

          • (string) --

    • participantTokens (list) --

      Participant tokens attached to the stage. These correspond to the participants in the request.

      • (dict) --

        Object specifying a participant token in a stage.

        Important : Treat tokens as opaque; i.e., do not build functionality based on token contents. The format of tokens could change in the future.

        • participantId (string) --

          Unique identifier for this participant token, assigned by IVS.

        • token (string) --

          The issued client token, encrypted.

        • userId (string) --

          Customer-assigned name to help identify the token; this can be used to link a participant to a user in the customer’s own systems. This can be any UTF-8 encoded text. This field is exposed to all stage participants and should not be used for personally identifying, confidential, or sensitive information.

        • attributes (dict) --

          Application-provided attributes to encode into the token and attach to a stage. This field is exposed to all stage participants and should not be used for personally identifying, confidential, or sensitive information.

          • (string) --

            • (string) --

        • duration (integer) --

          Duration (in minutes), after which the participant token expires. Default: 720 (12 hours).

        • capabilities (list) --

          Set of capabilities that the user is allowed to perform in the stage.

          • (string) --

        • expirationTime (datetime) --

          ISO 8601 timestamp (returned as a string) for when this token expires.

GetParticipant (updated) Link ¶
Changes (response)
{'participant': {'recordingS3BucketName': 'string',
                 'recordingS3Prefix': 'string',
                 'recordingState': 'STARTING | ACTIVE | STOPPING | STOPPED | '
                                   'FAILED | DISABLED'}}

Gets information about the specified participant token.

See also: AWS API Documentation

Request Syntax

client.get_participant(
    stageArn='string',
    sessionId='string',
    participantId='string'
)
type stageArn

string

param stageArn

[REQUIRED]

Stage ARN.

type sessionId

string

param sessionId

[REQUIRED]

ID of a session within the stage.

type participantId

string

param participantId

[REQUIRED]

Unique identifier for the participant. This is assigned by IVS and returned by CreateParticipantToken.

rtype

dict

returns

Response Syntax

{
    'participant': {
        'participantId': 'string',
        'userId': 'string',
        'state': 'CONNECTED'|'DISCONNECTED',
        'firstJoinTime': datetime(2015, 1, 1),
        'attributes': {
            'string': 'string'
        },
        'published': True|False,
        'ispName': 'string',
        'osName': 'string',
        'osVersion': 'string',
        'browserName': 'string',
        'browserVersion': 'string',
        'sdkVersion': 'string',
        'recordingS3BucketName': 'string',
        'recordingS3Prefix': 'string',
        'recordingState': 'STARTING'|'ACTIVE'|'STOPPING'|'STOPPED'|'FAILED'|'DISABLED'
    }
}

Response Structure

  • (dict) --

    • participant (dict) --

      The participant that is returned.

      • participantId (string) --

        Unique identifier for this participant, assigned by IVS.

      • userId (string) --

        Customer-assigned name to help identify the token; this can be used to link a participant to a user in the customer’s own systems. This can be any UTF-8 encoded text. This field is exposed to all stage participants and should not be used for personally identifying, confidential, or sensitive information .

      • state (string) --

        Whether the participant is connected to or disconnected from the stage.

      • firstJoinTime (datetime) --

        ISO 8601 timestamp (returned as a string) when the participant first joined the stage session.

      • attributes (dict) --

        Application-provided attributes to encode into the token and attach to a stage. Map keys and values can contain UTF-8 encoded text. The maximum length of this field is 1 KB total. This field is exposed to all stage participants and should not be used for personally identifying, confidential, or sensitive information .

        • (string) --

          • (string) --

      • published (boolean) --

        Whether the participant ever published to the stage session.

      • ispName (string) --

        The participant’s Internet Service Provider.

      • osName (string) --

        The participant’s operating system.

      • osVersion (string) --

        The participant’s operating system version.

      • browserName (string) --

        The participant’s browser.

      • browserVersion (string) --

        The participant’s browser version.

      • sdkVersion (string) --

        The participant’s SDK version.

      • recordingS3BucketName (string) --

        Name of the S3 bucket to where the participant is being recorded, if individual participant recording is enabled, or "" (empty string), if recording is not enabled.

      • recordingS3Prefix (string) --

        S3 prefix of the S3 bucket to where the participant is being recorded, if individual participant recording is enabled, or "" (empty string), if recording is not enabled.

      • recordingState (string) --

        Participant’s recording state.

GetStage (updated) Link ¶
Changes (response)
{'stage': {'autoParticipantRecordingConfiguration': {'mediaTypes': ['AUDIO_VIDEO '
                                                                    '| '
                                                                    'AUDIO_ONLY'],
                                                     'storageConfigurationArn': 'string'}}}

Gets information for the specified stage.

See also: AWS API Documentation

Request Syntax

client.get_stage(
    arn='string'
)
type arn

string

param arn

[REQUIRED]

ARN of the stage for which the information is to be retrieved.

rtype

dict

returns

Response Syntax

{
    'stage': {
        'arn': 'string',
        'name': 'string',
        'activeSessionId': 'string',
        'tags': {
            'string': 'string'
        },
        'autoParticipantRecordingConfiguration': {
            'storageConfigurationArn': 'string',
            'mediaTypes': [
                'AUDIO_VIDEO'|'AUDIO_ONLY',
            ]
        }
    }
}

Response Structure

  • (dict) --

    • stage (dict) --

      The stage that is returned.

      • arn (string) --

        Stage ARN.

      • name (string) --

        Stage name.

      • activeSessionId (string) --

        ID of the active session within the stage.

      • tags (dict) --

        Tags attached to the resource. Array of maps, each of the form string:string (key:value) . See Tagging AWS Resources for details, including restrictions that apply to tags and "Tag naming limits and requirements"; Amazon IVS has no constraints on tags beyond what is documented there.

        • (string) --

          • (string) --

      • autoParticipantRecordingConfiguration (dict) --

        Auto-participant-recording configuration object attached to the stage.

        • storageConfigurationArn (string) --

          ARN of the StorageConfiguration resource to use for auto participant recording. Default: "" (empty string, no storage configuration is specified). Individual participant recording cannot be started unless a storage configuration is specified, when a Stage is created or updated.

        • mediaTypes (list) --

          Types of media to be recorded. Default: AUDIO_VIDEO .

          • (string) --

ListParticipants (updated) Link ¶
Changes (request, response)
Request
{'filterByRecordingState': 'STARTING | ACTIVE | STOPPING | STOPPED | FAILED'}
Response
{'participants': {'recordingState': 'STARTING | ACTIVE | STOPPING | STOPPED | '
                                    'FAILED | DISABLED'}}

Lists all participants in a specified stage session.

See also: AWS API Documentation

Request Syntax

client.list_participants(
    stageArn='string',
    sessionId='string',
    filterByUserId='string',
    filterByPublished=True|False,
    filterByState='CONNECTED'|'DISCONNECTED',
    nextToken='string',
    maxResults=123,
    filterByRecordingState='STARTING'|'ACTIVE'|'STOPPING'|'STOPPED'|'FAILED'
)
type stageArn

string

param stageArn

[REQUIRED]

Stage ARN.

type sessionId

string

param sessionId

[REQUIRED]

ID of the session within the stage.

type filterByUserId

string

param filterByUserId

Filters the response list to match the specified user ID. Only one of filterByUserId , filterByPublished , filterByState , or filterByRecordingState can be provided per request. A userId is a customer-assigned name to help identify the token; this can be used to link a participant to a user in the customer’s own systems.

type filterByPublished

boolean

param filterByPublished

Filters the response list to only show participants who published during the stage session. Only one of filterByUserId , filterByPublished , filterByState , or filterByRecordingState can be provided per request.

type filterByState

string

param filterByState

Filters the response list to only show participants in the specified state. Only one of filterByUserId , filterByPublished , filterByState , or filterByRecordingState can be provided per request.

type nextToken

string

param nextToken

The first participant to retrieve. This is used for pagination; see the nextToken response field.

type maxResults

integer

param maxResults

Maximum number of results to return. Default: 50.

type filterByRecordingState

string

param filterByRecordingState

Filters the response list to only show participants with the specified recording state. Only one of filterByUserId , filterByPublished , filterByState , or filterByRecordingState can be provided per request.

rtype

dict

returns

Response Syntax

{
    'participants': [
        {
            'participantId': 'string',
            'userId': 'string',
            'state': 'CONNECTED'|'DISCONNECTED',
            'firstJoinTime': datetime(2015, 1, 1),
            'published': True|False,
            'recordingState': 'STARTING'|'ACTIVE'|'STOPPING'|'STOPPED'|'FAILED'|'DISABLED'
        },
    ],
    'nextToken': 'string'
}

Response Structure

  • (dict) --

    • participants (list) --

      List of the matching participants (summary information only).

      • (dict) --

        Summary object describing a participant that has joined a stage.

        • participantId (string) --

          Unique identifier for this participant, assigned by IVS.

        • userId (string) --

          Customer-assigned name to help identify the token; this can be used to link a participant to a user in the customer’s own systems. This can be any UTF-8 encoded text. This field is exposed to all stage participants and should not be used for personally identifying, confidential, or sensitive information .

        • state (string) --

          Whether the participant is connected to or disconnected from the stage.

        • firstJoinTime (datetime) --

          ISO 8601 timestamp (returned as a string) when the participant first joined the stage session.

        • published (boolean) --

          Whether the participant ever published to the stage session.

        • recordingState (string) --

          Participant’s recording state.

    • nextToken (string) --

      If there are more participants than maxResults , use nextToken in the request to get the next set.

UpdateStage (updated) Link ¶
Changes (request, response)
Request
{'autoParticipantRecordingConfiguration': {'mediaTypes': ['AUDIO_VIDEO | '
                                                          'AUDIO_ONLY'],
                                           'storageConfigurationArn': 'string'}}
Response
{'stage': {'autoParticipantRecordingConfiguration': {'mediaTypes': ['AUDIO_VIDEO '
                                                                    '| '
                                                                    'AUDIO_ONLY'],
                                                     'storageConfigurationArn': 'string'}}}

Updates a stage’s configuration.

See also: AWS API Documentation

Request Syntax

client.update_stage(
    arn='string',
    name='string',
    autoParticipantRecordingConfiguration={
        'storageConfigurationArn': 'string',
        'mediaTypes': [
            'AUDIO_VIDEO'|'AUDIO_ONLY',
        ]
    }
)
type arn

string

param arn

[REQUIRED]

ARN of the stage to be updated.

type name

string

param name

Name of the stage to be updated.

type autoParticipantRecordingConfiguration

dict

param autoParticipantRecordingConfiguration

Auto-participant-recording configuration object to attach to the stage. Auto-participant-recording configuration cannot be updated while recording is active.

  • storageConfigurationArn (string) -- [REQUIRED]

    ARN of the StorageConfiguration resource to use for auto participant recording. Default: "" (empty string, no storage configuration is specified). Individual participant recording cannot be started unless a storage configuration is specified, when a Stage is created or updated.

  • mediaTypes (list) --

    Types of media to be recorded. Default: AUDIO_VIDEO .

    • (string) --

rtype

dict

returns

Response Syntax

{
    'stage': {
        'arn': 'string',
        'name': 'string',
        'activeSessionId': 'string',
        'tags': {
            'string': 'string'
        },
        'autoParticipantRecordingConfiguration': {
            'storageConfigurationArn': 'string',
            'mediaTypes': [
                'AUDIO_VIDEO'|'AUDIO_ONLY',
            ]
        }
    }
}

Response Structure

  • (dict) --

    • stage (dict) --

      The updated stage.

      • arn (string) --

        Stage ARN.

      • name (string) --

        Stage name.

      • activeSessionId (string) --

        ID of the active session within the stage.

      • tags (dict) --

        Tags attached to the resource. Array of maps, each of the form string:string (key:value) . See Tagging AWS Resources for details, including restrictions that apply to tags and "Tag naming limits and requirements"; Amazon IVS has no constraints on tags beyond what is documented there.

        • (string) --

          • (string) --

      • autoParticipantRecordingConfiguration (dict) --

        Auto-participant-recording configuration object attached to the stage.

        • storageConfigurationArn (string) --

          ARN of the StorageConfiguration resource to use for auto participant recording. Default: "" (empty string, no storage configuration is specified). Individual participant recording cannot be started unless a storage configuration is specified, when a Stage is created or updated.

        • mediaTypes (list) --

          Types of media to be recorded. Default: AUDIO_VIDEO .

          • (string) --