【问题标题】:Can I dynamically set the Timestream table in an IoT Rule?我可以在 IoT 规则中动态设置时间流表吗?
【发布时间】:2022-07-04 19:51:23
【问题描述】:

在 AWS IoT 中创建将消息发送到我的 Timestream 数据库的规则时,它迫使我选择要发送到的数据库和表。

目前,我对每个用户的遥测数据都有一个单独的表,这些消息将来自许多不同的来源。

我是否必须为每个主题创建一个新规则(即iot/data/000001 转储到时间流表000001 等),还是有办法根据消息本身中的元数据动态选择表?

【问题讨论】:

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


    【解决方案1】:

    我不知道像这样动态配置它的方法。从这个意义上说,规则是相当有限的。 但是,根据您的需要,您可以做的是使用 Lambda 操作并使用例如 boto3 和 python(或其他语言的等价物)更动态地将值写入 Timestream,并且如果您可以接受 一些延迟 如果您有繁重的工作量,我建议将 Kinesis 流放在 IoT 和 lambda 之间。完整的设置如下所示: IoT 规则 -> SQL:Select * from /iot/data/# -> IoT 规则:AWS Kinesis 然后, 将 AWS Lambda 设置为 Kinesis 流使用者 -> 在 Lambda 中:根据数据批量写入时间流表。 您还可以尝试做的事情(我不知道这是否可行)是使用: SELECT *, topic(2) as idx from /iot/data/# 获取对主题最后一段的引用作为有效负载中的值。如果我没记错的话topic(n) 是基于 0 的,但在使用前只需确认一下

    【讨论】:

      猜你喜欢
      • 2015-08-31
      • 2011-09-20
      • 1970-01-01
      • 1970-01-01
      • 2020-04-10
      • 2015-10-04
      • 2011-10-19
      • 2023-01-14
      • 2011-10-01
      相关资源
      最近更新 更多