API for Amazon Interactive Video Service RealTime¶
ABAP Package | /AWS1/API_IVR_IMPL |
---|---|
ABAP SDK "TLA" | IVR |
ABAP Interface | /AWS1/IF_IVR |
The "TLA" is a Three Letter Abbreviation that appears in ABAP class names, data dictionary
objects and other ABAP objects throughout the AWS SDK for SAP ABAP. The TLA for Amazon Interactive Video Service RealTime is IVR
.
This TLA helps squeeze ABAP objects into the 30-character length limit of the ABAP data dictionary.
Installation¶
To install the AWS SDK for SAP ABAP, import the Core transport, along with the transport for the IVS RealTime module and other API modules you are interested in. A few modules are included in the Core transport itself. For more information, see the Developer Guide guide.
About The Service¶
Introduction
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.
Terminology:
-
A stage is a virtual space where participants can exchange video in real time.
-
A participant token is a token that authenticates a participant when they join a stage.
-
A 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.
-
Server-side composition: The composition process composites participants of a stage into a single video and forwards it to a set of outputs (e.g., IVS channels). Composition endpoints support this process.
-
Server-side composition: A composition controls the look of the outputs, including how participants are positioned in the video.
Resources
The following resources contain information about your IVS live stream (see Getting Started with Amazon IVS Real-Time Streaming):
-
Stage — A stage is a virtual space where participants can exchange video in real time.
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 Tagging AWS Resources for more information, 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 endpoints: TagResource, UntagResource, and ListTagsForResource. The following resource supports tagging: Stage.
At most 50 tags can be applied to a resource.
Stages Endpoints
-
CreateParticipantToken — Creates an additional token for a specified stage. This can be done after stage creation or when tokens expire.
-
CreateStage — Creates a new stage (and optionally participant tokens).
-
DeleteStage — Shuts down and deletes the specified stage (disconnecting all participants).
-
DisconnectParticipant — Disconnects a specified participant and revokes the participant permanently from a specified stage.
-
GetParticipant — Gets information about the specified participant token.
-
GetStage — Gets information for the specified stage.
-
GetStageSession — Gets information for the specified stage session.
-
ListParticipantEvents — Lists events for a specified participant that occurred during a specified stage session.
-
ListParticipants — Lists all participants in a specified stage session.
-
ListStages — Gets summary information about all stages in your account, in the AWS region where the API request is processed.
-
ListStageSessions — Gets all sessions for a specified stage.
-
UpdateStage — Updates a stage’s configuration.
Composition Endpoints
-
GetComposition — Gets information about the specified Composition resource.
-
ListCompositions — Gets summary information about all Compositions in your account, in the AWS region where the API request is processed.
-
StartComposition — Starts a Composition from a stage based on the configuration provided in the request.
-
StopComposition — Stops and deletes a Composition resource. Any broadcast from the Composition resource is stopped.
EncoderConfiguration Endpoints
-
CreateEncoderConfiguration — Creates an EncoderConfiguration object.
-
DeleteEncoderConfiguration — Deletes an EncoderConfiguration resource. Ensures that no Compositions are using this template; otherwise, returns an error.
-
GetEncoderConfiguration — Gets information about the specified EncoderConfiguration resource.
-
ListEncoderConfigurations — Gets summary information about all EncoderConfigurations in your account, in the AWS region where the API request is processed.
StorageConfiguration Endpoints
-
CreateStorageConfiguration — Creates a new storage configuration, used to enable recording to Amazon S3.
-
DeleteStorageConfiguration — Deletes the storage configuration for the specified ARN.
-
GetStorageConfiguration — Gets the storage configuration for the specified ARN.
-
ListStorageConfigurations — Gets summary information about all storage configurations in your account, in the AWS region where the API request is processed.
Tags Endpoints
-
ListTagsForResource — Gets information about AWS tags for the specified ARN.
-
TagResource — Adds or updates tags for the AWS resource with the specified ARN.
-
UntagResource — Removes tags from the resource with the specified ARN.
Using the SDK¶
In your code, create a client using the SDK module for Amazon Interactive Video Service RealTime, which is created with
factory method /AWS1/CL_IVR_FACTORY
=>create()
.
In this example we will assume you have configured
an SDK profile in transaction /AWS1/IMG
called ZFINANCE
.
DATA(go_session) = /aws1/cl_rt_session_aws=>create( 'ZFINANCE' ).
DATA(go_ivr) = /aws1/cl_ivr_factory=>create( go_session ).
Your variable go_ivr
is an instance of /AWS1/IF_IVR
,
and all of the operations
in the Amazon Interactive Video Service RealTime service are accessed by calling methods in /AWS1/IF_IVR
.
API Operations¶
For an overview of ABAP method calls corresponding to API operations in Amazon Interactive Video Service RealTime, see the Operation List.
Factory Method¶
/AWS1/CL_IVR_FACTORY=>create( )
¶
Creates an object of type /AWS1/IF_IVR
.
IMPORTING¶
Required arguments:¶
IO_SESSION
TYPE REF TO
/AWS1/CL_RT_SESSION_BASE
¶
Optional arguments:¶
IV_PROTOCOL
TYPE
/AWS1/RT_PROTOCOL
¶
IV_REGION
TYPE
/AWS1/RT_REGION_ID
¶
IV_CUSTOM_ENDPOINT
TYPE
/AWS1/RT_ENDPOINT
¶
RETURNING¶
OO_CLIENT
TYPE REF TO
/AWS1/IF_IVR
¶
/AWS1/IF_IVR
represents the ABAP client for the IVS RealTime service, representing each operation as a method call. For more information see the API Page page.
Configuring Programmatically¶
DATA(lo_config) = DATA(go_ivr)->get_config( ).
lo_config
is a variable of type /AWS1/CL_IVR_CONFIG
. See the documentation for /AWS1/CL_IVR_CONFIG
for
details on the settings that can be configured.
Paginators¶
Paginators for Amazon Interactive Video Service RealTime can be created via get_paginator()
which returns a paginator object of type /AWS1/IF_IVR_PAGINATOR
. The operation method that is being paginated is called using the paginator object, which accepts any necessary parameters to provide to the underlying API operation. This returns an iterator object which can be used to iterate over paginated results using has_next()
and get_next()
methods.
Details about the paginator methods available for service Amazon Interactive Video Service RealTime can be found in interface /AWS1/IF_IVR_PAGINATOR
.