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

  • 时间: 2017-06-15 03:33:20

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)关注我们。