测试按需 Lambda 函数测试 - 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 函数测试

网络 ACL 和安全组都允许 (因此可到达您的实例) 的发起 ping 的按需Lambda 函数在功能上与基于云的函数类似Amazon Lambdafunction. 按需 Lambda 函数的多次调用可以parallel 运行。Lambda 函数调用创建单独的容器以处理调用,或者在资源允许时重复使用现有的容器。在创建容器时,不会保留在函数处理程序外部定义的任何变量或预处理。

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

  2. UNDER我的 Lambda 函数,选择Greengrass_HelloWorld_CounterLambda 函数时。

  3. 在存储库的Greengrass_HelloWorld_Counter详细信息页面,选择编辑.

  4. 适用于Pinned,选择False,然后选择Save(保存).

  5. 在组配置页面上,选择部署.

  6. 在您的部署完成后,返回Amazon IoT控制台主页,然后选择测试.

  7. 配置以下字段:

    • 对于 Subscription topic (订阅主题),输入 hello/world/counter

    • 对于服务质量,选择 0

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

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

    注意

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

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

    1. 选择发布快速触发该按钮,每次都在五秒钟内按下按钮。

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

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

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

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

您现在应该了解了可在上运行的两种类型的 Lambda 函数时,应该了解了可在Amazon IoT Greengrass核心。下一个模块,模块 4,说明了本地 IoT 设备如何在中进行交互Amazon IoT Greengrass组中)。