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.
{'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', ] } )
string
Optional name that can be specified for the stage being created.
list
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) --
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) --
dict
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) --
dict
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.
{'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' )
string
[REQUIRED]
Stage ARN.
string
[REQUIRED]
ID of a session within the stage.
string
[REQUIRED]
Unique identifier for the participant. This is assigned by IVS and returned by CreateParticipantToken.
dict
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.
{'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' )
string
[REQUIRED]
ARN of the stage for which the information is to be retrieved.
dict
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) --
{'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' )
string
[REQUIRED]
Stage ARN.
string
[REQUIRED]
ID of the session within the stage.
string
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.
boolean
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.
string
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.
string
The first participant to retrieve. This is used for pagination; see the nextToken response field.
integer
Maximum number of results to return. Default: 50.
string
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.
dict
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.
{'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', ] } )
string
[REQUIRED]
ARN of the stage to be updated.
string
Name of the stage to be updated.
dict
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) --
dict
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) --