amazon-web-services - 如何避免从 AWS IoT 影子中检索过时的数据?
问题描述
AWS IoT 文档说。
当设备离线时,应用程序仍然可以与 AWS IoT 和设备的影子进行通信。当设备重新连接时,它会接收其影子的当前状态,以便它可以更新其状态以匹配其影子的状态,然后发布具有更新状态的消息。
如果设备离线,如何不从影子中检索数据?
或者如何忽略来自 AWS IoT 影子的过时数据?
解决方案
为什么不希望影子数据反映在设备上,因为它代表设备的最新状态?
无论如何,如果您不想要离线设备的影子数据,除了时间戳逻辑之外,还有两个选项:当设备离线时,您可以在 LWT 消息中收到通知并收到该事件:
删除影子数据的方法有两种:可以删除影子文档中的特定属性,也可以完全删除影子。
要从阴影中删除特定属性,请更新阴影;但是,将要删除的属性的值设置为 null。值为 null 的字段将从影子文档中删除。
要删除整个影子,请使用 DeleteThingShadow API 或发布到 /delete 主题。参考:https ://docs.aws.amazon.com/iot/latest/developerguide/device-shadow-data-flow.html
推荐阅读
- python - 在 keras-rl 中定义动作值
- opencv - 打开简历:BGR2GRAY 功能如何工作?
- javascript - 将字符串与对象属性的深层嵌套字符串值进行比较的最佳方法?
- python - 多集的可散列类型
- node.js - 如何从 Node、express、Mongoose 和 Ajax 上的帖子中删除评论
- python - 用于计算数字在几个月内增加的 Python 代码,如果它每月增加 10%
- scala - 在 pureconfig 中表示 Either
- scala - 如何为 monaco 编辑器添加 scala 语言支持
- neo4j - 是否可以通过某些属性返回具有关系的节点?
- c - 获取以逗号分隔的输入 + 获取输入的问题