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) --