Amazon IoT Greengrass Version 12023 年 6 月 30 日进入延长寿命阶段。有关更多信息,请参阅Amazon IoT Greengrass V1维护政策。在此日期之后,Amazon IoT Greengrass V1不会发布提供功能、增强功能、错误修复或安全补丁的更新。在上运行的设备Amazon IoT Greengrass V1不会受到干扰,将继续运行并连接到云端。我们强烈建议你迁移到Amazon IoT Greengrass Version 2,它补充说重要的新功能和支持其他平台。
本文属于机器翻译版本。若本译文内容与英语原文存在差异,则一律以英文原文为准。
创建和打包 Lambda 函数
在此步骤中,您:
-
创建包含函数代码和依赖项的 Lambda 函数部署程序包。
-
使用 Lambda 控制台创建一个 Lambda 函数和上传部署程序包。
-
发布 Lambda 函数的版本,并创建指向该版本的别名。
-
在您的计算机上,转到Amazon IoT Greengrass您在中下载和提取的适用于 Python 的核心 SDK创建并打包 Lambda 函数在模块 3-1 中。
本模块中的 Lambda 函数使用:
-
examples\HelloWorldCounter
中的greengrassHelloWorldCounter.py
文件。这是您的 Lambda 函数代码。 -
greengrasssdk
文件夹。这是开发工具包。
-
-
创建一个 Lambda 函数部署软件包:
-
将
greengrasssdk
文件夹复制到包含greengrassHelloWorldCounter.py
的HelloWorldCounter
文件夹中。 -
将
greengrassHelloWorldCounter.py
和greengrasssdk
文件夹保存到名为hello_world_counter_python_lambda.zip
的zip
文件。py
文件和greengrasssdk
文件夹必须位于该目录的根目录中。在已安装
zip
的类 UNIX 系统(包括 Mac 终端)上,您可以使用以下命令打包文件和文件夹:zip -r hello_world_counter_python_lambda.zip greengrasssdk greengrassHelloWorldCounter.py
现在您已准备好创建您的 Lambda 函数和上传部署程序包。
-
-
打开 Lambda 控制台并选择创建函数.
-
选择 Author from scratch (从头创作)。
-
将您的函数命名为
Greengrass_HelloWorld_Counter
并设置其余字段,如下所示:-
对于 Runtime (运行时),选择 Python 3.7。
-
适用于Permissions (权限),请保留默认设置。这将创建一个授予基本 Lambda 权限的执行角色。此角色未由使用Amazon IoT Greengrass. 或者,您可以重复使用在模块 3-1 中创建的角色。
选择 Create function(创建函数)。
-
-
上传 Lambda 函数部署软件包。
-
在存储库的代码选项卡,位于代码来源,选择从以下项上传. 从下拉列表中,选择.zip 格式文件.
-
选择上传,然后选择您的
hello_world_counter_python_lambda.zip
部署程序包。然后,选择 Save (保存)。 -
在存储库的代码函数的选项卡,位于运行时设置,选择编辑,然后输入以下值。
-
对于 Runtime (运行时),选择 Python 3.7。
-
对于 Handler (处理程序),输入
greengrassHelloWorldCounter.function_handler
。
-
-
选择Save(保存)。
注意
这些区域有:测试按钮的Amazon Lambda控制台不使用此函数。这些区域有:Amazon IoT Greengrass核心开发工具包不包含在 Greengrass Lambda 中独立运行 Greengrass Lambda 函数所需的模块Amazon Lambda控制台。这些模块(例如,
greengrass_common
) 将在函数部署到你的 Greengrass 核心后提供给这些函数。
-
-
发布函数的第一个版本。
-
从操作菜单中,选择发布新版本. 对于版本描述,输入
First version
。 -
选择 Publish。
-
-
为函数版本创建别名。
-
从操作菜单中,选择创建别名.
-
对于 Name (名称),请输入
GG_HW_Counter
。 -
对于 Version (版本),选择 1。
-
选择Save(保存)。
别名可为您的Lambda函数创建一个单一实体,可供 Greengrass 设备订阅。这样,每次修改函数后,您就不必使用新的 Lambda 函数版本号更新订阅。
-