/AWS1/IF_KNV=>STARTEDGECONFIGURATIONUPDATE()¶
About StartEdgeConfigurationUpdate¶
An asynchronous API that updates a stream’s existing edge configuration.
The Kinesis Video Stream will sync the stream’s edge configuration with the Edge Agent IoT Greengrass
component that runs on an IoT Hub Device, setup at your premise. The time to sync can vary
and depends on the connectivity of the Hub Device.
The SyncStatus will be updated as the edge configuration is acknowledged,
and synced with the Edge Agent.
If this API is invoked for the first time, a new edge configuration will be created for the stream,
and the sync status will be set to SYNCING. You will have to wait for the sync status
to reach a terminal state such as: IN_SYNC, or SYNC_FAILED, before using this API again.
If you invoke this API during the syncing process, a ResourceInUseException will be thrown.
The connectivity of the stream’s edge configuration and the Edge Agent will be retried for 15 minutes. After 15 minutes,
the status will transition into the SYNC_FAILED state.
To move an edge configuration from one device to another, use DeleteEdgeConfiguration to delete the current edge configuration. You can then invoke StartEdgeConfigurationUpdate with an updated Hub Device ARN.
Method Signature¶
METHODS /AWS1/IF_KNV~STARTEDGECONFIGURATIONUPDATE
IMPORTING
!IV_STREAMNAME TYPE /AWS1/KNVSTREAMNAME OPTIONAL
!IV_STREAMARN TYPE /AWS1/KNVRESOURCEARN OPTIONAL
!IO_EDGECONFIG TYPE REF TO /AWS1/CL_KNVEDGECONFIG OPTIONAL
RETURNING
VALUE(OO_OUTPUT) TYPE REF TO /aws1/cl_knvstrtedgeconfupdout
RAISING
/AWS1/CX_KNVACCESSDENIEDEX
/AWS1/CX_KNVCLIENTLIMITEXCDEX
/AWS1/CX_KNVINVALIDARGUMENTEX
/AWS1/CX_KNVNODATARETENTIONEX
/AWS1/CX_KNVRESOURCEINUSEEX
/AWS1/CX_KNVRESOURCENOTFOUNDEX
/AWS1/CX_KNVCLIENTEXC
/AWS1/CX_KNVSERVEREXC
/AWS1/CX_RT_TECHNICAL_GENERIC
/AWS1/CX_RT_SERVICE_GENERIC.
IMPORTING¶
Required arguments:¶
io_edgeconfig TYPE REF TO /AWS1/CL_KNVEDGECONFIG /AWS1/CL_KNVEDGECONFIG¶
The edge configuration details required to invoke the update process.
Optional arguments:¶
iv_streamname TYPE /AWS1/KNVSTREAMNAME /AWS1/KNVSTREAMNAME¶
The name of the stream whose edge configuration you want to update. Specify either the
StreamNameor theStreamARN.
iv_streamarn TYPE /AWS1/KNVRESOURCEARN /AWS1/KNVRESOURCEARN¶
The Amazon Resource Name (ARN) of the stream. Specify either the
StreamNameor theStreamARN.
RETURNING¶
oo_output TYPE REF TO /aws1/cl_knvstrtedgeconfupdout /AWS1/CL_KNVSTRTEDGECONFUPDOUT¶
Domain /AWS1/RT_ACCOUNT_ID Primitive Type NUMC
Examples¶
Syntax Example¶
This is an example of the syntax for calling the method. It includes every possible argument and initializes every possible value. The data provided is not necessarily semantically accurate (for example the value "string" may be provided for something that is intended to be an instance ID, or in some cases two arguments may be mutually exclusive). The syntax shows the ABAP syntax for creating the various data structures.
DATA(lo_result) = lo_client->startedgeconfigurationupdate(
io_edgeconfig = new /aws1/cl_knvedgeconfig(
io_deletionconfig = new /aws1/cl_knvdeletionconfig(
io_localsizeconfig = new /aws1/cl_knvlocalsizeconfig(
iv_maxlocalmediasizeinmb = 123
iv_strategyonfullsize = |string|
)
iv_deleteafterupload = ABAP_TRUE
iv_edgeretentioninhours = 123
)
io_recorderconfig = new /aws1/cl_knvrecorderconfig(
io_mediasourceconfig = new /aws1/cl_knvmediasourceconfig(
iv_mediaurisecretarn = |string|
iv_mediauritype = |string|
)
io_scheduleconfig = new /aws1/cl_knvscheduleconfig(
iv_durationinseconds = 123
iv_scheduleexpression = |string|
)
)
io_uploaderconfig = new /aws1/cl_knvuploaderconfig(
io_scheduleconfig = new /aws1/cl_knvscheduleconfig(
iv_durationinseconds = 123
iv_scheduleexpression = |string|
)
)
iv_hubdevicearn = |string|
)
iv_streamarn = |string|
iv_streamname = |string|
).
This is an example of reading all possible response values
lo_result = lo_result.
IF lo_result IS NOT INITIAL.
lv_streamname = lo_result->get_streamname( ).
lv_resourcearn = lo_result->get_streamarn( ).
lv_timestamp = lo_result->get_creationtime( ).
lv_timestamp = lo_result->get_lastupdatedtime( ).
lv_syncstatus = lo_result->get_syncstatus( ).
lv_failedstatusdetails = lo_result->get_failedstatusdetails( ).
lo_edgeconfig = lo_result->get_edgeconfig( ).
IF lo_edgeconfig IS NOT INITIAL.
lv_hubdevicearn = lo_edgeconfig->get_hubdevicearn( ).
lo_recorderconfig = lo_edgeconfig->get_recorderconfig( ).
IF lo_recorderconfig IS NOT INITIAL.
lo_mediasourceconfig = lo_recorderconfig->get_mediasourceconfig( ).
IF lo_mediasourceconfig IS NOT INITIAL.
lv_mediaurisecretarn = lo_mediasourceconfig->get_mediaurisecretarn( ).
lv_mediauritype = lo_mediasourceconfig->get_mediauritype( ).
ENDIF.
lo_scheduleconfig = lo_recorderconfig->get_scheduleconfig( ).
IF lo_scheduleconfig IS NOT INITIAL.
lv_scheduleexpression = lo_scheduleconfig->get_scheduleexpression( ).
lv_durationinseconds = lo_scheduleconfig->get_durationinseconds( ).
ENDIF.
ENDIF.
lo_uploaderconfig = lo_edgeconfig->get_uploaderconfig( ).
IF lo_uploaderconfig IS NOT INITIAL.
lo_scheduleconfig = lo_uploaderconfig->get_scheduleconfig( ).
IF lo_scheduleconfig IS NOT INITIAL.
lv_scheduleexpression = lo_scheduleconfig->get_scheduleexpression( ).
lv_durationinseconds = lo_scheduleconfig->get_durationinseconds( ).
ENDIF.
ENDIF.
lo_deletionconfig = lo_edgeconfig->get_deletionconfig( ).
IF lo_deletionconfig IS NOT INITIAL.
lv_edgeretentioninhours = lo_deletionconfig->get_edgeretentioninhours( ).
lo_localsizeconfig = lo_deletionconfig->get_localsizeconfig( ).
IF lo_localsizeconfig IS NOT INITIAL.
lv_maxlocalmediasizeinmb = lo_localsizeconfig->get_maxlocalmediasizeinmb( ).
lv_strategyonfullsize = lo_localsizeconfig->get_strategyonfullsize( ).
ENDIF.
lv_deleteafterupload = lo_deletionconfig->get_deleteafterupload( ).
ENDIF.
ENDIF.
ENDIF.