首页 > 解决方案 > aws iot:仅当消息具有与以前不同的有效负载时,如何触发行为规则/ lambda?

问题描述

我在 aws iot 上通过 mqtt 收到很多入站消息。大多数消息具有相同的有效负载,并且仅更改时间戳。

我需要运行一个存储数据的 lambda 函数,但我只想在实际发生变化时存储数据点。如何在 lambda 函数中检查这一点?配置下的 lambda 函数 是在影子更新之前还是之后act由运行触发的?$aws/things/THING-NAME/shadow/update/documents

这是我的规则的配置: 在此处输入图像描述

谢谢

标签: amazon-web-servicesaws-lambdamqttiot

解决方案


设备影子更新触发 lambda 。

但重要的是,发送到此 lambda 的事件有效负载将包含两个键{ previous, current }previous和键将current分别包含更新前后的完整设备影子。

所以为了实现你想要的,你可以比较previouscurrent看看哪些值发生了变化,不包括时间戳等。


推荐阅读