2

我有一组数据:idname和。heightweight

我正在以 json 格式将此数据发送到 aws iot。从那里我需要更新发电机数据库中的各个列,因此我创建了 3 条规则来更新nameheight并将权重保持id为分区键。

但是当我发送消息时,只有一列得到更新。如果我禁用任何 2 条规则,则其余规则可以正常工作。因此,每次我更新时,列都会被覆盖。

如何更新传入消息中的所有三列?

4

2 回答 2

3

另一个答案:在您的规则中,改用“ dynamoDBv2 ”操作——“它允许您将全部或部分 MQTT 消息写入 DynamoDB 表。有效负载中的每个属性都写入 DynamoDB 数据库中的单独列。 ..”

dynamoDBv2 操作:将负载中的每个属性写入 DynamoDB 数据库中的单独列。

于 2018-01-05T04:37:19.103 回答
1

答案是:你不能用物联网网关规则本身来做到这一点。您只能通过规则将数据存储在单个列中(除了哈希和排序键)。

解决这个问题的一种方法是制定一个 lambda 规则,该规则调用例如一个 python 脚本,然后获取消息并将其存储在表中。另请参阅this other SO question

于 2017-05-29T03:04:00.843 回答