選取您的 Cookie 偏好設定

我們使用提供自身網站和服務所需的基本 Cookie 和類似工具。我們使用效能 Cookie 收集匿名統計資料,以便了解客戶如何使用我們的網站並進行改進。基本 Cookie 無法停用,但可以按一下「自訂」或「拒絕」以拒絕效能 Cookie。

如果您同意,AWS 與經核准的第三方也會使用 Cookie 提供實用的網站功能、記住您的偏好設定,並顯示相關內容,包括相關廣告。若要接受或拒絕所有非必要 Cookie,請按一下「接受」或「拒絕」。若要進行更詳細的選擇,請按一下「自訂」。

將 Lambda 函數匯入為元件 (主控台)

焦點模式
將 Lambda 函數匯入為元件 (主控台) - AWS IoT Greengrass

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

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

當您使用AWS IoT Greengrass 主控台建立 Lambda 函數元件時,您可以匯入現有的 AWS Lambda 函數,然後將其設定為建立在 Greengrass 裝置上執行的元件。

開始之前,請檢閱在 Greengrass 裝置上執行 Lambda 函數的需求

步驟 1:選擇要匯入的 Lambda 函數

  1. AWS IoT Greengrass 主控台導覽功能表中,選擇元件

  2. 元件頁面上,選擇建立元件

  3. 建立元件頁面的元件資訊下,選擇匯入 Lambda 函數

  4. Lambda 函數中,搜尋並選擇您要匯入的 Lambda 函數。

    AWS IoT Greengrass 會使用 Lambda 函數的名稱來建立元件。

  5. Lambda 函數版本中,選擇要匯入的版本。您無法選擇 Lambda 別名,例如 $LATEST

    AWS IoT Greengrass 會以 Lambda 函數的版本做為有效的語意版本來建立元件。例如,如果您的函數版本為 3,則元件版本會變成 3.0.0

步驟 2:設定 Lambda 函數參數

建立元件頁面的 Lambda 函數組態下,設定下列參數以用來執行 Lambda 函數。

  1. (選用) 新增 Lambda 函數訂閱工作訊息的事件來源清單。您可以指定事件來源,以將此函數訂閱本機發佈/訂閱訊息和 AWS IoT Core MQTT 訊息。當 Lambda 函數收到來自事件來源的訊息時,就會呼叫它。

    注意

    若要將此函數訂閱其他 Lambda 函數或元件的訊息,請在部署此 Lambda 函數元件時部署舊版訂閱路由器元件。部署舊版訂閱路由器元件時,請指定 Lambda 函數使用的訂閱。

    事件來源下,執行下列動作來新增事件來源:

    1. 針對您新增的每個事件來源,指定下列選項:

      • 主題 – 訂閱訊息的主題。

      • 類型 – 事件來源的類型。您可以從以下選項中選擇:

        • 本機發佈/訂閱 – 訂閱本機發佈/訂閱訊息。

          如果您使用 Greengrass nucleus 2.6.0 版或更新版本,以及 Lambda Manager 2.2.5 版或更新版本,則可以在指定此類型時使用主題中的 MQTT 主題萬用字元 (+#)。

        • AWS IoT Core MQTT – 訂閱 AWS IoT Core MQTT 訊息。

          當您指定此類型時,您可以在主題中使用 MQTT 主題萬用字元 (+#)。

    2. 若要新增另一個事件來源,請選擇新增事件來源並重複上一個步驟。若要移除事件來源,請選擇您要移除的事件來源旁的移除

  2. 針對逾時 (秒),輸入非固定 Lambda 函數在逾時之前可以執行的時間上限,以秒為單位。預設為 3 秒。

  3. 針對固定,選擇 Lambda 函數元件是否已固定。預設值為 True

    • 固定 (或長期) Lambda 函數會在 AWS IoT Greengrass 啟動時啟動,並在自己的容器中持續執行。

    • 非固定 (或隨需) Lambda 函數只會在接收工作項目時啟動,並在閒置達指定的最長閒置時間後結束。如果函數有多個工作項目,則 AWS IoT Greengrass Core 軟體會建立函數的多個執行個體。

  4. (選用) 在其他參數下,設定下列 Lambda 函數參數。

    • 狀態逾時 (秒) – Lambda 函數元件將狀態更新傳送到 Lambda 管理員元件的間隔,以秒為單位。此參數僅適用於固定函數。預設值為 60 秒。

    • 最大佇列大小 – Lambda 函數元件的訊息佇列大小上限。 AWS IoT Greengrass 核心軟體會將訊息存放在 FIFO (先進先出) 佇列中,直到可以執行 Lambda 函數來取用每個訊息為止。預設為 1,000 則訊息。

    • 執行個體數量上限 – 非固定 Lambda 函數可同時執行的執行個體數量上限。預設為 100 個執行個體。

    • 閒置時間上限 (秒) – 在 AWS IoT Greengrass 核心軟體停止其程序之前,非固定 Lambda 函數可以閒置的時間上限,以秒為單位。預設值為 60 秒。

    • 編碼類型 – Lambda 函數支援的承載類型。您可以從以下選項中選擇:

      • JSON

      • :二進位

      預設值為 JSON。

  5. (選用) 指定命令列引數清單,以在執行時傳遞至 Lambda 函數。

    1. 其他參數、處理程序引數下,選擇新增引數

    2. 針對您新增的每個引數,輸入您要傳遞至函數的引數。

    3. 若要移除引數,請選擇您要移除的引數旁的移除

  6. (選用) 指定 Lambda 函數在執行時可用的環境變數。環境變數可讓您儲存和更新組態設定,而不需要變更函數程式碼。

    1. 其他參數、環境變數下,選擇新增環境變數

    2. 針對您新增的每個環境變數,指定下列選項:

      • 索引鍵 – 變數名稱。

      • – 此變數的預設值。

    3. 若要移除環境變數,請選擇您要移除的環境變數旁的移除

步驟 3:(選用) 指定 Lambda 函數支援的平台

所有核心裝置都有作業系統和架構的屬性。部署 Lambda 函數元件時, AWS IoT Greengrass Core 軟體會將您指定的平台值與核心裝置上的平台屬性進行比較,以判斷該裝置是否支援 Lambda 函數。

注意

您也可以在將 Greengrass 核元件部署至核心裝置時指定自訂平台屬性。如需詳細資訊,請參閱 平台覆寫 Greengrass 核元件的參數Greengrass 核

Lambda 函數組態下,其他參數、平台會執行下列動作,以指定此 Lambda 函數支援的平台。

  1. 針對每個平台,指定下列選項:

    • 作業系統 – 平台的作業系統名稱。目前,僅支援的值為 linux

    • 架構 – 平台的處理器架構。支援的值如下:

      • amd64

      • arm

      • aarch64

      • x86

  2. 若要新增另一個平台,請選擇新增平台並重複上一個步驟。若要移除支援的平台,請選擇您要移除的平台旁的移除

步驟 4:(選用) 指定 Lambda 函數的元件相依性

元件相依性會識別函數使用的其他 AWS提供的元件或自訂元件。當您部署 Lambda 函數元件時,部署會包含這些相依性,以便您的函數執行。

重要

若要匯入您建立以在 AWS IoT Greengrass V1 上執行的 Lambda 函數,您必須為函數使用的功能定義個別元件相依性,例如秘密、本機影子和串流管理員。將這些元件定義為硬相依性,以便在相依性變更狀態時重新啟動 Lambda 函數元件。如需詳細資訊,請參閱匯入 V1 Lambda 函數

Lambda 函數組態、其他參數、元件相依性下,完成下列步驟,以指定 Lambda 函數的元件相依性。

  1. 選擇新增相依性

  2. 針對您新增的每個元件相依性,指定下列選項:

    • 元件名稱 – 元件名稱。例如,輸入 aws.greengrass.StreamManager以包含串流管理員元件

    • 版本需求 – 識別此元件相依性的相容版本的 npm 樣式語意版本限制。您可以指定單一版本或一系列版本。例如,輸入 ^1.0.0 指定此 Lambda 函數取決於串流管理員元件第一個主要版本中的任何版本。如需語意版本限制的詳細資訊,請參閱 npm 轉換器計算器

    • 類型 – 相依性類型。您可以從以下選項中選擇:

      • – 如果相依性變更狀態,Lambda 函數元件會重新啟動。這是預設選擇。

      • Soft – 如果相依性變更狀態,Lambda 函數元件不會重新啟動。

  3. 若要移除元件相依性,請選擇元件相依性旁的移除

步驟 5:(選用) 在容器中執行 Lambda 函數

根據預設,Lambda 函數會在 AWS IoT Greengrass Core 軟體內的隔離執行期環境中執行。您也可以選擇執行 Lambda 函數作為程序,而不需隔離 (即無容器模式)。

Linux 程序組態下,對於隔離模式,從下列選項中選擇 Lambda 函數的容器化:

  • Greengrass 容器 – Lambda 函數會在容器中執行。這是預設選擇。

  • 無容器 – Lambda 函數會以程序執行,而沒有任何隔離。

如果您在容器中執行 Lambda 函數,請完成下列步驟來設定 Lambda 函數的程序組態。

  1. 設定記憶體和系統資源的數量,例如磁碟區和裝置,以提供給容器。

    容器參數下,執行下列動作。

    1. 針對記憶體大小,輸入您要配置到容器的記憶體大小。您可以指定記憶體大小,以 MBkB 為單位。

    2. 對於唯讀 sys 資料夾,選擇容器是否可以從裝置的/sys資料夾讀取資訊。預設值為 False

  2. (選用) 設定容器化 Lambda 函數可存取的本機磁碟區。當您定義磁碟區時, AWS IoT Greengrass Core 軟體會將來源檔案掛載到容器內的目的地。

    1. 磁碟區下,選擇新增磁碟區

    2. 針對您新增的每個磁碟區,指定下列選項:

      • 實體磁碟區 – 核心裝置上的來源資料夾路徑。

      • 邏輯磁碟區 – 容器中目的地資料夾的路徑。

      • 許可 – (選用) 從容器存取來源資料夾的許可。您可以從以下選項中選擇:

        • 唯讀 – Lambda 函數具有來源資料夾的唯讀存取權。這是預設選擇。

        • 讀寫 – Lambda 函數具有來源資料夾的讀寫存取權。

      • 新增群組擁有者 – (選用) 是否要將執行 Lambda 函數元件的系統群組新增為來源資料夾的擁有者。預設值為 False

    3. 若要移除磁碟區,請選擇您要移除的磁碟區旁的移除

  3. (選用) 設定容器化 Lambda 函數可存取的本機系統裝置。

    1. 裝置下,選擇新增裝置

    2. 針對您新增的每個裝置,指定下列選項:

      • 掛載路徑 – 核心裝置上的系統裝置的路徑。

      • 許可 – (選用) 從容器存取系統裝置的許可。您可以從以下選項中選擇:

        • 唯讀 – Lambda 函數具有系統裝置的唯讀存取權。這是預設選擇。

        • 讀寫 – Lambda 函數具有來源資料夾的讀寫存取權。

      • 新增群組擁有者 – (選用) 是否要將執行 Lambda 函數元件的系統群組新增為系統裝置的擁有者。預設值為 False

步驟 6:建立 Lambda 函數元件

設定 Lambda 函數元件的設定後,請選擇建立以完成建立新元件。

若要在核心裝置上執行 Lambda 函數,您可以將新元件部署至核心裝置。如需詳細資訊,請參閱將 AWS IoT Greengrass 元件部署至裝置

隱私權網站條款Cookie 偏好設定
© 2025, Amazon Web Services, Inc.或其附屬公司。保留所有權利。