AWS IoT Greengrass Version 1在 2023 年 6 月 30 日之前,将不再接收功能更新,并且将仅收到安全补丁和错误修复。有关更多信息,请参阅AWS IoT Greengrass V1维护政策。我们强烈建议您迁移到AWS IoT Greengrass Version 2,这增加了重要的新功能并支持其他平台。
本文属于机器翻译版本。若本译文内容与英语原文存在差异,则一律以英文原文为准。
为配置Lambda 函数AWS IoT Greengrass
现在,您已准备好为配置您的 Lambda 函数。AWS IoT Greengrass.
在此步骤中,您:
-
使用AWS IoT控制台将Lambda 函数添加到 Greengrass 组。
-
为Lambda 函数配置特定于组的设置。
-
向该组添加订阅,允许 Lambda 函数向发布 MQTT 消息。AWS IoT.
-
配置该组的本地日志设置。
在AWS IoT控制台导航窗格,在Manage,展开Greengrass as 设备,然后选择。组 (V1).
-
UNDERGreengrass 组,选择您在中创建的组模块 2.
-
在组配置页面上,选择Lambda 函数选项卡,然后向下滚动到我的 Lambda 函数部分并选择。添加 Lambda 函数.
-
选择您在上一步中创建的 Lambda 函数的名称 (绿草_HelloWorld,而不是别名)。
-
对于版本,选择别名: GG_HelloWorld.
-
在Lambda 函数配置部分,进行以下更改:
-
设置系统用户和组到使用组默认值.
-
设置Lambda 函数容器化到使用组默认值.
-
将超时设置为 25 秒。此 Lambda 函数在每次调用前会休眠 5 秒。
-
适用于Pinned,选择True.
注意
一个长时间生存的(或固定) Lambda 函数在以下时间之后自动启动AWS IoT Greengrass启动并在自己的容器中保持运行。这与按需Lambda 函数在调用时启动,并在没有要运行的任务时停止。有关更多信息,请参阅 Greengrass Lambda 函数的生命周期配置。
-
-
选择添加 Lambda 函数以保存您的更改。有关 Lambda 函数属性的信息,请参阅使用组特定的配置控制 Greengrass Lambda 函数的执行.
接下来,创建一个允许 Lambda 函数发送的订阅。MQTT
消息发送到AWS IoT Core. Greengrass Lambda 函数可以与以下对象交换 MQTT 消息:
-
Greengrass 组中的设备。
-
组中的连接器。
-
组中的其他 Lambda 函数。
-
AWS IoT Core.
-
本地影子服务。有关更多信息,请参阅 模块 5:与设备影子交互。
该组使用订阅来控制这些实体可以如何互相通信。订阅提供可预测的交互和一层安全性。
订阅由源、目标和主题组成。源是消息的发起方,目标是消息的目的地。主题允许您筛选从源发送到目标的数据。源或目标可以是 Greengrass 设备、Lambda 函数、连接器、设备影子或AWS IoT Core.
注意
订阅是定向的,也就是消息流为特定方向:从源流到目标。要允许双向通信,您必须设置两个订阅。
注意
目前,订阅主题筛选器不允许多个
+
主题中的字符。主题筛选器只允许一个#
字在主题的末尾。这些区域有:
Greengrass_HelloWorld
Lambda 函数仅将消息发送到hello/world
主题AWS IoT Core,因此,您只需要从 Lambda 函数创建一个从 Lambda 函数到的订阅AWS IoT Core. 您可以在下一步中创建此订阅。 -
-
在组配置页面上,选择订阅选项卡,然后选择。添加订阅.
有关如何使用创建订阅的示例,AWS CLI,请参阅create-subscription-definition
中的AWS CLI命令参考. -
在源类型,选择Lambda 函数而且,对于源,选择绿草_HelloWorld.
-
对于Target type,选择服务而且,对于目标选择IoT 云.
-
适用于主题筛选条件,输入
hello/world
,然后选择。创建订阅. -
配置组的日志记录设置。在本教程中,您将配置AWS IoT Greengrass系统组件和用户定义的 Lambda 函数,将日志写入核心设备的文件系统。
-
在组配置页面上,选择日志选项卡。
-
在本地日志配置部分,选择。编辑.
-
在存储库的编辑本地日志配置对话框中,保留日志级别和存储大小的默认值,然后选择Save(保存).
您可以使用日志解决运行本教程时可能遇到的任何问题。在排查问题时,您可以暂时将日志记录级别更改为调试。有关更多信息,请参阅 访问文件系统日志。
-
-
如果核心设备上未安装 Java 8 运行时,您必须安装它或禁用流管理器。
注意
此教程不使用流管理器,但它将使用默认情况下启用流管理器的 Default Group creation (默认组创建) 工作流。如果已启用流管理器,但未安装 Java 8,则组部署将失败。有关更多信息,请参阅流管理器要求。
要禁用流管理器,请执行以下操作:
-
在组设置页面上,选择Lambda 函数选项卡。
-
在系统 Lambda 函数部分,选择流管理器然后选择编辑.
-
选择禁用,然后选择保存。
-