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

您正在查看Amazon IoT Greengrass Version 1.Amazon IoT Greengrass Version 2是最新的主要版本Amazon IoT Greengrass. 有关使用Amazon IoT Greengrass V2,请参阅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控制台的导航窗格中,选择Greengrass经典 (V1)Groups.

  2. UNASOGreengrass 组中,选择您在模块 2.

  3. 在组配置页面上,选择 Lambdas,然后选择添加 Lambda

    
                            突出显示“Lambdas”和“Add Lambda (添加 Lambda)”的组页面。
  4. 选择 Use existing Lambda

    
                            突出显示了“Use existing Lambda (使用现有的 Lambda)”按钮的“Add a Lambda to your Greengrass Group (将 Lambda 添加到 Greengrass 组)”的屏幕截图。
  5. 搜索您在上一步中创建的 Lambda 的名称 (绿色草原 _ 赫尔辛基(而不是别名名称),选择它,然后选择下一步

    
                            突出显示了“Greengrass_HelloWorld”和“Next (下一步)”按钮的“Use existing Lambda (使用现有的 Lambda)”的屏幕截图。
  6. 对于版本,请选择别名:GG_Hello 世界,然后选择Finish. 您应看到绿色草原 _ 赫尔辛基Lambda 函数,使用GG_Hello 世界别名。

  7. 选择省略号 (...),然后选择编辑配置

    
                            突出显示了省略号以及“Edit Configuration (编辑配置)”的“MyFirstGroup”的屏幕截图。
  8. 组特定的 Lambda 配置页面上,进行以下更改:

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

    • 对于 Lambda 生命周期,选择 Make this function long-lived and keep it running indefinitely (使此函数长时间生存,保持其无限期运行)

     

    
                            选择了“25”(秒) 和“Make this function long-lived and keep it running indefinitely (使此函数长时间生存,保持其无限期运行)”单选按钮的配置页面的屏幕截图。
    注意

    A长时间生存的(或pinned)Lambda 函数在Amazon IoT Greengrass启动并在自己的容器中继续运行。这与按需Lambda 函数,该函数在调用时启动,并在没有要运行的任务时停止。有关更多信息,请参阅Greengrass Lambda 函数的生命周期配置

  9. 为所有其他字段保留默认值(如 Run as (运行为)Containerization (容器化)Input payload data type (输入负载数据类型)),然后选择 Update (更新) 以保存您的更改。有关 Lambda 函数属性的信息,请参阅使用组特定的配置控制 Greengrass Lambda 函数的执行.

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

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

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

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

    注意

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

    注意

    目前,订阅主题筛选器不允许多个+字符。主题筛选器仅允许单个#字符。

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

  10. 在组配置页面中,选择订阅,然后选择添加第一个订阅

    
                            突出显示了“Subscription (订阅)”和“Add your first Subscription (添加第一个订阅)”的“Group configuration (组配置)”页面的屏幕截图。

    有关如何使用创建订阅的示例,其中显示了如何使用Amazon CLI请参阅创建订阅定义中的Amazon CLI命令参考.

  11. 选择源中,选择选择。然后,在 Lambdas 选项卡上,选择 Greengrass_HelloWorld 作为源。

    
                            突出显示了“Lambdas”和“Greengrass_HelloWorld”的“Select a source (选择源)”页面的屏幕截图。
  12. 对于选择目标,选择选择。然后,在服务选项卡上,选择 IoT 云,然后选择下一步

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

    
                            “Topic filter (主题筛选条件)”下突出显示了“hello/world”的屏幕截图。
  14. 选择 Finish

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

    1. 在组配置页面上,选择 Settings (设置)

    2. 对于 Local logs configuration (本地日志配置),选择 Edit (编辑)

    3. Configure Group logging (配置组日志记录) 页面上,选择 Add another log type (添加其他日志类型)。

    4. 对于事件源,选择 User Lambdas (用户 Lambdas)Greengrass system (Greengrass 系统),然后选择 Update (更新)

    5. 保留日志记录级别和磁盘空间限制的默认值,然后选择 Save (保存)

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

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

    注意

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

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

    1. 在组设置页面上的流管理器下,选择编辑

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