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