AWS IoT规则-更新DynamoDB中的多个列

时间:2018-08-17 19:24:48

标签: amazon-web-services amazon-dynamodb aws-iot

我已经能够使用AWS文档将mqtt消息插入表中的单个列中。我希望能够更新(而不是插入)表中的多个列。我在IoT规则中使用了DynamoDbv2操作,并将IAM角色更改为UpdateItem,但是没有任何反应。

有没有办法查看这些错误发生的位置/时间? 我是否应该创建Lambda函数来处理呢?有这个例子吗? 谢谢。

2 个答案:

答案 0 :(得分:0)

您可以使用DynamoDbV2规则操作来更新DynamodDB表中的多个属性(如果需要,还可以更新列)。您提供给“物联网规则”的角色需要在相关表格上允许dynamodb:PutItem。当然,角色需要在其信任策略(在某些地方也称为承担角色策略文档)中具有IoT服务。

要帮助解决任何问题,请打开IoT日志记录并将级别设置为“调试”。然后,您可以在AWS Cloudwatch日志中查看任何错误。

https://docs.aws.amazon.com/iot/latest/developerguide/iot-rule-actions.html

答案 1 :(得分:0)

首先请记住,DynamoDbV2在内部使用PutItem,因此您不仅无法更新属性,而且整个对象将被覆盖。

如果要更新项目,则需要实现Lambda函数并手动实现数据更新。

对于IAM角色,您的信任关系应包含: { "Version": "2012-10-17", "Statement": [ { "Sid": "", "Effect": "Allow", "Principal": { "Service": "iot.amazonaws.com" }, "Action": "sts:AssumeRole" } ] }