in src/libs/deploy_utils/VideoUtils.py [0:0]
def create_sitewise_camera_asset_model(self):
assetModelNameValue = 'EdgeConnectorForKVSCameraModel-' + uuid.uuid4().hex[0:4]
response = self.iotsitewise.create_asset_model(
assetModelName = assetModelNameValue,
assetModelDescription='Camera Device for EdgeConnectorForKVS',
assetModelProperties=[
{
'name': 'KinesisVideoStreamName',
'dataType': 'STRING',
'type': {
'attribute': {
'defaultValue': '<Replace with KVS stream name>'
},
}
},
{
'name': 'RTSPStreamSecretARN',
'dataType': 'STRING',
'type': {
'attribute': {
'defaultValue': '<Replace with Secret Arn including RTSP Stream URL>'
},
}
},
{
'name': 'LocalDataRetentionPeriodInMinutes',
'dataType': 'INTEGER',
'type': {
'attribute': {
'defaultValue': '60'
},
}
},
{
'name': 'LiveStreamingStartTime',
'dataType': 'STRING',
'type': {
'attribute': {
'defaultValue': '-'
},
}
},
{
'name': 'LiveStreamingDurationInMinutes',
'dataType': 'INTEGER',
'type': {
'attribute': {
'defaultValue': '0'
},
}
},
{
'name': 'CaptureStartTime',
'dataType': 'STRING',
'type': {
'attribute': {
'defaultValue': '-'
},
}
},
{
'name': 'CaptureDurationInMinutes',
'dataType': 'INTEGER',
'type': {
'attribute': {
'defaultValue': '0'
},
}
},
{
'name': 'VideoUploadRequest',
'dataType': 'STRING',
'type': {
'measurement': {},
}
},
{
'name': 'VideoUploadedTimeRange',
'dataType': 'DOUBLE',
'type': {
'measurement': {},
}
},
{
'name': 'VideoRecordedTimeRange',
'dataType': 'DOUBLE',
'type': {
'measurement': {},
}
},
{
'name': 'CachedVideoAgeOutOnEdge',
'dataType': 'DOUBLE',
'type': {
'measurement': {},
}
},
],
)
self.sitewise_asset_model_id_camera = response.get('assetModelId')
waiter = self.iotsitewise.get_waiter('asset_model_active')
waiter.wait(assetModelId=self.sitewise_asset_model_id_camera)