

支援終止通知：2026 年 10 月 7 日 AWS 將停止 的支援 AWS IoT Greengrass Version 1。2026 年 10 月 7 日之後，您將無法再存取 AWS IoT Greengrass V1 資源。如需詳細資訊，請造訪[從 遷移 AWS IoT Greengrass Version 1](https://docs.aws.amazon.com/greengrass/v2/developerguide/migrate-from-v1.html)。

本文為英文版的機器翻譯版本，如內容有任何歧義或不一致之處，概以英文版為準。

# 設定 的 Lambda 函數 AWS IoT Greengrass
<a name="config-lambda"></a>

您現在已準備好設定 Lambda 函數 AWS IoT Greengrass。

在此步驟中，您：
+ 使用 AWS IoT 主控台將 Lambda 函數新增至 Greengrass 群組。
+ 設定 Lambda 函數的群組特定設定。
+ 將訂閱新增至允許 Lambda 函數發佈 MQTT 訊息的群組 AWS IoT。
+ 設定群組的本機日誌設定。

 

1. <a name="console-gg-groups"></a>在 AWS IoT 主控台導覽窗格的**管理**下，展開 **Greengrass 裝置**，然後選擇**群組 (V1)**。

1. 在 **Greengrass 群組**下，選擇您在[單元 2 ](module2.md)中建立的群組。

1. 在群組組態頁面上，選擇 **Lambda 函數**索引標籤，然後向下捲動至**我的 Lambda 函數**區段，然後選擇**新增 Lambda 函數**。

1. 選取您在上一個步驟中建立的 Lambda 函數名稱 (**Greengrass\$1HelloWorld**，而非別名名稱）。

1. 針對版本，選擇**別名：GG\$1HelloWorld**。

1. 在 **Lambda 函數組態**區段中，進行下列變更：
   + 將**系統使用者和群組**設定為**使用群組預設值**。
   + 將 **Lambda 函數容器化**設定為**使用群組預設值**。
   + 將 **Timeout (逾時)** 設為 25 秒。此 Lambda 函數會在每次調用前休眠 5 秒。
   + 針對**固定**，選擇 **True**。

    
**注意**  
<a name="long-lived-lambda"></a>*長期 *（或*固定*) Lambda 函數會在啟動後自動 AWS IoT Greengrass 啟動，並在自己的容器中繼續執行。這與*隨需* Lambda 函數相反，該函數會在叫用時啟動，並在沒有任務剩餘執行時停止。如需詳細資訊，請參閱[Greengrass Lambda 函數的生命週期組態](lambda-functions.md#lambda-lifecycle)。

1. 選擇**新增 Lambda 函數**以儲存變更。如需 Lambda 函數屬性的詳細資訊，請參閱 [使用群組特定的組態控制 Greengrass Lambda 函數的執行](lambda-group-config.md)。

   接著，建立允許 Lambda 函數傳送 [MQTT](http://mqtt.org/) 訊息的訂閱 AWS IoT Core。

   Greengrass Lambda 函數可以與下列項目交換 MQTT 訊息：
   + Greengrass 群組中的[裝置](what-is-gg.md#greengrass-devices)。
   + 該群組中的[連接器](connectors.md)。
   + 群組中的其他 Lambda 函數。
   + AWS IoT Core.
   + 本機陰影服務。如需詳細資訊，請參閱[第五單元：與裝置陰影互動](module5.md)。

   群組使用訂閱控制這些實體互相通訊的方式。訂閱會提供可預測的互動以及多一層安全性。

   訂閱包含來源、目標和主題。來源是訊息的起源。目標是訊息的目的地。主題可讓您篩選從來源傳送到目標的資料。來源或目標可以是 Greengrass 裝置、Lambda 函數、連接器、裝置影子或 AWS IoT Core。
**注意**  
訂閱是指訊息以特定方向流動：從來源至目標。若要允許雙向通訊，您必須設定兩個訂閱。
**注意**  
 目前，訂閱主題篩選條件不允許在主題中使用多個`+`字元。主題篩選條件僅允許在主題結尾使用單一`#`字元。

   `Greengrass_HelloWorld` Lambda 函數只會傳送訊息至 中的`hello/world`主題 AWS IoT Core，因此您只需要從 Lambda 函數建立一個訂閱 AWS IoT Core。您將在下一個步驟中建立此項目。

1. 在群組組態頁面上，選擇**訂閱**索引標籤，然後選擇**新增訂閱**。

   如需示範如何使用 建立訂閱的範例 AWS CLI，請參閱《 *AWS CLI 命令參考*》中的 [create-subscription-definition](https://awscli.amazonaws.com/v2/documentation/api/latest/reference/greengrass/create-subscription-definition.html)。

1. 在**來源類型**中，選擇 **Lambda 函數**，然後在**來源**中選擇 **Greengrass\$1HelloWorld**。

1. 針對**目標類型**，選擇**服務**，並針對**目標**選取 **IoT 雲端**。

1. 針對**主題篩選條件**，輸入 **hello/world**，然後選擇**建立訂閱**。

1. 設定群組的記錄設定。在本教學課程中，您會設定 AWS IoT Greengrass 系統元件和使用者定義的 Lambda 函數，將日誌寫入核心裝置的檔案系統。

   1. 在群組組態頁面上，選擇**日誌**索引標籤。

   1. 在**本機日誌組態**區段中，選擇**編輯**。

   1. 在**編輯本機日誌組態**對話方塊中，保留日誌層級和儲存體大小的預設值，然後選擇**儲存**。

   您可以使用日誌來針對您在執行本教學時遇到的任何問題進行故障診斷。問題故障診斷時，您可以暫時將記錄層級變更為 **Debug (偵錯)**。如需詳細資訊，請參閱[存取檔案系統日誌](greengrass-logs-overview.md#gg-logs-local)。

1. <a name="disable-stream-manager-no-java"></a>如果您的核心裝置上未安裝 Java 8 執行時間，您必須進行安裝或停用串流管理員。
**注意**  
本教學課程不會使用串流管理員，但是會使用預設啟用串流管理員的 **Default Group creation (預設群組建立)** 工作流程。如果啟用串流管理員，但未安裝 Java 8，則群組部署會失敗。如需詳細資訊，請參閱[串流管理員需求](stream-manager.md#stream-manager-requirements)。

   若要停用串流管理員：

   1. 在群組設定頁面上，選擇 **Lambda 函數**索引標籤。

   1. 在 **System Lambda 函數**區段下，選取**串流管理員**，然後選擇**編輯**。

   1. 選擇 **Disable (停用)**，然後選擇 **Save (儲存)**。