Amazon提供了一個可以讓開發(fā)者在IoT設備上運行Lambda函數(shù)的解決方案——AWS Greengrass,它讓設備可以與云以及其他設備進行通信。
在AWS IoT和AWS Lambda的基礎上,AWS Greengrass可以讓IoT設備執(zhí)行本地運算,并與AWS云以及其他設備進行通信。Greengrass主要有以下特點:
本地執(zhí)行的Lambda函數(shù)在本地保存狀態(tài),并與云同步各種IoT設備間的本地消息傳遞與云的安全通信可訪問各種AWS服務AWS Greengrass主要提供了以下三個SDK。
Core SDK——包含調(diào)用Lambda函數(shù)、與云通信、向本地網(wǎng)絡發(fā)布信息和保存狀態(tài)影子的API。AWS IoT Device SDK——連接設備與AWS IoT。它支持TLS、WebSockets和MQTT。支持的語言有:C++、Java、Node.js和Python。AWS SDK for Python——用來編寫與各種AWS服務進行交互的Lambda函數(shù)。Greengrass Core SDK需要一個Linux x86或ARM架構的設備,要求1GHz以上、至少128M內(nèi)存。這些支持OTA更新的設備將作為網(wǎng)絡中所有設備的通信樞紐。網(wǎng)絡中的一大部分由傳感器、驅動器、智能家電、可穿戴設備構成,這些設備中含有各種安裝了AWS IoT Device SDK的微控制器。而同時安裝了Core SDK和IoT Device SDK的設備則形成一個名為Greengrass Group的集合,它們將被組織在一起進行交互通信。
通過本地運行Lambda函數(shù)、實時地作出決定并在必要時執(zhí)行指令,AWS Greengrass讓開發(fā)者可以將一些云上的運算遷移到IoT設備上。這樣的設備可以暫時離線運行,并在連接時同步數(shù)據(jù),將一些數(shù)據(jù)發(fā)送到云端進行后續(xù)的處理和留存。其實,Greengrass并不是想通過IoT網(wǎng)絡來擴展AWS云的運算能力。
在美國的東部和西部區(qū)域已經(jīng)可以使用AWS Greengrass了。
查看英文原文:AWS Greengrass Runs Lambda Functions on IoT Devices