问题描述
以下是我邮件中的数据。
{
"time_epoch": 1604489437,"temperature": 100,"device_id": "TempSensor1"
}
我有一个采用此msg的IoT核心规则,并有措施将其发送到Timestream db表。
在IoT核心规则中-我已将device_id配置为维度,并将time_epoch配置为时间戳。下面的屏幕截图:
问题::当味精到达Timestream db表时,device_id正确显示为维度。 time_epoch正确显示在time列下。 但是,所有3个-device_id,温度和time_epoch都将显示为度量。下面的屏幕截图:
我想像-由于我已在IoT核心规则操作中指定device_id为维度,time_epoch为时间戳记,因此AWS Timestream应该足够聪明,以至于不将两者都作为度量。
如何指示时间流db不要将device_id和time_epoch视为度量;仅考虑温度作为度量?我尝试编辑表格设置,但找不到指定/配置度量的任何选项。
解决方法
我假设您正在执行以下操作:
SELECT * FROM /your/topic
你想做的是:
SELECT temperature FROM /your/topic
您现在必须编辑维度才能使用内置函数而不是 SQL 查询结果。本质上,对 ${clientId()}
使用 device_id
,对 ${timestamp()}
使用 time
。有关可用 substitution templates 的列表,请参阅文档。
然后您应该会看到您希望看到的表格。
您目前看到虚假度量的原因是,作为 the docs 状态,Timestream 将 JSON 的每个键转换为自己的度量记录。