本文属于机器翻译版本。若本译文内容与英语原文存在差异,则一律以英文原文为准。
将 Amazon Lambda 与 Amazon Snowball Edge 配合使用
Amazon Lambda由Amazon IoT Greengrass是一项计算服务,允许您在 Snowball Edge 设备上本地运行无服务器代码(Lambda 函数)。您可以使用 Lambda 通过消息队列遥测传输 (MQTT) 消息在 Snowball Edge 设备上调用 Lambda 函数,在 Lambda 函数中运行 Python 代码,然后使用它们调用公共Amazon云中的服务端点。要在 Snowball Edge 设备上使用 Lambda 函数,您必须在中创建 Snowball Edge 任务Amazon Web Services 区域由Amazon IoT Greengrass。获取有效清单Amazon Web Services 区域,请参阅Amazon IoT Greengrass在Amazon Web Services 一般参考。Snowball Edge 上的 Lambda 在提供 Lambda 和 Snowball Edge 设备的地区可用。
注意
如果您为每个函数分配最少 128 MB 的内存,则单个任务中最多可以有七个 Lambda 函数。
在您开始之前
在使用 Python 语言创建要在 Snowball Edge 上运行的 Lambda 函数之前,我们建议您熟悉以下服务、概念和相关主题。
Amazon IoT Greengrass 的先决条件
Amazon IoT Greengrass是可扩展的软件Amazon Web Services 云本地设备的功能。Amazon IoT Greengrass使本地设备能够在距离信息源更近的地方收集和分析数据,同时还可以在本地网络上安全地相互通信。更具体地说,是使用的开发者Amazon IoT Greengrass可以在中编写无服务器代码(Lambda 函数)Amazon Web Services 云。然后,他们就可以很方便地将此代码部署到设备以便本地执行应用程序。
以下Amazon IoT Greengrass使用时理解概念很重要Amazon IoT Greengrass带有 Snowball Edge:
-
Amazon IoT Greengrass要求— 查看完整清单Amazon IoT Greengrass要求,请参阅要求在Amazon IoT Greengrass Version 2开发者指南。
-
Amazon IoT Greengrass核心— 下载Amazon IoT Greengrass核心软件并将其安装在设备上运行的 EC2 实例上。请参阅使用Amazon IoT Greengrass在亚马逊 EC2 实例上在本指南中。
要在 Snowball Edge 设备上使用 Lambda 函数,必须先安装Amazon IoT Greengrass设备上的 Amazon EC2 实例上的核心软件。您计划在 Snowball Edge 设备上使用的 Lambda 函数必须由用于安装的账户创建Amazon IoT Greengrass在 Snowball Edge 设备上。有关安装的信息Amazon IoT Greengrass在 Snowball Edge 设备上,请参阅使用Amazon IoT Greengrass在兼容 Amazon EC2 的实例上运行预安装的软件。
-
Amazon IoT Greengrass组— Snowball Edge 设备是其中的一部分Amazon IoT Greengrass组作为该组的核心设备。有关群组的更多信息,请参阅AmazonGreengrass 物联网小组在Amazon IoT Greengrass开发者指南。
-
MQTT—Amazon IoT Greengrass使用行业标准的轻量级 MQTT 协议在群组内进行通信。您中与 MQTT 兼容的任何设备或软件Amazon IoT Greengrass群组可以调用 MQTT 消息。如果您定义了相关的 MQTT 消息,则这些消息可以调用 Lambda 函数。
Amazon Lambda 的先决条件
Amazon Lambda 是一项计算服务,可使您无需预配置或管理服务器即可运行代码。在将 Lambda 与 Snowball Edge 配合使用时,需要理解以下 Lambda 概念:
-
Lambda 函数— 您的自定义代码,已上传并发布到 Lambda,并在 Snowball Edge 上使用。有关更多信息,请参阅Lambda 函数在Amazon Lambda开发者指南。
-
Lambda 控制台— 控制台,你可以在其中上传、更新和发布你的 Python 语言 Lambda 函数以在 Snowball Edge 上使用。有关更多信息Lambda 控制台
,请参阅Lambda 控制台在Amazon Lambda开发者指南。 -
巨蛇— 用于 Lambda 函数的高级编程语言由Amazon IoT Greengrass在 Snowball Edge 上。Amazon IoT Greengrass支持 Python 版本 3.8.x。
将 Lambda 函数部署到 Snowball Edge 设备
在 Snowball Edge 设备上运行 Lambda 函数Amazon IoT Greengrassgroup,将函数作为组件导入。有关使用组件导入函数的完整信息Amazon IoT Greengrass控制台,请参阅将 Lambda 函数作为组件导入(控制台)在Amazon IoT Greengrass Version 2开发者指南。
在Amazon物联网控制台,在Greengrass 组件页面,选择创建组件。
在组件来源,选择导入 Lambda 函数。在Lambda 函数,选择函数的名称。在Lambda 函数版本,选择函数的版本。
要订阅该函数可以对其执行操作的消息,请选择添加事件源然后选择活动。在超时(秒),以秒为单位提供超时时间。
在已固定,选择是否固定您的函数。
选择创建组件
选择 Deploy(部署)。
在部署,选择添加到现有部署,然后选择你的 Greengrass 小组。选择下一步。
在公共组件,请选择以下组件:
aws.greengrass.cli
aws.greengrass。LambdaLauncher
aws.greengrass。LambdaManager
aws.greengrass。LambdaRuntimes
aws.greengrass.Nucleus
选择 Deploy(部署)。