amazon-web-services - AWS IoT 设备阴影概念
问题描述
我有一个物联网的东西发布 -
时间戳、isAdmin 和数据
在一个话题上
“物联网/样本数据”
我有一个规则来监听这个主题并将这些数据推送到 DynamoDB。用户可以使用应用程序的设备影子功能将 isAdmin 布尔值更新为 false。如何将设备影子连接到规则引擎,以便在更新影子时更新 DynamoDB 中的 isAdmin 布尔值。
我看到了影子 mqtt 主题,但我遗漏了一些东西,它不知何故不起作用。
任何帮助都深表感谢。
解决方案
我可以提供一些提示,这可能会对您有所帮助。
- 我正在使用查询之类的选择子句,您可以从阴影中的结构中进行交叉检查。选择 state.reported.* FROM '$aws/things/pSensor/shadow/update/accepted'
- 使用 AWS IoT 本身提供的 mqtt 客户端测试您的主题“$aws/things/pSensor/shadow/update/accepted”。订阅主题并从您的移动应用程序发送数据。
- 在 JSON(移动数据发布)中,如果任何一个 key 或 value 为空,它将不起作用。就我而言,我发送的是 valye“NA”而不是“”(空白)。
- 最重要的是,在您现有的 AWS IoT 规则中添加错误操作并在 SQS 中推送错误详细信息并在管理控制台中订阅 SQS。如果有任何错误,它将在队列中提供详细信息。SQS 中的数据将采用 Base64 编码,因此您可以在线解码。
- 我确信您的 DynamoDB 操作将具有正确的语法。我正在使用诸如“$ {state.reported.isAdmin}”之类的主键(您可以将其与您的影子匹配)。
如果有帮助,请告诉我。
问候,
克里尚
推荐阅读
- javascript - 如何在增强现实中绘制路径(或折线、路线)
- authentication - 来自 Spring Security 的带有登录表单的错误凭据
- java - collect中的accumulator和combiner有什么区别?
- python - 如何将密钥“发送”到画布元素更长的时间?
- postgresql - Postgres 中是否有任何定义的函数可以让您知道什么动作触发了触发器?
- javascript - Angular提交在提交之前不会填充隐藏的输入
- bash - 复制嵌套子目录中的文件列表
- delphi - 禁用 alt+tab
- c# - 输入时如何停止叮当声?(已处理和 SuppressKeyEvent 为真)
- javascript - 如何使用猫鼬多次正确触发模式方法