準備 IoT Edge 模組技術資產
本文說明在 Azure Marketplace 中發布之前,您的物聯網 (IoT) Edge 模組技術資產必須符合的需求。
開始使用
IoT Edge 模組是 Docker 相容的容器,可在 IoT Edge 裝置上執行。
- 若要深入瞭解 IoT Edge 模組,請參閱 瞭解 Azure IoT Edge 模組。
- 若要開始使用IoT Edge模組開發,請參閱 開發您自己的IoT Edge模組。
技術需求
您的 IoT Edge 模組必須符合下列技術需求,才能在 Azure Marketplace 中認證和發佈。
平台支援
IoT Edge 模組必須支援下列其中一個平台選項:
IoT Edge 支援的第 1 層平臺
您的模組必須支援IoT Edge支援的所有第1層平臺(如 Azure IoT Edge 支援中所記錄)。 我們建議使用此選項,因為它可提供更佳的客戶體驗。 將會展示符合此準則的模組。 使用此平臺選項的模組必須:
提供以 GitHub Manifest-tool 建置的指令清單標記的最新標籤和版本標籤(例如 1.0.1)。
使用合作夥伴中心的供應專案清單索引標籤,在 Azure IoT Edge 認證裝置目錄的 [實用連結] 區段下新增連結。
IoT Edge 支援的第 1 層平臺子集
您的模組必須支援IoT Edge支援的第1層平臺子集(至少一個),如 Azure IoT Edge 支援中所記錄。 使用此平臺選項的模組必須:
- 提供最新標記和版本標籤(例如 1.0.1),如果支援多個平臺,則為使用 GitHub 指令清單工具 建置的指令清單卷標。 只有在支援一個平臺時,指令清單標籤才為選擇性。
- 使用合作夥伴中心中的供應專案清單索引標籤,從 Azure IoT Edge 認證裝置目錄將 [實用連結] 區段底下的連結新增至至少一個 IoT Edge 裝置。
裝置尺寸
目標 IoT Edge 裝置上的 IoT Edge 模組維度(例如 CPU、RAM、記憶體和 GPU)必須符合下列需求:
模組必須至少 從 Azure IoT Edge 認證裝置目錄使用一個 IoT Edge 裝置。
最低硬體需求必須記載為供應專案描述的最後一段(在合作夥伴中心的供應專案清單索引標籤底下)。 或者,如果建議的硬體需求明顯不同,您也可以列出建議的硬體需求。 例如,在供應專案描述結尾新增下列區段:
複製此 HTML 文字,或使用編輯視窗中對應的 RTF 函式。
<p><u>Minimum hardware requirements:</u> Linux x64 and arm32 OS, 1GB of RAM, 500 Mb of storage</p>
組態
您的模組必須包含預設組態設定,才能盡可能直接地部署至IoT Edge裝置。 此資訊可以在合作夥伴中心方案的 [技術設定] 頁面中提供。 容器也可能包含IoT Edge模組 SDK,以啟用與邊緣中樞和 IoT 中樞的通訊。
預設的組態
IoT Edge 模組必須能夠從合作夥伴中心方案的技術設定頁面中提供的預設設定開始。 以下是可用的預設設定:
- 默認 路由
- 默認 模組對應項所需屬性
- 默認 環境變數
- 默認 容器建立選項
在預設值所需的參數沒有意義的情況下(例如,客戶的伺服器的IP位址),請將參數新增為預設值。 此值為大寫,並以括弧括住。 在這裡範例中,您會設定下列預設環境變數:
ServerIPAddress = <MY_SERVER_IP_ADDRESS>
組態檔
必須清楚記載 IoT Edge 模組的所有組態設定。 例如,您必須記錄如何使用其路由、對應項所需的屬性、環境變數、createOptions 等等。 您必須提供文件的連結,或使其成為供應專案或方案描述的一部分。 您可以在合作夥伴中心的 [供應項目清單] 和 [方案清單] 頁面中提供這項資訊。
標記和版本控制
客戶必須能夠輕鬆地部署模組,並自動從市集取得更新(在開發人員案例中)。 他們也必須能夠使用和凍結他們測試過的確切版本(在生產案例中)。
若要符合這些客戶的期望併發佈在市集中,IoT Edge 模組必須符合下列需求
- 包含指向所有支持平臺上最新版本的指令清單最新標記。
- 以 X.Y.Z 格式製作版本標記,其中 X、Y 和 Z 是整數。
- 包含「版本」標籤,例如1.0.1,指向所有支持平臺上的特定版本。
- 請勿更新 「version」 標籤,例如 1.0.1,因為它們不得變更。
注意
或者,版本控制可以包含「滾動版本」標籤,例如 2.0 和 1.0。 這支持平行維護多個主要版本。
遙測
使用 IoT 模組 SDK 的模組必須針對遙測目的,將唯一模組識別符設定為 PublisherId.OfferId.SkuId。 唯一標識符可協助 Azure Marketplace 識別正在執行的模組實例數目。
使用 IoT 模組 SDK 的下列其中一種方法,將 ProductInfo 設定為此識別碼:
對於不使用IoT模組 SDK 的模組,透過合作夥伴中心提供較不精確的深入解析,例如下載次數。
安全性
IoT Edge 模組必須避免 特殊許可權模組。 相反地,請盡可能要求至少具有特殊許可權的主機存取權。
模組 IoT SDK
包含IoT模組 SDK 不是認證的必要條件。 不過,包括IoT模組 SDK 可能會提供更好的用戶體驗。 例如,支援路由或將訊息傳送至雲端。
需要IoT模組 SDK才能取得有關執行中模組實例數目的遙測數據。
重新認證程式
每當有重大變更會影響其模組時,合作夥伴都會收到通知,例如:
- IoT Edge 支援的第 1 層 OS/arch 支援矩陣
- IoT 模組 SDK
- IoT Edge 執行階段
- IoT Edge 模組認證指導方針
合作夥伴必須在合作夥伴中心更新並重新認證其供應專案。
如果您更新供應專案,也會重新認證您的供應專案,例如新增映像標籤。
Azure Container Registry 中的主機模組
若要將IoT Edge模組上傳至 Azure Marketplace,您必須先將它裝載在 Azure Container Registry (ACR) 中。 模組必須包含您想要發佈的所有標籤,包括指令清單標籤所參考的映像標籤。 如需詳細資訊,請參閱建立 Azure 容器登錄並推送容器映像教學課程。