如何从AWS Lambda函数获取事物组名称

时间:2020-06-25 08:38:12

标签: python amazon-web-services aws-lambda aws-iot

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

1 个答案:

答案 0 :(得分:0)

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

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

一个选项可以是将Things组名嵌入Thing消息中。可以在Lambda处解析此数据。事件参数可以在Lambda函数上获取Thing相关信息很有帮助,前提是Thing信息是在MQTT消息中传递的,或者由Rule的SQL添加到传递给Lambda函数的结果中。