AWS IoT Greengrass
开发人员指南
AWS 文档中描述的 AWS 服务或功能可能因区域而异。要查看适用于中国区域的差异,请参阅中国的 AWS 服务入门

测试按需 Lambda 函数

按需 Lambda 函数在功能上与基于云的 AWS Lambda 函数类似。按需 Lambda 函数的多次调用可以并行运行。Lambda 函数调用创建单独的容器以处理调用,或者在资源允许时重复使用现有的容器。在创建容器时,不会保留在函数处理程序外部定义的任何变量或预处理。

  1. 在组配置页面上,选择 Lambdas

  2. 对于 Greengrass_HelloWorld_Counter Lambda 函数,选择 Edit Configuration (编辑配置)

    
                            突出显示了“Lambdas”和“Edit Configuration (编辑配置)”的屏幕截图。
  3. Lambda lifecycle (Lambda 生命周期) 下面,选择 On-demand function (按需函数),然后选择 Update (更新)

    
                            选中了“On-demand function (按需函数)”单选按钮的屏幕截图。
  4. 在组配置页面上,从 Actions (操作) 中选择 Deploy (部署)

    
                突出显示了“Deploy action”(部署操作) 的“Group”(组) 页面的屏幕截图。

    这会将组配置部署到您的 AWS IoT Greengrass Core 设备。有关问题排查帮助,请参阅AWS IoT Greengrass 问题排查

  5. 在您的部署完成后,返回到 AWS IoT 控制台主页并选择 Test (测试)

  6. 配置以下字段:

    • 对于订阅主题,输入 hello/world/counter

    • 对于服务质量,选择 0

    • 对于 MQTT payload display (MQTT 负载显示),选择 Display payloads as strings (以字符串形式显示负载)

     

    
                            “Subscriptions (订阅)”测试页面的屏幕截图。
  7. 选择订阅主题

    注意

    在您订阅之后,您不应看到任何消息。

  8. 要测试按需生命周期,请通过向 hello/world/counter/trigger 主题发布消息来调用该函数。您可以使用默认消息。

    1. 快速选择 Publish to topic (发布到主题) 三次,每次都在五秒钟内按下按钮。

      
                            显示必须快速单击三次的“Publish to topic (发布到主题)”按钮的屏幕截图。

      每次发布都会调用函数处理程序并为每次调用创建一个容器。在您三次触发该函数时,不会为触发递增调用计数,因为每个按需 Lambda 函数都有自己的容器/沙盒。

      
                            显示“Invocation Count (调用计数)”固定为 1 的屏幕截图。
    2. 等待大约 30 秒,然后选择 Publish to topic (发布到主题)。调用计数应递增到 2。这说明重复使用了从之前调用创建的容器,并且存储了函数处理程序外部的预处理变量。

      
                            显示“Invocation Count (调用计数)”现在为 2 的屏幕截图。

您现在应该了解了可在 AWS IoT Greengrass Core 上运行的两种类型的 Lambda 函数。下一模块(模块 4)将说明设备如何在 AWS IoT Greengrass 组中进行交互。