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