【问题标题】:In AWS IoT Core rule action or AWS Timestream database table how can we specify/configure measures?在 AWS IoT Core 规则操作或 AWS Timestream 数据库表中,我们如何指定/配置措施?
【发布时间】:2020-12-21 20:06:02
【问题描述】:

以下是我的消息中的数据。

{
  "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 都显示为度量值。截图如下:

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

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

【问题讨论】:

标签: amazon-web-services aws-iot aws-iot-core amazon-timestream


【解决方案1】:

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

SELECT * FROM /your/topic

你想做的是:

SELECT temperature FROM /your/topic

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

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

您目前看到虚假测量的原因是,在the docs 状态下,Timestream 将 JSON 的每个键转换为自己的测量记录。

【讨论】:

  • 如果您需要从消息中获取该数据,这不是解决方案
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2021-02-04
  • 1970-01-01
  • 2020-06-22
相关资源
最近更新 更多