我想将个人数据值发送到从AWS IoT收到AWS DynamoDB的各个列。
我的设备发送此有效负载:
{
"state": {
"desired": {
"DeviceId" : "Device101",
"DateTime" : now,
"Room1 Temperature" : m_t,
"Room2 Temperature": b_t
},
"reported": {
"Item": {
"DeviceId" : "Device101",
"DateTime" : now,
"Room1 Temperature" : m_t,
"Room2 Temperature": b_t
}
}
}
}
我在Shadow Link上收到此有效负载作为影子更新:
$ AWS /东西/阴影/更新
我创建了一个示例DynamoDB表,并将其与AWS IoT规则链接,以便每当数据传入上述主题时,它将由SQL查询触发:
SELECT * FROM'$ aws / things / shadow / update'
任何帮助将不胜感激。感谢。
答案 0 :(得分:3)
首先,启用Cloudwatch日志应该可以帮助您调试此问题。
通常,这些类型的静默失败表示您没有正确格式化数据以便插入DynamoDB。
要检查的事项:
CloudWatch日志将提供更详细的信息以帮助您。有关如何执行此操作的信息,请参阅http://docs.aws.amazon.com/iot/latest/developerguide/cloud-watch-logs.html。
您也可以从IoT控制台启用它,方法是从左侧导航栏中选择设置(cog),然后更新Logging下的设置。
答案 1 :(得分:0)
对于我来说,经过许多小时的误导性信息后,这篇文章使我最终获得了成果: