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

创建并配置 Lambda 函数

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

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

  2. 从 GitHub 上的 AWS IoT Greengrass 样本存储库中,将 carAggregator.py 函数下载到 car_aggregator 文件夹中。这是您的 Lambda 函数代码。

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

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

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

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

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

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

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

    选择创建函数

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

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

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

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

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

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

    3. 选择 Save

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

  8. 在 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 (别名: GG_CarAggregator),然后选择完成

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

    注意

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

  9. 编辑 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 配置页。