本文為英文版的機器翻譯版本,如內容有任何歧義或不一致之處,概以英文版為準。
AWS Lambda 搭配 AWS Snowball Edge 使用
AWS Lambda 由 提供支援 AWS IoT Greengrass 的運算服務,可讓您在 Snowball Edge 裝置上本機執行無伺服器程式碼 (Lambda 函數)。您可以使用 Lambda 在 Snowball Edge 裝置上使用訊息佇列遙測傳輸 (MQTT) 訊息叫用 Lambda 函數,在 Lambda 函數中執行 Python 程式碼,並使用它們呼叫雲端中的公有 AWS 服務端點。若要搭配 Snowball Edge 裝置使用 Lambda 函數,您必須在 AWS 區域 支援的 中建立 Snowball Edge 任務 AWS IoT Greengrass。如需有效 的清單 AWS 區域,請參閱 AWS IoT Greengrass中的 AWS 一般參考。Snowball Edge 上的 Lambda 適用於 Lambda 和 Snowball Edge 裝置可用的區域。
注意
如果您為每個函數配置最低 128 MB 的記憶體建議,則單一任務中最多可以有七個 Lambda 函數。
在 Snow Family 裝置上開始使用 Lambda
在建立 Python 語言的 Lambda 函數以在 Snowball Edge 上執行之前,建議您先熟悉下列服務、概念和相關主題。
Snow Family AWS IoT Greengrass 裝置上的 先決條件
AWS IoT Greengrass 是將 AWS 雲端 功能擴展至本機裝置的軟體。 AWS IoT Greengrass 可讓本機裝置收集和分析更接近資訊來源的資料,同時在本機網路上彼此安全地通訊。更具體地說,使用 的開發人員 AWS IoT Greengrass 可以在 中撰寫無伺服器程式碼 (Lambda 函數) AWS 雲端。然後,他們可以輕鬆地將這個程式碼部署至裝置,進行應用程式的本機執行。
AWS IoT Greengrass 搭配 Snowball Edge 使用 時,請務必了解下列 AWS IoT Greengrass 概念:
-
AWS IoT Greengrass 需求 – 如需 AWS IoT Greengrass 需求的完整清單,請參閱 AWS IoT Greengrass Version 2 開發人員指南 中的需求。
-
AWS IoT Greengrass 核心 – 下載 AWS IoT Greengrass 核心軟體,並將其安裝在裝置上執行的EC2執行個體上。請參閱本指南中的在 Amazon EC2執行個體 AWS IoT Greengrass 上使用 。
若要在 Snowball Edge 裝置上使用 Lambda 函數,您必須先在裝置上的 Amazon EC2執行個體上安裝 AWS IoT Greengrass Core 軟體。您計劃在 Snowball Edge 裝置上使用的 Lambda 函數必須由您要用於在 Snowball Edge AWS IoT Greengrass 裝置上安裝的相同帳戶建立。如需有關 AWS IoT Greengrass 在 Snowball Edge 裝置上安裝 的資訊,請參閱 使用 AWS IoT Greengrass 在 Snow 系列裝置上執行與 Amazon EC2 相容的執行個體上預先安裝的軟體。
-
AWS IoT Greengrass 群組 – Snowball Edge 裝置是 AWS IoT Greengrass 群組核心裝置的一部分。如需群組的詳細資訊,請參閱 開發人員指南 中的 AWS Greengrass IoT 群組。 AWS IoT Greengrass
-
MQTT – AWS IoT Greengrass 使用業界標準輕量型MQTT通訊協定,在群組內進行通訊。 AWS IoT Greengrass 群組MQTT中與 相容的任何裝置或軟體都可以叫用MQTT訊息。如果您定義相關訊息,這些MQTT訊息可以叫用 Lambda 函數。
Snow Family AWS Lambda 裝置上的 先決條件
AWS Lambda 是一項運算服務,可讓您執行程式碼,而無需佈建或管理伺服器。將 Lambda 與 Snowball Edge 搭配使用時,請務必了解下列 Lambda 概念:
-
Lambda 函數 – 您的自訂程式碼,上傳並發佈至 Lambda,並用於 Snowball Edge。如需詳細資訊,請參閱 AWS Lambda 開發人員指南 中的 Lambda 函數。
-
Lambda 主控台 – 您在其中上傳、更新和發佈 Python 語言 Lambda 函數以在 Snowball Edge 上使用的主控台。如需 Lambda 主控台
的詳細資訊,請參閱 AWS Lambda 開發人員指南 中的 Lambda 主控台。 -
Python – 在 Snowball Edge AWS IoT Greengrass 上由 提供技術支援的 Lambda 函數所使用的高階程式設計語言。 AWS IoT Greengrass 支援 Python 3.8.x 版。
將 Lambda 函數部署至 Snowball Edge 裝置
若要在 AWS IoT Greengrass 群組中的 Snowball Edge 裝置上執行 Lambda 函數,請將函數匯入為元件。如需使用 AWS IoT Greengrass 主控台將函數匯入為元件的完整資訊,請參閱 AWS IoT Greengrass Version 2 開發人員指南中的將 Lambda 函數匯入為元件 (主控台)。
在 AWS IoT 主控台的 Greengrass 元件頁面上,選擇建立元件 。
在元件來源 中,選擇匯入 Lambda 函數 。在 Lambda 函數 中,選擇函數的名稱。在 Lambda 函數版本 中,選擇函數的版本。
若要將函數訂閱到可以執行動作的訊息,請選擇新增事件來源,然後選擇事件。在逾時 (秒) 中,以秒為單位提供逾時期間。
在已釘選的 中,選擇是否要釘選函數。
選擇建立元件
選擇部署。
在部署 中,選擇新增至現有部署 ,然後選擇您的 Greengrass 群組。選擇 Next (下一步)。
在公有元件 中,選擇下列元件:
aws.greengrass.Cli
aws.greengrass。LambdaLauncher
aws.greengrass。LambdaManager
aws.greengrass。LambdaRuntimes
aws.greengrass.Nucleus
選擇部署。