我有一组数据:id
,name
,height
和weight
。
我将此数据以json格式发送到aws iot。从那里我需要更新dynamo数据库中的相应列,因此我创建了3个规则来更新name
,height
和权重保持id
作为分区键。
但是当我发送消息时,只有一列正在更新。如果我禁用任何2个规则,那么剩下的规则正常。因此,每次更新时,列都会被覆盖。
如何从传入消息更新所有三列?
答案 0 :(得分:1)
答案是:您无法使用IoT网关规则本身执行此操作。您只能通过规则将数据存储在单个列中(除了散列和排序键)。
解决这个问题的方法是创建一个lambda规则,该规则调用一个python脚本,然后获取消息并将其存储在表中。另请参阅this other SO question。
答案 1 :(得分:0)
另一个答案:在您的规则中,使用“ dynamoDBv2 ”操作 - 它“允许您将全部或部分MQTT消息写入DynamoDB表。有效负载中的每个属性都是写入DynamoDB数据库中的单独列...“
dynamoDBv2操作:将有效内容中的每个属性写入DynamoDB数据库中的单独列。