为配置 Lambda 函数AWS IoT Greengrass - AWS IoT Greengrass

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 函数添加到 LamGreengrass a 组。

  • 为 Lambda 函数配置特定于组的设置。

  • 向该组添加订阅,允许 Lambda 函数向发布 MQTT 消息AWS IoT.

  • 配置该组的本地日志设置。

 

  1. 在AWS IoT控制台导航窗格,位于Manage,展开Greengrass,然后选择。组 (V1).

  2. UNDERGreengrass,选择您在中创建的组模块 2.

  3. 在组配置页面上,选择。Lambda 函数选项卡,然后向下滚动到我的 Lambda 函数部分并选择。添加 Lambda 函数.

  4. 选择您在上一步中创建的 Lambda 函数的名称 (GreengrassHelloWorld)。

  5. 对于版本,请选择您发布的版本。

  6. Lambda 函数配置部分,做以下更改:

    • 设置系统用户和组使用组默认值.

    • 设置Lambda 函数容器化使用组默认值.

    • 超时设置为 25 秒。此 Lambda 函数在每次调用前会休眠 5 秒。

    • 适用于Pinned,选择True.

     

    注意

    一个长时间生存的(或固定) Lambda 函数在以下时间之后自动启动AWS IoT Greengrass启动并在自己的容器中继续运行。这与按需的Lambda 函数,它在调用时启动,并在没有要运行的任务时停止。有关更多信息,请参阅 Greengrass Lambda 函数的生命周期配置

  7. 选择添加 Lambda 函数以保存您的更改。有关 Lambda 函数属性的信息,请参阅使用组特定的配置控制 Greengrass Lambda 函数的执行.

    接下来,创建一个允许 Lambda 函数发送的订阅MQTT消息发送到AWS IoT Core.

    Greengrass Lambda 函数可以与以下对象交换 MQTT 消息:

    该组使用订阅来控制这些实体可以如何互相通信。订阅提供可预测的交互和一层安全性。

    订阅由源、目标和主题组成。源是消息的发起方,目标是消息的目的地。主题允许您筛选从源发送到目标的数据。源或目标可以是 Greengrass 设备、GLambda grass 设备、目标设备影子或AWS IoT Core.

    注意

    订阅是定向的,也就是消息流为特定方向:从源流到目标。要允许双向通信,您必须设置两个订阅。

    注意

    目前,订阅主题筛选器不允许多个+主题中的字符。主题筛选器只允许一个#主题的末尾包含字符。

    这些区域有:Greengrass_HelloWorldLambda 函数仅将消息发送到hello/world主题AWS IoT Core,因此,您只需要创建一个从 Lambda 函数到的订阅AWS IoT Core. 您可以在下一步中创建此订阅。

  8. 在组配置页面上,选择。订阅选项卡,然后选择。添加订阅.

    有关如何使用创建订阅的示例,AWS CLI,请参阅create-subscription-definition中的AWS CLI命令参考.

  9. 源类型,选择Lambda 函数而且,对于,选择GreengrassHelloWorld.

  10. 对于Target type,选择服务而且,对于目标选择IoT 云.

    
                            突出显示了“Services (服务)”选项卡、“IoT Cloud (IoT 云)”和“Next (下一步)”按钮的“Select a target (选择目标)”区域。
  11. 适用于主题筛选条件,输入hello/world,然后选择。创建订阅.

  12. 配置组的日志记录设置。在本教程中,您将配置。AWS IoT Greengrass系统组件和用户定义的 Lambda 函数,以将日志写入核心设备的文件系统。

    1. 在组配置页面上,选择。日志选项卡。

    2. Local 日志配置部分,选择。编辑.

    3. 在存储库的编辑本地日志配置对话框中,保留日志级别和存储大小的默认值,然后选择Save(保存).

    您可以使用日志解决运行本教程时可能遇到的任何问题。在排查问题时,您可以暂时将日志记录级别更改为调试。有关更多信息,请参阅 访问文件系统日志

  13. 如果核心设备上未安装 Java 8 运行时,您必须安装它或禁用流管理器。

    注意

    此教程不使用流管理器,但它将使用默认情况下启用流管理器的 Default Group creation (默认组创建) 工作流。如果已启用流管理器,但未安装 Java 8,则组部署将失败。有关更多信息,请参阅流管理器要求

    要禁用流管理器,请执行以下操作:

    1. 在组设置页面上,选择。Lambda 函数选项卡。

    2. 系统 Lambda 函数部分,选择流管理器然后选择编辑.

    3. 选择禁用,然后选择保存