为配置Lambda 函数Amazon IoT Greengrass - Amazon IoT Greengrass
Amazon Web Services 文档中描述的 Amazon Web Services 服务或功能可能因区域而异。要查看适用于中国区域的差异,请参阅中国的 Amazon Web Services 服务入门

Amazon IoT Greengrass Version 1在 2023 年 6 月 30 日之前,不再接收功能更新,只会收到安全补丁和错误修复。有关更多信息,请参阅 。Amazon IoT Greengrass V1维护政策. 强烈建议您迁移到Amazon IoT Greengrass Version 2,它补充说重要新功能对其他平台的支持.

本文属于机器翻译版本。若本译文内容与英语原文存在差异,则一律以英文原文为准。

为配置Lambda 函数Amazon IoT Greengrass

现在,您已准备好为配置您的 Lambda 函数。Amazon IoT Greengrass.

在此步骤中,您:

  • 使用Amazon IoT控制台将Lambda 函数添加到 Greengrass 组。

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

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

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

 

  1. 在Amazon IoT控制台导航窗格,在Manage,展开Greengrass as 设备,然后选择。组 (V1).

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

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

  4. 选择您在上一步中创建的 Lambda 函数的名称 (绿草_HelloWorld,而不是别名)。

  5. 对于版本,选择别名: GG_HelloWorld.

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

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

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

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

    • 适用于Pinned,选择True.

     

    注意

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

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

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

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

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

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

    注意

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

    注意

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

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

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

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

  9. 源类型,选择Lambda 函数而且,对于,选择绿草_HelloWorld.

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

  11. 适用于主题筛选条件,输入hello/world,然后选择。创建订阅.

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

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

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

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

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

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

    注意

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

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

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

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

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