TwinMaker: using lambda to fetch data for non-timeSeries properties
Hello!
I've been trying to use IoT RoboRunner + IoT TwinMaker + AWS Grafana to create a dashboard.
As one of the most basic things to show is a list of the current workers/robots.
Take the following `componentTypes`:
(parent, to be inherited from, to keep the lambda function common)
Ideally, the lambda function would be able to see the event, and the associated `telemetryAssetId`, and reply with an appropriate payload.
```json
{
"componentTypeId": "com.example.lambda_reader",
"workspaceId": "MyWorkspace",
"functions": {
"dataReader": {
"implementedBy": {
"lambda": {
"arn": "arn:aws:lambda:us-east-1:<account>:function:RoboRunnerWorkerInfo"
}
}
}
},
"propertyDefinitions": {
"telemetryAssetId": {
"dataType": {
"type": "STRING"
},
"isExternalId": true,
"isStoredExternally": false,
"isTimeSeries": false,
"isRequiredInEntity": true
}
}
}
```
and the child, which inherits from the above
```
{
"componentTypeId": "com.example.myworkspace.worker_list",
"extendsFrom": [
"com.example.lambda_reader"
],
"propertyDefinitions": {
"telemetryAssetId": {
"defaultValue" : { "stringValue": "WorkerList" }
},
"workerList": {
"dataType": {
"type": "LIST",
"netstedType": {
"type": "STRING"
}
},
"isTimeSeries": false,
"isStoredExternally": true
}
}
}
```
When adding these two `componentType`s, the latter shows up as abstract unless `isTimeSeries` is set to `true`. Is this intended behavior? Seems like I should be able to do this?
Any help is appreciated!