如何使用aws iot规则引擎更新多列dynamo db

时间:2016-10-09 15:43:19

标签: amazon-web-services amazon-dynamodb rules rule-engine aws-iot

我有一组数据:idnameheightweight

我将此数据以json格式发送到aws iot。从那里我需要更新dynamo数据库中的相应列,因此我创建了3个规则来更新nameheight和权重保持id作为分区键。

但是当我发送消息时,只有一列正在更新。如果我禁用任何2个规则,那么剩下的规则正常。因此,每次更新时,列都会被覆盖。

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

2 个答案:

答案 0 :(得分:1)

答案是:您无法使用IoT网关规则本身执行此操作。您只能通过规则将数据存储在单个列中(除了散列和排序键)。

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

答案 1 :(得分:0)

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

dynamoDBv2操作:将有效内容中的每个属性写入DynamoDB数据库中的单独列。