Amazon Kinesis Video Streams

2023/06/27 - Amazon Kinesis Video Streams - 2 new 2 updated api methods

Changes  General Availability (GA) release of Kinesis Video Streams at Edge, enabling customers to provide a configuration for the Kinesis Video Streams EdgeAgent running on an on-premise IoT device. Customers can now locally record from cameras and stream videos to the cloud on a configured schedule.

DeleteEdgeConfiguration (new) Link ¶

An asynchronous API that deletes a stream’s existing edge configuration, as well as the corresponding media from the Edge Agent.

When you invoke this API, the sync status is set to DELETING . A deletion process starts, in which active edge jobs are stopped and all media is deleted from the edge device. The time to delete varies, depending on the total amount of stored media. If the deletion process fails, the sync status changes to DELETE_FAILED . You will need to re-try the deletion.

When the deletion process has completed successfully, the edge configuration is no longer accessible.

See also: AWS API Documentation

Request Syntax

client.delete_edge_configuration(
    StreamName='string',
    StreamARN='string'
)
type StreamName

string

param StreamName

The name of the stream from which to delete the edge configuration. Specify either the StreamName or the StreamARN .

type StreamARN

string

param StreamARN

The Amazon Resource Name (ARN) of the stream. Specify either the StreamName or the StreamARN .

rtype

dict

returns

Response Syntax

{}

Response Structure

  • (dict) --

ListEdgeAgentConfigurations (new) Link ¶

Returns an array of edge configurations associated with the specified Edge Agent.

In the request, you must specify the Edge Agent HubDeviceArn .

See also: AWS API Documentation

Request Syntax

client.list_edge_agent_configurations(
    HubDeviceArn='string',
    MaxResults=123,
    NextToken='string'
)
type HubDeviceArn

string

param HubDeviceArn

[REQUIRED]

The "Internet of Things (IoT) Thing" Arn of the edge agent.

type MaxResults

integer

param MaxResults

The maximum number of edge configurations to return in the response. The default is 5.

type NextToken

string

param NextToken

If you specify this parameter, when the result of a ListEdgeAgentConfigurations operation is truncated, the call returns the NextToken in the response. To get another batch of edge configurations, provide this token in your next request.

rtype

dict

returns

Response Syntax

{
    'EdgeConfigs': [
        {
            '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
                }
            }
        },
    ],
    'NextToken': 'string'
}

Response Structure

  • (dict) --

    • EdgeConfigs (list) --

      A description of a single stream's edge configuration.

      • (dict) --

        A description of a single stream's edge configuration.

        • StreamName (string) --

          The name of the stream.

        • StreamARN (string) --

          The Amazon Resource Name (ARN) of the stream.

        • CreationTime (datetime) --

          The timestamp when the stream first created the edge config.

        • LastUpdatedTime (datetime) --

          The timestamp when the stream last updated the edge config.

        • SyncStatus (string) --

          The current sync status of the stream's 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 and MediaUriType ) 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 the DurationInMinutes details that specify the scheduling to record from a camera, or local media file, onto the Edge Agent. If the ScheduleExpression 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 the RecorderConfig , 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 the DurationInSeconds 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 the DurationInMinutes details that specify the scheduling to record from a camera, or local media file, onto the Edge Agent. If the ScheduleConfig is not provided in this UploaderConfig , 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 the RecorderConfig , 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 the DurationInSeconds 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 to true , such as when the limit for the EdgeRetentionInHours , or the MaxLocalMediaSizeInMB , 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.

    • NextToken (string) --

      If the response is truncated, the call returns this element with a given token. To get the next batch of edge configurations, use this token in your next request.

DescribeEdgeConfiguration (updated) Link ¶
Changes (response)
{'EdgeAgentStatus': {'LastRecorderStatus': {'JobStatusDetails': 'string',
                                            'LastCollectedTime': 'timestamp',
                                            'LastUpdatedTime': 'timestamp',
                                            'RecorderStatus': 'SUCCESS | '
                                                              'USER_ERROR | '
                                                              'SYSTEM_ERROR'},
                     'LastUploaderStatus': {'JobStatusDetails': 'string',
                                            'LastCollectedTime': 'timestamp',
                                            'LastUpdatedTime': 'timestamp',
                                            'UploaderStatus': 'SUCCESS | '
                                                              'USER_ERROR | '
                                                              'SYSTEM_ERROR'}},
 'SyncStatus': {'DELETING_ACKNOWLEDGED'}}

Describes a stream’s edge configuration that was set using the StartEdgeConfigurationUpdate API and the latest status of the edge agent's recorder and uploader jobs. Use this API to get the status of the configuration to determine if the configuration is in sync with the Edge Agent. Use this API to evaluate the health of the Edge Agent.

See also: AWS API Documentation

Request Syntax

client.describe_edge_configuration(
    StreamName='string',
    StreamARN='string'
)
type StreamName

string

param StreamName

The name of the stream whose edge configuration you want to update. Specify either the StreamName or the StreamARN .

type StreamARN

string

param StreamARN

The Amazon Resource Name (ARN) of the stream. Specify either the StreamName or the StreamARN .

rtype

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
        }
    },
    'EdgeAgentStatus': {
        'LastRecorderStatus': {
            'JobStatusDetails': 'string',
            'LastCollectedTime': datetime(2015, 1, 1),
            'LastUpdatedTime': datetime(2015, 1, 1),
            'RecorderStatus': 'SUCCESS'|'USER_ERROR'|'SYSTEM_ERROR'
        },
        'LastUploaderStatus': {
            'JobStatusDetails': 'string',
            'LastCollectedTime': datetime(2015, 1, 1),
            'LastUpdatedTime': datetime(2015, 1, 1),
            'UploaderStatus': 'SUCCESS'|'USER_ERROR'|'SYSTEM_ERROR'
        }
    }
}

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 latest status of the edge configuration update.

    • 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 and MediaUriType ) 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 the DurationInMinutes details that specify the scheduling to record from a camera, or local media file, onto the Edge Agent. If the ScheduleExpression 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 the RecorderConfig , 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 the DurationInSeconds 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 the DurationInMinutes details that specify the scheduling to record from a camera, or local media file, onto the Edge Agent. If the ScheduleConfig is not provided in this UploaderConfig , 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 the RecorderConfig , 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 the DurationInSeconds 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 to true , such as when the limit for the EdgeRetentionInHours , or the MaxLocalMediaSizeInMB , 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.

    • EdgeAgentStatus (dict) --

      An object that contains the latest status details for an edge agent's recorder and uploader jobs. Use this information to determine the current health of an edge agent.

      • LastRecorderStatus (dict) --

        The latest status of a stream’s edge recording job.

        • JobStatusDetails (string) --

          A description of a recorder job’s latest status.

        • LastCollectedTime (datetime) --

          The timestamp at which the recorder job was last executed and media stored to local disk.

        • LastUpdatedTime (datetime) --

          The timestamp at which the recorder status was last updated.

        • RecorderStatus (string) --

          The status of the latest recorder job.

      • LastUploaderStatus (dict) --

        The latest status of a stream’s edge to cloud uploader job.

        • JobStatusDetails (string) --

          A description of an uploader job’s latest status.

        • LastCollectedTime (datetime) --

          The timestamp at which the uploader job was last executed and media collected to the cloud.

        • LastUpdatedTime (datetime) --

          The timestamp at which the uploader status was last updated.

        • UploaderStatus (string) --

          The status of the latest uploader job.

StartEdgeConfigurationUpdate (updated) Link ¶
Changes (response)
{'SyncStatus': {'DELETING_ACKNOWLEDGED'}}

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.

See also: AWS API Documentation

Request Syntax

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
        }
    }
)
type StreamName

string

param StreamName

The name of the stream whose edge configuration you want to update. Specify either the StreamName or the StreamARN .

type StreamARN

string

param StreamARN

The Amazon Resource Name (ARN) of the stream. Specify either the StreamName or the StreamARN .

type EdgeConfig

dict

param EdgeConfig

[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 and MediaUriType ) 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 the DurationInMinutes details that specify the scheduling to record from a camera, or local media file, onto the Edge Agent. If the ScheduleExpression 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 the RecorderConfig , 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 the DurationInSeconds 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 the DurationInMinutes details that specify the scheduling to record from a camera, or local media file, onto the Edge Agent. If the ScheduleConfig is not provided in this UploaderConfig , 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 the RecorderConfig , 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 the DurationInSeconds 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 to true , such as when the limit for the EdgeRetentionInHours , or the MaxLocalMediaSizeInMB , 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.

rtype

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 the DescribeEdgeConfiguration 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 and MediaUriType ) 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 the DurationInMinutes details that specify the scheduling to record from a camera, or local media file, onto the Edge Agent. If the ScheduleExpression 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 the RecorderConfig , 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 the DurationInSeconds 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 the DurationInMinutes details that specify the scheduling to record from a camera, or local media file, onto the Edge Agent. If the ScheduleConfig is not provided in this UploaderConfig , 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 the RecorderConfig , 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 the DurationInSeconds 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 to true , such as when the limit for the EdgeRetentionInHours , or the MaxLocalMediaSizeInMB , 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.