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

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

创建并配置 Lambda 函数

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

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

  2. 上的 TrafficLight GitHub 示例文件夹中,将 carAggregator.py 文件下载到 car_aggregator 文件夹。这是您的 Lambda 函数代码。

    注意

    为方便起见,此 Python 示例文件存储在 AWS IoT Greengrass Core 开发工具包 存储库中,但它不使用 AWS IoT Greengrass Core 开发工具包。

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

    dynamodb = boto3.resource('dynamodb', region_name='us-east-1')
  4. command-line窗口中运行以下命令,以将 Boto3 - 适用于 Python 的 AWS 开发工具包软件包及其依赖项安装到 car_aggregator 文件夹中。Greengrass Lambda 函数使用 AWS 开发工具包来访问其他 AWS 服务。(对于 Windows,请使用提升的命令提示符。)

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

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

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

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

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

    • 对于权限,请保留默认设置。这将创建一个授予基本 Lambda 权限的执行角色。(此角色未由 AWS IoT Greengrass 使用。)

    选择 Create function (创建函数)

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

    1. 配置选项卡上的函数代码下,设置以下字段:

      • 对于 代码输入种类,选择上传 .zip 文件

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

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

    2. 选择上传,然后选择 car_aggregator.zip

    3. 选择 Save (保存)

      
                            “Handler (处理程序)”字段设置为 carAggregator.function_handler 的 GG_Car_Aggregator 的屏幕截图。
  8. 发布 Lambda 函数,然后创建一个名为 GG_CarAggregator 的别名。 有关分步说明,请参阅模块 3(第 1 部分)中的发布 Lambda 函数创建别名的步骤。

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

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

    2. 选择 Use existing Lambda

      
                                    突出显示了“Use existing Lambda (使用现有的 Lambda)”。
    3. 选择 GG_Car_Aggregator,然后选择下一步

      
                                    突出显示了“GG_Car_Aggregator”和“Next (下一步)”。
    4. 选择 Alias:。 GG_CarAggregator,然后选择 Finish (完成)

      
                                    别名: 突出显示了“GG_CarAggregator”和“Finish (完成)”。
    注意

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

  10. 编辑 Lambda 函数配置:

    1. 选择与 Lambda 函数关联的省略号 (),然后选择编辑配置

      
                            对 Lambda 函数突出显示的“Edit Configuration (编辑配置)”选项。
    2. 内存限制下,输入 64 MB

    3. Lambda 生命周期下,选择 Make this function long-lived and keep it running indefinitely (使此函数长时间生存,保持其无限期运行),然后选择更新

      
                            突出显示了“Make this function long-lived and keep it running indefinitely (使此函数长时间生存,保持其无限期运行)”的 GG_Car_Aggregator 配置页。