IvsRealTimeClient

The Amazon Interactive Video Service (IVS) real-time API is REST compatible, using a standard HTTP API and an AWS EventBridge event stream for responses. JSON is used for both requests and responses, including errors.

Key Concepts

  • Stage — A virtual space where participants can exchange video in real time.

  • Participant token — A token that authenticates a participant when they join a stage.

  • Participant object — Represents participants (people) in the stage and contains information about them. When a token is created, it includes a participant ID; when a participant uses that token to join a stage, the participant is associated with that participant ID. There is a 1:1 mapping between participant tokens and participants.

For server-side composition:

  • Composition process — Composites participants of a stage into a single video and forwards it to a set of outputs (e.g., IVS channels). Composition operations support this process.

  • Composition — Controls the look of the outputs, including how participants are positioned in the video.

For participant replication:

  • Source stage — The stage where the participant originally joined, which is used as the source for replication.

  • Destination stage — The stage to which the participant is replicated.

  • Replicated participant — A participant in a stage that is replicated to one or more destination stages.

  • Replica participant — A participant in a destination stage that is replicated from another stage (the source stage).

For more information about your IVS live stream, also see Getting Started with Amazon IVS Real-Time Streaming.

Tagging

A tag is a metadata label that you assign to an AWS resource. A tag comprises a key and a value, both set by you. For example, you might set a tag as topic:nature to label a particular video category. See Best practices and strategies in Tagging AWS Resources and Tag Editor for details, including restrictions that apply to tags and "Tag naming limits and requirements"; Amazon IVS stages has no service-specific constraints beyond what is documented there.

Tags can help you identify and organize your AWS resources. For example, you can use the same tag for different resources to indicate that they are related. You can also use tags to manage access (see Access Tags).

The Amazon IVS real-time API has these tag-related operations: TagResource, UntagResource, and ListTagsForResource. The following resource supports tagging: Stage.

At most 50 tags can be applied to a resource.

Properties

Link copied to clipboard
abstract override val config: IvsRealTimeClient.Config

IvsRealTimeClient's configuration

Functions

Link copied to clipboard
abstract suspend fun createEncoderConfiguration(input: CreateEncoderConfigurationRequest = CreateEncoderConfigurationRequest { }): CreateEncoderConfigurationResponse

Creates an EncoderConfiguration object.

Link copied to clipboard

Creates a new IngestConfiguration resource, used to specify the ingest protocol for a stage.

Link copied to clipboard

Creates an additional token for a specified stage. This can be done after stage creation or when tokens expire. Tokens always are scoped to the stage for which they are created.

Link copied to clipboard
abstract suspend fun createStage(input: CreateStageRequest = CreateStageRequest { }): CreateStageResponse

Creates a new stage (and optionally participant tokens).

Link copied to clipboard

Creates a new storage configuration, used to enable recording to Amazon S3. When a StorageConfiguration is created, IVS will modify the S3 bucketPolicy of the provided bucket. This will ensure that IVS has sufficient permissions to write content to the provided bucket.

Link copied to clipboard

Deletes an EncoderConfiguration resource. Ensures that no Compositions are using this template; otherwise, returns an error.

Link copied to clipboard

Deletes a specified IngestConfiguration, so it can no longer be used to broadcast. An IngestConfiguration cannot be deleted if the publisher is actively streaming to a stage, unless force is set to true.

Link copied to clipboard

Deletes the specified public key used to sign stage participant tokens. This invalidates future participant tokens generated using the key pair’s private key.

Link copied to clipboard
abstract suspend fun deleteStage(input: DeleteStageRequest): DeleteStageResponse

Shuts down and deletes the specified stage (disconnecting all participants). This operation also removes the stageArn from the associated IngestConfiguration, if there are participants using the IngestConfiguration to publish to the stage.

Link copied to clipboard

Deletes the storage configuration for the specified ARN.

Link copied to clipboard

Disconnects a specified participant from a specified stage. If the participant is publishing using an IngestConfiguration, DisconnectParticipant also updates the stageArn in the IngestConfiguration to be an empty string.

Link copied to clipboard

Get information about the specified Composition resource.

Link copied to clipboard

Gets information about the specified EncoderConfiguration resource.

Link copied to clipboard

Gets information about the specified IngestConfiguration.

Link copied to clipboard

Gets information about the specified participant token.

Link copied to clipboard

Gets information for the specified public key.

Link copied to clipboard
abstract suspend fun getStage(input: GetStageRequest): GetStageResponse

Gets information for the specified stage.

Link copied to clipboard

Gets information for the specified stage session.

Link copied to clipboard

Gets the storage configuration for the specified ARN.

Link copied to clipboard

Import a public key to be used for signing stage participant tokens.

Link copied to clipboard
abstract suspend fun listCompositions(input: ListCompositionsRequest = ListCompositionsRequest { }): ListCompositionsResponse

Gets summary information about all Compositions in your account, in the AWS region where the API request is processed.

Link copied to clipboard
abstract suspend fun listEncoderConfigurations(input: ListEncoderConfigurationsRequest = ListEncoderConfigurationsRequest { }): ListEncoderConfigurationsResponse

Gets summary information about all EncoderConfigurations in your account, in the AWS region where the API request is processed.

Link copied to clipboard
abstract suspend fun listIngestConfigurations(input: ListIngestConfigurationsRequest = ListIngestConfigurationsRequest { }): ListIngestConfigurationsResponse

Lists all IngestConfigurations in your account, in the AWS region where the API request is processed.

Link copied to clipboard

Lists events for a specified participant that occurred during a specified stage session.

Link copied to clipboard

Lists all the replicas for a participant from a source stage.

Link copied to clipboard

Lists all participants in a specified stage session.

Link copied to clipboard
abstract suspend fun listPublicKeys(input: ListPublicKeysRequest = ListPublicKeysRequest { }): ListPublicKeysResponse

Gets summary information about all public keys in your account, in the AWS region where the API request is processed.

Link copied to clipboard
abstract suspend fun listStages(input: ListStagesRequest = ListStagesRequest { }): ListStagesResponse

Gets summary information about all stages in your account, in the AWS region where the API request is processed.

Link copied to clipboard

Gets all sessions for a specified stage.

Link copied to clipboard
abstract suspend fun listStorageConfigurations(input: ListStorageConfigurationsRequest = ListStorageConfigurationsRequest { }): ListStorageConfigurationsResponse

Gets summary information about all storage configurations in your account, in the AWS region where the API request is processed.

Link copied to clipboard

Gets information about AWS tags for the specified ARN.

Link copied to clipboard

Starts a Composition from a stage based on the configuration provided in the request.

Link copied to clipboard

Starts replicating a publishing participant from a source stage to a destination stage.

Link copied to clipboard

Stops and deletes a Composition resource. Any broadcast from the Composition resource is stopped.

Link copied to clipboard

Stops a replicated participant session.

Link copied to clipboard
abstract suspend fun tagResource(input: TagResourceRequest): TagResourceResponse

Adds or updates tags for the AWS resource with the specified ARN.

Link copied to clipboard

Removes tags from the resource with the specified ARN.

Link copied to clipboard

Updates a specified IngestConfiguration. Only the stage ARN attached to the IngestConfiguration can be updated. An IngestConfiguration that is active cannot be updated.

Link copied to clipboard
abstract suspend fun updateStage(input: UpdateStageRequest): UpdateStageResponse

Updates a stage’s configuration.

Inherited functions

Link copied to clipboard
expect abstract fun close()
Link copied to clipboard

Creates an EncoderConfiguration object.

Link copied to clipboard

Creates a new IngestConfiguration resource, used to specify the ingest protocol for a stage.

Link copied to clipboard

Creates an additional token for a specified stage. This can be done after stage creation or when tokens expire. Tokens always are scoped to the stage for which they are created.

Link copied to clipboard

Creates a new stage (and optionally participant tokens).

Link copied to clipboard

Creates a new storage configuration, used to enable recording to Amazon S3. When a StorageConfiguration is created, IVS will modify the S3 bucketPolicy of the provided bucket. This will ensure that IVS has sufficient permissions to write content to the provided bucket.

Link copied to clipboard

Deletes an EncoderConfiguration resource. Ensures that no Compositions are using this template; otherwise, returns an error.

Link copied to clipboard

Deletes a specified IngestConfiguration, so it can no longer be used to broadcast. An IngestConfiguration cannot be deleted if the publisher is actively streaming to a stage, unless force is set to true.

Link copied to clipboard

Deletes the specified public key used to sign stage participant tokens. This invalidates future participant tokens generated using the key pair’s private key.

Link copied to clipboard

Shuts down and deletes the specified stage (disconnecting all participants). This operation also removes the stageArn from the associated IngestConfiguration, if there are participants using the IngestConfiguration to publish to the stage.

Link copied to clipboard

Deletes the storage configuration for the specified ARN.

Link copied to clipboard

Disconnects a specified participant from a specified stage. If the participant is publishing using an IngestConfiguration, DisconnectParticipant also updates the stageArn in the IngestConfiguration to be an empty string.

Link copied to clipboard

Get information about the specified Composition resource.

Link copied to clipboard

Gets information about the specified EncoderConfiguration resource.

Link copied to clipboard

Gets information about the specified IngestConfiguration.

Link copied to clipboard

Gets information about the specified participant token.

Link copied to clipboard

Gets information for the specified public key.

Link copied to clipboard
inline suspend fun IvsRealTimeClient.getStage(crossinline block: GetStageRequest.Builder.() -> Unit): GetStageResponse

Gets information for the specified stage.

Link copied to clipboard

Gets information for the specified stage session.

Link copied to clipboard

Gets the storage configuration for the specified ARN.

Link copied to clipboard

Import a public key to be used for signing stage participant tokens.

Link copied to clipboard

Gets summary information about all Compositions in your account, in the AWS region where the API request is processed.

Link copied to clipboard

Gets summary information about all EncoderConfigurations in your account, in the AWS region where the API request is processed.

Link copied to clipboard

Lists all IngestConfigurations in your account, in the AWS region where the API request is processed.

Link copied to clipboard

Lists events for a specified participant that occurred during a specified stage session.

Link copied to clipboard

Lists all the replicas for a participant from a source stage.

Link copied to clipboard

Lists all participants in a specified stage session.

Link copied to clipboard

Gets summary information about all public keys in your account, in the AWS region where the API request is processed.

Link copied to clipboard
inline suspend fun IvsRealTimeClient.listStages(crossinline block: ListStagesRequest.Builder.() -> Unit): ListStagesResponse

Gets summary information about all stages in your account, in the AWS region where the API request is processed.

Link copied to clipboard

Gets all sessions for a specified stage.

Link copied to clipboard
Link copied to clipboard

Gets summary information about all storage configurations in your account, in the AWS region where the API request is processed.

Link copied to clipboard

Gets information about AWS tags for the specified ARN.

Link copied to clipboard

Starts a Composition from a stage based on the configuration provided in the request.

Link copied to clipboard

Starts replicating a publishing participant from a source stage to a destination stage.

Link copied to clipboard

Stops and deletes a Composition resource. Any broadcast from the Composition resource is stopped.

Link copied to clipboard

Stops a replicated participant session.

Link copied to clipboard

Adds or updates tags for the AWS resource with the specified ARN.

Link copied to clipboard

Removes tags from the resource with the specified ARN.

Link copied to clipboard

Updates a specified IngestConfiguration. Only the stage ARN attached to the IngestConfiguration can be updated. An IngestConfiguration that is active cannot be updated.

Link copied to clipboard

Updates a stage’s configuration.

Link copied to clipboard

Create a copy of the client with one or more configuration values overridden. This method allows the caller to perform scoped config overrides for one or more client operations.