使用 Azure 入口網站自動進行 IoT 裝置和模組管理 (英文)
Azure IoT 中樞中的自動裝置管理可自動化管理大型裝置機群的許多重複且複雜的工作。 透過自動裝置管理,您可以根據其屬性來鎖定一組裝置、定義所需的設定,然後在裝置進入範圍時讓 IoT 中樞更新裝置。 此更新會使用「自動裝置設定」或「自動模組設定」來完成,其可供對完成與合規性進行摘要處理、處理合併與衝突,以及階段式地推出設定。
注意
本文中所述的功能僅適用於 IoT 中樞的標準層。 如需有關基本和標準/免費 Azure IoT 中樞階層的詳細資訊,請參閱為您的解決方案選擇適合的 Azure IoT 中樞階層。
自動裝置管理的運作方式是以所需屬性來更新一組裝置對應項或模組對應項,並根據對應項回報的屬性來回報摘要。 其中引進了名為設定的新類別和 JSON 文件,其中包含三個部分:
目標條件會定義要更新的裝置對應項或模組對應項範圍。 目標條件會以查詢形式來指定於對應項標籤和/或回報的屬性上。
目標內容會定義要在目標裝置對應項或模組對應項中新增或更新的所需屬性。 內容包含一個路徑,連往要變更屬性的區段。
計量會定義各種設定狀態 (例如 Success、Progress 及 Error) 的摘要計數。 自訂計量會以查詢形式來指定於對應項回報屬性上。 系統計量是測量對應項更新狀態的預設計量,例如作為目標的對應項數目,以及成功更新的對應項數目。
自動設定會在建立設定後不久執行第一次,並在之後以五分鐘的間隔執行。 每次執行自動設定時都會執行計量查詢。 標準層 IoT 中樞最多支援 100 項自動設定;免費層 IoT 中樞則為十項。 節流限制同樣適用。 若要深入了解,請參閱 配額和節流。
實作對應項
自動裝置設定需要使用裝置對應項,以同步處理雲端和裝置之間的狀態。 如需詳細資訊,請參閱了解和使用 Azure IoT 中樞的裝置對應項。
自動模組設定需要使用模組對應項,以同步處理雲端和模組之間的狀態。 如需詳細資訊,請參閱了解和使用 Azure IoT 中樞的模組對應項。
使用標籤以鎖定對應項
在可建立設定之前,您必須指定所要影響的裝置或模組。 Azure IoT 中樞可在裝置對應項中使用標籤來識別裝置,以及在模組對應項中使用標籤來識別模組。 每個裝置或模組都可以有多個標記,而您可利用任何對解決方案有意義的方式來定義。 例如,如果您管理不同位置的裝置,請將下列標籤新增至裝置對應項:
"tags": {
"location": {
"state": "Washington",
"city": "Tacoma"
}
},
建立設定
您可以在標準層 IoT 中樞上建立最多 100 項自動設定;免費層 IoT 中樞則為十項。 若要深入了解,請參閱 配額和節流。
在 Azure 入口網站中,移至您的 IoT 中樞。
選取左側瀏覽窗格中的 [設定 + 部署]。
選取 [新增],然後從下拉式清單中選擇 [ 裝置對應項組態] 或 [ 模組對應項組態]。
建立設定有五個步驟。 下列各節將逐步解說每一個步驟。
名稱與標籤
為您的設定指定唯一名稱,最長 128 個字元。 允許小寫字母和下列特殊字元:
-+%_*!'
。 不允許空格。新增標籤以協助追蹤您的設定。 標籤為描述設定的 [名稱]、[值] 對組。 例如,
HostPlatform, Linux
或Version, 3.0.1
。選取 [下一步] 以移至下一個步驟。
對應項設定
本章節會定義要在目標裝置對應項或模組對應項所需屬性中設定的內容。 每個設定集都有兩個輸入。 第一個是對應項路徑,該路徑可前往所要設定對應項屬性內的 JSON 區段。 第二個是要插入該區段的 JSON 內容。
例如,您可將對應項路徑設定為 properties.desired.chiller-water
,然後提供下列 JSON 內容:
{
"temperature": 66,
"pressure": 28
}
您也可以藉由指定完整對應項路徑,並提供不含括弧的值來設定個別設定。 例如,使用對應項路徑 properties.desired.chiller-water.temperature
,將內容設定為 66
。 然後為壓力屬性建立新的對應項設定。
如果有兩個以上的設定都以相同對應項路徑作為目標,則會套用優先順序最高設定的內容 (優先順序會在步驟 4 中定義)。
如果想要移除現有屬性,請將屬性值指定為 null
。
您可選取 [新增裝置對應項設定] 或 [新增模組對應項設定] 來新增其他設定。
目標裝置或模組
使用對應項的標籤屬性,以將目標設為應該接收此設定的特定裝置或模組。 您也可以將對應項回報屬性設為目標。
自動裝置設定只能以裝置對應項標籤為目標,而自動模組設定只能以模組對應項標籤為目標。
由於多個設定可能會以相同裝置或模組為目標,所以每個設定需具有優先順序號碼。 如果發生衝突,則具有最高優先順序的設定勝出。
在設定 [優先順序] 中輸入正整數。 最高數值會被視為最高優先順序。 如果兩個設定擁有相同的優先順序號碼,則最新建立的設定勝出。
輸入 [目標條件] 來判斷這個設定會將哪些裝置或模組設為目標。 條件會以對應項標籤或對應項回報屬性為基礎,且應符合運算式格式。
針對自動裝置設定,您可直接指定要設為目標的標籤或回報屬性。 例如,
tags.environment='test'
或properties.reported.chillerProperties.model='4000x'
。 您可以指定*
以將所有裝置設為目標。針對自動模組設定,請使用查詢,從註冊於 IoT 中樞的模組來指定標籤或回報屬性。 例如,
from devices.modules where tags.environment='test'
或from devices.modules where properties.reported.chillerProperties.model='4000x'
。 萬用字元不能用於為所有模組設定目標。
計量
計量會提供在套用設定內容後,裝置或模組所回報各種狀態的摘要計數。 例如,您可以建立暫止設定變更的計量、錯誤的計量,以及成功設定變更的計量。
每個設定最多可擁有五個自訂計量。
在 [計量名稱] 輸入名稱。
在 [計量準則] 輸入查詢。 查詢是以裝置對應項報告屬性為基礎。 計量代表查詢傳回的資料列數目。
例如:
SELECT deviceId FROM devices WHERE properties.reported.chillerWaterSettings.status='pending'
您可以包含已套用設定的子句,例如:
/* Include the double brackets. */ SELECT deviceId FROM devices WHERE configurations.[[yourconfigname]].status='Applied'
如果要建置計量來回報已設定的模組,請從
devices.modules
選取moduleId
。 例如:SELECT deviceId, moduleId FROM devices.modules WHERE properties.reported.lastDesiredStatus.code = 200
檢閱設定
檢閱您的設定資訊,然後選取 [提交]。
監視設定
若要檢視設定的詳細資料並監視執行該設定的裝置,請使用下列步驟:
在 Azure 入口網站中,移至您的 IoT 中樞。
選取 [裝置管理] 中的 [設定]。
檢查設定清單。 針對每個設定,您可以檢視下列詳細資料:
識別碼 - 設定的名稱。
目標條件 - 用來定義目標裝置或模組的查詢。
優先順序 - 指派給設定的優先順序號碼。
建立時間 - 建立設定時的時間戳記。 當兩個設定擁有相同的優先順序時,會使用此時間戳記來中斷繫結。
系統計量 - IoT 中樞所計算且無法由開發人員自訂的計量。 [目標] 指定符合目標條件的裝置對應項數目。 [套用] 會指定由設定所修改的裝置對應項數目,這在有優先順序較高的個別設定同時也做出變更的情況下,可能會包含局部修改。
自訂計量 - 由開發人員針對對應項回報屬性指定為查詢的計量。 每個設定最多可定義五個自訂計量。
選取您要監視的設定。
檢查設定詳細資料。 您可以使用索引標籤來檢視有關接收設定的裝置特定詳細資料。
目標裝置或目標模組 - 符合目標條件的裝置或模組。
計量 - 系統計量和自訂計量清單。 您可選取下拉式清單中的計量,然後選取 [檢視裝置] 或 [檢視模組] 來檢視每個計量所計算裝置或模組的清單。
標籤:用來描述設定的機碼值組。 標籤不會影響功能。
裝置對應項設定或模組對應項設定 - 由設定所設定的對應項設定 (如果有的話)。
修改設定
當修改設定時,所做的變更會立即複寫到所有目標裝置或模組。
如果您更新目標條件,會發生下列更新:
如果對應項不符合舊的目標條件,但符合新的目標條件,且此設定為該對應項的最高優先順序設定,則會套用此設定。
如果目前正在執行此設定的對應項不再符合目標條件,則會移除設定中的設定,並以優先順序次高的設定來修改該對應項。
如果目前執行此設定的對應項不再符合目標條件,也不符合任何其他設定的目標條件,則系統會將設定中的設定移除,且不會對該對應項進行任何其他變更。
若要修改設定,請使用下列步驟:
在 Azure 入口網站中,移至您的 IoT 中樞。
選取 [裝置管理] 中的 [設定 + 部署]。
選取您要修改的設定。
您可以對下列欄位進行更新:
- 優先順序
- 計量
- 目標條件
- 標籤
選取 [儲存]。
依照監視設定中的步驟來監看所推出的變更。
刪除設定
刪除設定時,任何裝置對應項都會採用下一個最高優先順序的設定。 如果裝置對應項不符合任何其他設定的目標條件,則不會套用任何其他設定。
在 Azure 入口網站中,移至您的 IoT 中樞。
選取 [裝置管理] 中的 [設定 + 部署]。
使用核取方塊來選取您要刪除的設定。
選取刪除。
系統提示會要求您確認。
下一步
在本文中,您已了解如何大規模設定和監視 IoT 裝置。
若要了解如何大量管理 IoT 中樞裝置身分識別,請參閱大量匯入和匯出 IoT 中樞裝置身分識別