首页 > 解决方案 > 如何避免从 AWS IoT 影子中检索过时的数据?

问题描述

AWS IoT 文档说。

当设备离线时,应用程序仍然可以与 AWS IoT 和设备的影子进行通信。当设备重新连接时,它会接收其影子的当前状态,以便它可以更新其状态以匹配其影子的状态,然后发布具有更新状态的消息。

如果设备离线,如何不从影子中检索数据?

或者如何忽略来自 AWS IoT 影子的过时数据?

标签: amazon-web-servicesiotaws-iot

解决方案


为什么不希望影子数据反映在设备上,因为它代表设备的最新状态?

无论如何,如果您不想要离线设备的影子数据,除了时间戳逻辑之外,还有两个选项:当设备离线时,您可以在 LWT 消息中收到通知并收到该事件:

删除影子数据的方法有两种:可以删除影子文档中的特定属性,也可以完全删除影子。

要从阴影中删除特定属性,请更新阴影;但是,将要删除的属性的值设置为 null。值为 null 的字段将从影子文档中删除。

要删除整个影子,请使用 DeleteThingShadow API 或发布到 /delete 主题。参考:https ://docs.aws.amazon.com/iot/latest/developerguide/device-shadow-data-flow.html


推荐阅读