AWS Greengrass:在 IoT 设备上运行 Lambda 函数

阅读数:893 2017 年 6 月 14 日

话题:AWSDevOps

Amazon 提供了一个可以让开发者在 IoT 设备上运行 Lambda 函数的解决方案——AWS Greengrass,它让设备可以与云以及其他设备进行通信。

AWS IoTAWS Lambda的基础上,AWS Greengrass可以让 IoT 设备执行本地运算,并与 AWS 云以及其他设备进行通信。Greengrass 主要有以下特点:

  • 本地执行的 Lambda 函数
  • 在本地保存状态,并与云同步
  • 各种 IoT 设备间的本地消息传递
  • 与云的安全通信
  • 可访问各种 AWS 服务

AWS Greengrass 主要提供了以下三个 SDK。

  • Core SDK——包含调用 Lambda 函数、与云通信、向本地网络发布信息和保存状态影子的 API。
  • AWS IoT Device SDK——连接设备与 AWS IoT。它支持 TLS、WebSockets 和 MQTT。支持的语言有:C++、Java、Node.js 和 Python。
  • AWS SDK for Python——用来编写与各种 AWS 服务进行交互的 Lambda 函数。

Greengrass Core SDK 需要一个 Linux x86 或 ARM 架构的设备,要求 1GHz 以上、至少 128M 内存。这些支持 OTA 更新的设备将作为网络中所有设备的通信枢纽。网络中的一大部分由传感器、驱动器、智能家电、可穿戴设备构成,这些设备中含有各种安装了 AWS IoT Device SDK 的微控制器。而同时安装了 Core SDK 和 IoT Device SDK 的设备则形成一个名为 Greengrass Group 的集合,它们将被组织在一起进行交互通信。

通过本地运行 Lambda 函数、实时地作出决定并在必要时执行指令,AWS Greengrass 让开发者可以将一些云上的运算迁移到 IoT 设备上。这样的设备可以暂时离线运行,并在连接时同步数据,将一些数据发送到云端进行后续的处理和留存。其实,Greengrass 并不是想通过 IoT 网络来扩展 AWS 云的运算能力。

在美国的东部和西部区域已经可以使用 AWS Greengrass 了。

查看英文原文AWS Greengrass Runs Lambda Functions on IoT Devices


感谢薛命灯对本文的审校。

给 InfoQ 中文站投稿或者参与内容翻译工作,请邮件至editors@cn.infoq.com。也欢迎大家通过新浪微博(@InfoQ@丁晓昀),微信(微信号:InfoQChina)关注我们。