2

以下是我消息中的数据。

{
  "time_epoch": 1604489437,
  "temperature": 100,
  "device_id": "TempSensor1"
}

我有一个 IoT 核心规则,它接受这个消息,并有一个动作将它发送到 Timestream db 表。

在 IoT 核心规则中 - 我将 device_id 配置为维度,将 time_epoch 配置为时间戳。截图如下:

在此处输入图像描述

问题:当 msg 到达 Timestream db 表时,device_id 正确显示为维度。time_epoch 正确显示在时间列下。然而,所有 3-device_id、temperature 和 time_epoch 都显示为 measure。截图如下:

在此处输入图像描述

我想象过——因为我在 IoT 核心规则操作中指定 device_id 是维度,time_epoch 是时间戳,那么 AWS Timestream 应该足够聪明,不会将这两者都包括在内。

如何指示 timestream db 不将 device_id 和 time_epoch 视为度量;并且只考虑温度作为衡量标准?我尝试编辑表格设置,但找不到任何选项来指定/配置措施。

4

1 回答 1

2

我假设你正在做类似的事情:

SELECT * FROM /your/topic

你想做的是:

SELECT temperature FROM /your/topic

您必须编辑维度以现在使用内置函数而不是 SQL 查询结果。本质上,使用${clientId()}fordevice_id${timestamp()}for time有关可用替换模板的列表,请参阅文档。

然后,您应该会看到您希望看到的表格。

您目前看到虚假测量的原因是,正如文档所述,Timestream 将 JSON 的每个键转换为自己的测量记录。

于 2020-12-21T11:55:16.977 回答