KinesisVideo / Client / start_edge_configuration_update
start_edge_configuration_update#
- KinesisVideo.Client.start_edge_configuration_update(**kwargs)#
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
, orSYNC_FAILED
, before using this API again. If you invoke this API during the syncing process, aResourceInUseException
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 theSYNC_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.
See also: AWS API Documentation
Request Syntax
response = client.start_edge_configuration_update( StreamName='string', StreamARN='string', EdgeConfig={ 'HubDeviceArn': 'string', 'RecorderConfig': { 'MediaSourceConfig': { 'MediaUriSecretArn': 'string', 'MediaUriType': 'RTSP_URI'|'FILE_URI' }, 'ScheduleConfig': { 'ScheduleExpression': 'string', 'DurationInSeconds': 123 } }, 'UploaderConfig': { 'ScheduleConfig': { 'ScheduleExpression': 'string', 'DurationInSeconds': 123 } }, 'DeletionConfig': { 'EdgeRetentionInHours': 123, 'LocalSizeConfig': { 'MaxLocalMediaSizeInMB': 123, 'StrategyOnFullSize': 'DELETE_OLDEST_MEDIA'|'DENY_NEW_MEDIA' }, 'DeleteAfterUpload': True|False } } )
- Parameters:
StreamName (string) – The name of the stream whose edge configuration you want to update. Specify either the
StreamName
or theStreamARN
.StreamARN (string) – The Amazon Resource Name (ARN) of the stream. Specify either the
StreamName
or theStreamARN
.EdgeConfig (dict) –
[REQUIRED]
The edge configuration details required to invoke the update process.
HubDeviceArn (string) – [REQUIRED]
The “Internet of Things (IoT) Thing” Arn of the stream.
RecorderConfig (dict) – [REQUIRED]
The recorder configuration consists of the local
MediaSourceConfig
details, that are used as credentials to access the local media files streamed on the camera.MediaSourceConfig (dict) – [REQUIRED]
The configuration details that consist of the credentials required (
MediaUriSecretArn
andMediaUriType
) to access the media files streamed to the camera.MediaUriSecretArn (string) – [REQUIRED]
The Amazon Web Services Secrets Manager ARN for the username and password of the camera, or a local media file location.
MediaUriType (string) – [REQUIRED]
The Uniform Resource Identifier (URI) type. The
FILE_URI
value can be used to stream local media files.Note
Preview only supports the
RTSP_URI
media source URI format .
ScheduleConfig (dict) –
The configuration that consists of the
ScheduleExpression
and theDurationInMinutes
details that specify the scheduling to record from a camera, or local media file, onto the Edge Agent. If theScheduleExpression
attribute is not provided, then the Edge Agent will always be set to recording mode.ScheduleExpression (string) – [REQUIRED]
The Quartz cron expression that takes care of scheduling jobs to record from the camera, or local media file, onto the Edge Agent. If the
ScheduleExpression
is not provided for theRecorderConfig
, then the Edge Agent will always be set to recording mode.For more information about Quartz, refer to the Cron Trigger Tutorial page to understand the valid expressions and its use.
DurationInSeconds (integer) – [REQUIRED]
The total duration to record the media. If the
ScheduleExpression
attribute is provided, then theDurationInSeconds
attribute should also be specified.
UploaderConfig (dict) –
The uploader configuration contains the
ScheduleExpression
details that are used to schedule upload jobs for the recorded media files from the Edge Agent to a Kinesis Video Stream.ScheduleConfig (dict) – [REQUIRED]
The configuration that consists of the
ScheduleExpression
and theDurationInMinutes
details that specify the scheduling to record from a camera, or local media file, onto the Edge Agent. If theScheduleConfig
is not provided in thisUploaderConfig
, then the Edge Agent will upload at regular intervals (every 1 hour).ScheduleExpression (string) – [REQUIRED]
The Quartz cron expression that takes care of scheduling jobs to record from the camera, or local media file, onto the Edge Agent. If the
ScheduleExpression
is not provided for theRecorderConfig
, then the Edge Agent will always be set to recording mode.For more information about Quartz, refer to the Cron Trigger Tutorial page to understand the valid expressions and its use.
DurationInSeconds (integer) – [REQUIRED]
The total duration to record the media. If the
ScheduleExpression
attribute is provided, then theDurationInSeconds
attribute should also be specified.
DeletionConfig (dict) –
The deletion configuration is made up of the retention time (
EdgeRetentionInHours
) and local size configuration (LocalSizeConfig
) details that are used to make the deletion.EdgeRetentionInHours (integer) –
The number of hours that you want to retain the data in the stream on the Edge Agent. The default value of the retention time is 720 hours, which translates to 30 days.
LocalSizeConfig (dict) –
The value of the local size required in order to delete the edge configuration.
MaxLocalMediaSizeInMB (integer) –
The overall maximum size of the media that you want to store for a stream on the Edge Agent.
StrategyOnFullSize (string) –
The strategy to perform when a stream’s
MaxLocalMediaSizeInMB
limit is reached.
DeleteAfterUpload (boolean) –
The
boolean
value used to indicate whether or not you want to mark the media for deletion, once it has been uploaded to the Kinesis Video Stream cloud. The media files can be deleted if any of the deletion configuration values are set totrue
, such as when the limit for theEdgeRetentionInHours
, or theMaxLocalMediaSizeInMB
, has been reached.Since the default value is set to
true
, configure the uploader schedule such that the media files are not being deleted before they are initially uploaded to the Amazon Web Services cloud.
- Return type:
dict
- Returns:
Response Syntax
{ 'StreamName': 'string', 'StreamARN': 'string', 'CreationTime': datetime(2015, 1, 1), 'LastUpdatedTime': datetime(2015, 1, 1), 'SyncStatus': 'SYNCING'|'ACKNOWLEDGED'|'IN_SYNC'|'SYNC_FAILED'|'DELETING'|'DELETE_FAILED'|'DELETING_ACKNOWLEDGED', 'FailedStatusDetails': 'string', 'EdgeConfig': { 'HubDeviceArn': 'string', 'RecorderConfig': { 'MediaSourceConfig': { 'MediaUriSecretArn': 'string', 'MediaUriType': 'RTSP_URI'|'FILE_URI' }, 'ScheduleConfig': { 'ScheduleExpression': 'string', 'DurationInSeconds': 123 } }, 'UploaderConfig': { 'ScheduleConfig': { 'ScheduleExpression': 'string', 'DurationInSeconds': 123 } }, 'DeletionConfig': { 'EdgeRetentionInHours': 123, 'LocalSizeConfig': { 'MaxLocalMediaSizeInMB': 123, 'StrategyOnFullSize': 'DELETE_OLDEST_MEDIA'|'DENY_NEW_MEDIA' }, 'DeleteAfterUpload': True|False } } }
Response Structure
(dict) –
StreamName (string) –
The name of the stream from which the edge configuration was updated.
StreamARN (string) –
The Amazon Resource Name (ARN) of the stream.
CreationTime (datetime) –
The timestamp at which a stream’s edge configuration was first created.
LastUpdatedTime (datetime) –
The timestamp at which a stream’s edge configuration was last updated.
SyncStatus (string) –
The current sync status of the stream’s edge configuration. When you invoke this API, the sync status will be set to the
SYNCING
state. Use theDescribeEdgeConfiguration
API to get the latest status of the edge configuration.FailedStatusDetails (string) –
A description of the generated failure status.
EdgeConfig (dict) –
A description of the stream’s edge configuration that will be used to sync with the Edge Agent IoT Greengrass component. The Edge Agent component will run on an IoT Hub Device setup at your premise.
HubDeviceArn (string) –
The “Internet of Things (IoT) Thing” Arn of the stream.
RecorderConfig (dict) –
The recorder configuration consists of the local
MediaSourceConfig
details, that are used as credentials to access the local media files streamed on the camera.MediaSourceConfig (dict) –
The configuration details that consist of the credentials required (
MediaUriSecretArn
andMediaUriType
) to access the media files streamed to the camera.MediaUriSecretArn (string) –
The Amazon Web Services Secrets Manager ARN for the username and password of the camera, or a local media file location.
MediaUriType (string) –
The Uniform Resource Identifier (URI) type. The
FILE_URI
value can be used to stream local media files.Note
Preview only supports the
RTSP_URI
media source URI format .
ScheduleConfig (dict) –
The configuration that consists of the
ScheduleExpression
and theDurationInMinutes
details that specify the scheduling to record from a camera, or local media file, onto the Edge Agent. If theScheduleExpression
attribute is not provided, then the Edge Agent will always be set to recording mode.ScheduleExpression (string) –
The Quartz cron expression that takes care of scheduling jobs to record from the camera, or local media file, onto the Edge Agent. If the
ScheduleExpression
is not provided for theRecorderConfig
, then the Edge Agent will always be set to recording mode.For more information about Quartz, refer to the Cron Trigger Tutorial page to understand the valid expressions and its use.
DurationInSeconds (integer) –
The total duration to record the media. If the
ScheduleExpression
attribute is provided, then theDurationInSeconds
attribute should also be specified.
UploaderConfig (dict) –
The uploader configuration contains the
ScheduleExpression
details that are used to schedule upload jobs for the recorded media files from the Edge Agent to a Kinesis Video Stream.ScheduleConfig (dict) –
The configuration that consists of the
ScheduleExpression
and theDurationInMinutes
details that specify the scheduling to record from a camera, or local media file, onto the Edge Agent. If theScheduleConfig
is not provided in thisUploaderConfig
, then the Edge Agent will upload at regular intervals (every 1 hour).ScheduleExpression (string) –
The Quartz cron expression that takes care of scheduling jobs to record from the camera, or local media file, onto the Edge Agent. If the
ScheduleExpression
is not provided for theRecorderConfig
, then the Edge Agent will always be set to recording mode.For more information about Quartz, refer to the Cron Trigger Tutorial page to understand the valid expressions and its use.
DurationInSeconds (integer) –
The total duration to record the media. If the
ScheduleExpression
attribute is provided, then theDurationInSeconds
attribute should also be specified.
DeletionConfig (dict) –
The deletion configuration is made up of the retention time (
EdgeRetentionInHours
) and local size configuration (LocalSizeConfig
) details that are used to make the deletion.EdgeRetentionInHours (integer) –
The number of hours that you want to retain the data in the stream on the Edge Agent. The default value of the retention time is 720 hours, which translates to 30 days.
LocalSizeConfig (dict) –
The value of the local size required in order to delete the edge configuration.
MaxLocalMediaSizeInMB (integer) –
The overall maximum size of the media that you want to store for a stream on the Edge Agent.
StrategyOnFullSize (string) –
The strategy to perform when a stream’s
MaxLocalMediaSizeInMB
limit is reached.
DeleteAfterUpload (boolean) –
The
boolean
value used to indicate whether or not you want to mark the media for deletion, once it has been uploaded to the Kinesis Video Stream cloud. The media files can be deleted if any of the deletion configuration values are set totrue
, such as when the limit for theEdgeRetentionInHours
, or theMaxLocalMediaSizeInMB
, has been reached.Since the default value is set to
true
, configure the uploader schedule such that the media files are not being deleted before they are initially uploaded to the Amazon Web Services cloud.
Exceptions
KinesisVideo.Client.exceptions.AccessDeniedException
KinesisVideo.Client.exceptions.ClientLimitExceededException
KinesisVideo.Client.exceptions.InvalidArgumentException
KinesisVideo.Client.exceptions.NoDataRetentionException
KinesisVideo.Client.exceptions.ResourceInUseException
KinesisVideo.Client.exceptions.ResourceNotFoundException