创建和配置 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 函数

在本步骤中,您将创建一个 Lambda 函数,该函数将跟踪通过交通信号灯的汽车的数量。每当那个GG_TrafficLight阴影状态更改为G,Lambda 函数模拟通过的随机数量的汽车(从 1 到 20)。每当灯第三次上的GLambda 函数都会将基本统计数据(如最小值和最大值)发送到 Da DynamoDB a 表。

  1. 在您的计算机上,创建一个名为 car_aggregator 的文件夹。

  2. TrafficLight 示例文件夹已开启 GitHub,下载carAggregator.py文件到car_aggregatorfolder。此即Lambda 函数代码。

    注意

    此示例 Python 文件存储在Amazon IoT Greengrass核心开发工具包,但它不使用Amazon IoT Greengrass核心开发工具包。

  3. 如果您不在美国东部(弗吉尼亚北部)区域工作,请打开carAggregator.py和改变region_name在以下行中Amazon Web Services 区域当前在Amazon IoT控制台。有关支持的列表Amazon Web Services 区域s,请参阅Amazon IoT Greengrass中的Amazon Web Services 一般参考.

    dynamodb = boto3.resource('dynamodb', region_name='us-east-1')
  4. 在中运行以下命令命令行窗口来安装Amazon SDK for Python (Boto3)包及其依赖项在car_aggregatorfolder。Greengrass Lambda 函数使用Amazon用于访问其他Amazon服务。(对于 Windows,请使用提升的命令提示符。)

    pip install boto3 -t path-to-car_aggregator-folder

    这会显示类似于下面的目录列表:

    
                            显示 carAggregator.py 的目录列表的屏幕截图。
  5. car_aggregator.zip 文件夹的内容压缩到一个名为 car_aggregator.zip 的文件中。(压缩文件夹的内容,而不是文件夹。) 此即Lambda 函数部署程序包。

  6. 在 Lambda 控制台中,创建一个名为的函数GG_Car_Aggregator,并设置其余字段,如下所示:

    • 对于 Runtime (运行时),选择 Python 3.7

    • 适用于Permissions (权限),请保留默认设置。这将创建一个授予基本 Lambda 权限的执行角色。不使用该角色Amazon IoT Greengrass.

    选择 Create function(创建函数)。

    
                            “Basic information (基本信息)”部分中,“Function name (函数名称)”设置为“GG_Car_Aggregator”,“Runtime (运行时)”设置为“Python 3.7”。
  7. 上传 Lambda 函数部署软件包:

    1. 在存储库的代码选项卡,位于代码源,选择从以下项上传. 从下拉列表中,选择.zip 格式文件.

      
                带有 .zip 文件的上传自下拉列表突出显示。
    2. 选择上传,然后选择car_aggregator.zip部署程序包。然后,选择 Save (保存)

    3. 在存储库的代码函数的选项卡,位于Runtime,选择编辑,然后输入以下值。

      • 对于 Runtime (运行时),选择 Python 3.7

      • 对于 Handler (处理程序),输入 carAggregator.function_handler

    4. 选择Save(保存)。

  8. 发布 Lambda 函数,然后创建一个名为的别名GG_CarAggregator. 适用于 step-by-step 说明,请参阅以下步骤发布 Lambda 函数创建别名模块 3 (第 1 部分)。

  9. 在Amazon IoT控制台中,将您刚刚创建的 Lambda 函数添加到Amazon IoT Greengrass组中):

    1. 在组配置页面上,选择Lambda 函数,然后在我的 Lambda 函数,选择Add.

    2. 适用于Lambda 函数,选择GG_Car_Aggregator.

    3. 适用于Lambda 函数版本中,选择您发布的版本的别名。

    4. 对于 Memory limit (内存限制),输入 64 MB

    5. 适用于Pinned,选择True.

    6. 选择添加 Lambda 函数.

    注意

    您可以删除先前模块中的其他 Lambda 函数。