首页 > 解决方案 > 如何从 AWS lambda 函数获取事物组名称

问题描述

我有一些东西正在调用相同的 lambda 函数,当被调用时,我需要知道它们在哪个组中。如何通过 python lambda 函数获取它们在哪个 IoT 事物组中?我尝试检查客户端和上下文对象中是否有任何我可以使用的东西,但找不到任何东西。

标签: pythonamazon-web-servicesaws-lambdaaws-iot

解决方案


有一些规定可以创建可以调用 Lambda 函数并从触发规则的 MQTT 消息中传递数据的规则。在典型架构中,Lambda 函数通过规则调用,而不是直接由 IoT 客户端调用。AWS IoT 规则引擎(基于基于 SQL 的语言)能够从消息负载中选择数据并将数据发送到其他服务,例如 AWS Lambda 或 S3 等。

该规则处理来自它正在侦听的主题的基于 JSON 的消息,默认情况下将结果作为处理程序的事件参数传递给 Lambda 函数,而不添加或删除任何数据。因此,如果消息没有感兴趣的数据,则该数据可能对 Lambda 函数不可用。

一种选择是在来自 Thing 的消息中嵌入 Things 组名称。这些数据可以在 Lambda 中解析。如果事物信息在 MQTT 消息中传达或由 Rule 的 SQL 添加到传递给 Lambda 函数的结果中,则事件参数可以帮助 Lambda 函数获取事物相关信息。


推荐阅读