终止支持通知:2026 年 10 月 7 日, Amazon 将停止对的支持。 Amazon IoT Greengrass Version 1 2026 年 10 月 7 日之后,您将无法再访问这些 Amazon IoT Greengrass V1 资源。如需了解更多信息,请访问迁移自 Amazon IoT Greengrass Version 1。
本文属于机器翻译版本。若本译文内容与英语原文存在差异,则一律以英文原文为准。
创建并配置 Lambda 函数
在本步骤中,您将创建一个 Lambda 函数,该函数将跟踪通过交通信号灯的汽车的数量。每当 GG_TrafficLight 影子状态更改为 G 时,Lambda 函数都将模拟通过的随机数量的汽车(从 1 到 20)。每当 G 灯第三次改变,Lambda 函数都会将基本统计数据(如最小值和最大值)发送到 DynamoDB 表。
-
在您的计算机上,创建一个名为
car_aggregator的文件夹。 -
从TrafficLight
示例文件夹中 GitHub,将 carAggregator.py文件下载到该文件car_aggregator夹。这是您的 Lambda 函数代码。注意
为方便起见,此示例 Python 文件存储在 Amazon IoT Greengrass 核心 SDK 存储库中,但它不使用 Amazon IoT Greengrass 核心 SDK。
-
如果您不在美国东部(弗吉尼亚北部)地区工作,请打开以下行
carAggregator.py并将其更改region_name为 Amazon IoT 主机中当前选择的区域。 Amazon Web Services 区域 有关支持的列表 Amazon Web Services 区域,请参阅Amazon IoT Greengrass中的Amazon Web Services 一般参考。dynamodb = boto3.resource('dynamodb', region_name='us-east-1') -
在命令行
窗口中运行以下命令,以将 适用于 Python (Boto3) 的 Amazon SDK 软件包及其依赖项安装到 car_aggregator文件夹中。Greengrass Lambda 函数使用软件开发工具包来访问其他服务。 Amazon Amazon (对于 Windows,请使用提升的命令提示符。) pip install boto3 -tpath-to-car_aggregator-folder这会显示类似于下面的目录列表:
-
将
car_aggregator.zip文件夹的内容压缩到一个名为car_aggregator.zip的文件中。(压缩文件夹的内容,而不是文件夹。) 此即 Lambda 函数部署程序包。 -
在 Lambda 控制台中,创建一个名为
GG_Car_Aggregator的函数,然后按下面所示设置其余字段:-
对于运行时系统,选择 Python 3.7。
-
对于权限,请保留默认设置。这将创建一个授予基本 Lambda 权限的执行角色。此角色未被使用 Amazon IoT Greengrass。
选择 Create function (创建函数)。
-
-
上传 Lambda 函数部署软件包:
-
在代码选项卡上的代码源下,选择上传自。从下拉列表中选择 .zip 文件。
-
选择上传,然后选择您的
car_aggregator.zip部署包。然后,选择保存。 -
在函数的代码选项卡中,在运行时设置下选择编辑,然后输入以下值。
-
对于运行时系统,选择 Python 3.7。
-
对于处理程序,输入
carAggregator.function_handler。
-
-
选择保存。
-
-
发布 Lambda 函数,然后创建一个名为
GG_CarAggregator的别名。有关 step-by-step说明,请参阅在模块 3(第 1 部分)中发布 Lambda 函数和创建别名的步骤。 -
在 Amazon IoT 控制台中,将您刚刚创建的 Lambda 函数添加到您的 Amazon IoT Greengrass 群组中:
-
在组配置页面上,选择 Lambda 函数,然后在我的 Lambda 函数下选择添加。
-
对于 Lambda 函数,请选择 gg_car_Aggregator。
-
对于 Lambda 函数版本,选择您发布的版本的别名。
-
对于内存限制,输入
64 MB。 -
对于已固定,选择 True。
-
选择添加 Lambda 函数。
注意
您可以删除先前模块中的其他 Lambda 函数。
-