編輯現有的裝置範本

裝置範本包含一個模型,描述裝置如何與 IoT Central 互動。 此模型會定義裝置的功能,以及與 IoT Central 互動的方式。 裝置可以將遙測和屬性值傳送至 IoT Central,IoT Central 可以將屬性更新和命令傳送至裝置。 IoT Central 也會使用模型來定義與 IoT Central 功能的互動,例如作業、規則和匯出。

變更裝置範本中的模型可能會影響整個應用程式,包括任何已連線的裝置。 對規則、匯出、裝置群組或作業所使用的功能進行變更,可能會導致其出現未預期行為或完全無法運作。 例如,若您從範本移除遙測定義:

  • IoT Central 將無法再解譯該值。 IoT Central 會顯示無法解譯為裝置原始資料頁面上未模型化資料的裝置資料。
  • IoT Central 將不再包含任何資料匯出中的值。

為了協助您避免任何非預期的結果無法編輯裝置範本,本文包含根據您目前開發生命週期階段的建議。 一般而言,您稍早在開發生命週期中,您可以對裝置範本進行變更的容忍度就越高。

若要深入了解裝置範本以及如何建立範本,請參閱<什麼是裝置範本?>和<設定裝置範本>。

若要了解如何使用 IoT Central REST API 管理裝置範本,請參閱<如何使用 IoT Central REST API 來管理裝置範本>。

修改裝置範本

加法變更,例如將功能或介面新增至模型為不中斷變更。 您可以在開發生命週期的任何階段對模型進行加法變更。

中斷性變更包括移除模型的組件,或是變更功能名稱或結構描述類型。 這些變更可能會導致應用程式功能 (例如規則、匯出或儀表板) 顯示錯誤訊息並停止運作。

在早期裝置開發階段中,當您仍在設計及測試模型時,直接變更裝置模型有更大的容錯範圍。 將生產裝置連線至裝置範本之前,您可以直接編輯裝置範本。 當您發佈裝置範本時,IoT Central 會自動將這些變更套用至裝置。

將生產裝置連結至裝置範本之後,請先評估任何變更的影響,再編輯裝置範本。 您不應該對生產環境的裝置範本進行中斷性變更。 若要進行此類變更,請建立新版本的裝置範本。 測試新的裝置範本,然後在已排定的停機時間將生產裝置移轉至新的範本。

更新 IoT Edge 裝置範本

針對 IoT Edge 裝置,模型會依對應至裝置上執行的 IoT Edge 模組來分組功能。 部署資訊清單是個別的 JSON 文件,告知 IoT Edge 裝置要安裝哪些模組、如何設定模組,以及模組具有哪些屬性。 如果您已修改部署資訊清單,您可以更新裝置範本,以包含資訊清單中定義的模組和屬性:

  1. 瀏覽至裝置範本中的 [模組] 節點。
  2. 在 [模組摘要] 頁面上,選取 [從資訊清單匯入模組]。
  3. 選取適當的部署資訊清單,然後選取 [匯入]。

若要深入了解,請參閱<IoT Edge 裝置和 IoT Central>。

編輯並發佈動作

當您編輯裝置範本時,下列動作很實用:

  • [儲存]。 當您變更裝置範本的一部分時,儲存變更會建立您可以返回的草稿。 這些變更尚不會影響已連線的裝置。 在您發佈變更之前,從此範本建立的任何裝置均不會有已儲存的變更。
  • 發佈。 當您發佈裝置範本時,其會將任何已儲存變更套用至現有的裝置執行個體。 新建立的裝置執行個體一律使用最新的已發佈範本。
  • 建立範本版本。 當您設定裝置範本版本時,其會建立具有所有最新已儲存變更的新範本。 現有裝置執行個體不會因新版本的變更而有所影響。 若要深入了解,請參閱<建立裝置範本版本>。
  • 建立介面版本。 當您建立介面版本時,其會建立具有所有最新已儲存功能的新介面。 您可以在範本中的多個位置重複使用介面。 這就是為什麼對介面的一個參考做出變更會變更使用該介面之範本中的所有位置。 因為新版本現在為個別介面,所以當您建立介面版本時,此行為會變更。 若要深入了解,請參閱<建立介面版本>。
  • 移轉裝置。 當您移轉裝置時,裝置執行個體會從一個裝置範本交換至另一個裝置範本。 當 IoT Central 處理變更時,裝置移轉可能會花費一小段時間。 若要深入了解,請參閱<在不同版本中移轉裝置>。

版本號碼

裝置模型與介面都有版本號碼。 不同的版本號碼可讓模型或介面共用 @id 值,同時提供更新的歷程記錄。 只有在您選擇建立範本或介面的版本號碼,或刻意變更版本號碼時,版本號碼才會遞增。 對範本或介面進行重大變更時,應該變更版本號碼。

下列程式碼片段顯示控溫器裝置的裝置型號。 裝置型號具有單一介面。 您可以在欄位結尾 1 看到版本號碼 @id

{
  "@context": "dtmi:dtdl:context;2",
  "@id": "dtmi:com:example:Thermostat;1",
  "@type": "Interface",
  "displayName": "Thermostat",
  "description": "Reports current temperature and provides desired temperature control.",
  "contents": [
    // ...
  ]
}

若要在 IoT Central UI 中檢視此資訊,請在裝置範本編輯器中選取 [檢視身分識別]:

顯示如何檢視介面身分識別以查看版本號碼的螢幕擷取畫面。

建立裝置範本版本

若要建立裝置範本版本:

  1. 移至 [裝置範本] 頁面。
  2. 選取您想要建立版本的裝置範本。
  3. 選取頁面頂端的 [版本],然後為範本提供新名稱。 IoT Central 會建議新的名稱,您可以加以編輯。
  4. 選取 [建立]。

現在您已建立具有未連結至任何現有裝置之唯一身分識別的新範本。

建立介面版本

若要建立介面版本:

  1. 移至 [裝置範本] 頁面。
  2. 選取您在草稿模式中擁有的裝置範本。
  3. 選取您要建立版本及編輯的已發佈介面。
  4. 選取介面頁面頂端的 [版本]。
  5. 選取 [建立] 。

現在您已建立具有唯一身分識別的新介面,其不會與先前的介面版本同步。

在不同版本中移轉裝置

您可以建立多個版本的裝置範本。 經過一段時間,您會有使用這些裝置範本的多個已連線裝置。 您可以將裝置從一個版本的裝置範本移轉至另一個版本。 下列步驟說明如何移轉裝置:

  1. 移至 [裝置] 頁面。

  2. 選取您需要移轉到另一個版本的裝置。

  3. 選擇 [移轉]。

    顯示如何選擇要開始移轉裝置的選項螢幕擷取畫面。

  4. 選取您要移轉裝置的版本包含在內的裝置範本,然後選取 [移轉]。

提示

您可以使用作業,同時將裝置群組中的所有裝置移轉至新的裝置範本。

下一步

如果您是操作員或解決方案產生器,建議的下一個步驟是了解如何管理您的裝置

如果您是裝置開發人員,建議的下一個步驟是閱讀 Azure IoT Edge 裝置和 Azure IoT Central