分享方式:


瞭解 Azure IoT Edge 模組

適用於:IoT Edge 1.5 複選標記 IoT Edge 1.5 IoT Edge 1.4 複選標記 IoT Edge 1.4

重要

支援 IoT Edge 1.5 LTS 和 IoT Edge 1.4 LTS 版本。 IoT Edge 1.4 LTS 於 2024 年 11 月 12 日結束生命週期。 如果您是舊版,請參閱更新 IoT Edge

Azure IoT Edge 可讓您以模組形式在邊緣上部署和管理商業規則。 Azure IoT Edge 模組是 IoT Edge 管理的最小計算單位,可以包含 Azure 服務 (例如 Azure 串流分析) 或您自己的解決方案特定程式碼。 若要瞭解模組如何開發、部署和維護,請考慮模組的四個概念元素:

  • 模組映像是包含定義模組之軟體的套件。
  • 模組實例是在IoT Edge裝置上執行模組映像的特定計算單位。 模組執行個體是由 IoT Edge 執行階段啟動。
  • 模組身分識別是儲存在與每個模組實例相關聯之 IoT 中樞 中的資訊片段(包括安全性認證)。
  • 模組對應項是儲存在 IoT 中樞 中的 JSON 檔,其中包含模組實例的狀態資訊,包括元數據、組態和條件。

模組映像和執行個體

IoT Edge 模組映像包含應用程式,該應用程式會利用 IoT Edge 執行階段的管理、安全性和通訊功能。 您可以開發自己的模組映像,或從支援的 Azure 服務 (例如 Azure 串流分析) 匯出。 映像存在於雲端中,它們可以在不同的解決方案中更新、變更及部署。 例如,使用機器學習來預測生產線輸出的模組,相較於使用電腦版本以控制無人機的模組,會以個別映像存在。

每次模組映像部署至裝置並且由 IoT Edge 執行階段啟動時,就會建立該模組的新執行個體。 位於世界上不同地方的兩個裝置可以使用相同的模組映像。 不過,在裝置上啟動模組時,每個裝置都會有自己的模組執行個體。

圖表 - 雲端中的模組映像,裝置上的模組實例

在實作中,容器映像在存放庫中存在為容器映像,而容器執行個體是裝置上的容器。

模組身分識別

IoT Edge 運行時間建立新的模組實例時,它會取得對應的模組身分識別。 模組身分識別會儲存在 IoT 中樞 中,並做為該模組實例之所有本機和雲端通訊的尋址和安全性範圍。

與模組執行個體相關聯的身分識別取決於在其上執行執行個體的裝置身分識別,以及您提供給解決方案中該模組的名稱。 例如,如果您呼叫 insight 使用 Azure 串流分析的模組,並將它部署在名為 Hannover01的裝置上,IoT Edge 運行時間會建立稱為 /devices/Hannover01/modules/insight的對應模組身分識別。

很明顯地,在案例中當您需要在相同裝置上部署一個模組映像多次時,您可以使用不同名稱部署相同映像多次。

圖表 - 模組身分識別在裝置和裝置之間是唯一的

模組對應項

每個模組執行個體也有對應的模組對應項,您可以用來設定模組執行個體。 執行個體和對應項是透過模組身分識別彼此相互關聯。

模組對應項是 JSON 文件,它會儲存模組資訊和設定屬性。 此概念會平行處理來自 IoT 中樞的裝置對應項概念。 模組對應項的結構與裝置對應項相同。 用來與這兩種對應項互動的 API 也相同。 兩者之間唯一的差別是用來具現化用戶端 SDK 的身分識別。

// Create a ModuleClient object. This ModuleClient will act on behalf of a
// module since it is created with a module’s connection string instead
// of a device connection string.
ModuleClient client = new ModuleClient.CreateFromEnvironmentAsync(settings);
await client.OpenAsync();

// Get the module twin
Twin twin = await client.GetTwinAsync();

離線功能

Azure IoT Edge 模組與 IoT 中樞同步處理至少一次之後,便可以無限期地離線運作。 IoT Edge 裝置也可以將此離線功能延伸至其他 IoT 裝置。 如需詳細資訊,請參閱 瞭解IoT Edge裝置、模組和下游裝置的擴充離機功能。

下一步