群組(預覽)

Azure 裝置登錄中的群組是一組由查詢定義的同質資源,用來針對車隊規模的作業,例如軟體更新。 在目前的預覽中,一個群組以連線到 IoT 中樞 的裝置為目標。 你不是管理單一資源,而是定義一個篩選器,然後在需要對那組資源採取行動的地方重複使用產生的群組。

圖示顯示針對一組裝置的軟體更新工作,以及針對在 Azure 裝置登錄檔命名空間內正在上線的裝置的上線更新工作。

Important

Azure 裝置登錄群組目前處於預覽階段。

服役適用性

Feature Azure IoT 操作 Azure IoT 中樞
Groups 此預覽版中不受支援 Preview

在此預覽中,群組支援連接 IoT 中樞 的裝置,並可在 Azure Device Registry 命名空間中使用。

查詢定義的成員身分

你可以根據支援的資源屬性(如製造商或軟體版本)定義過濾器來建立群組。 在預覽版中,唯一支援的 Azure 資源類型是 RegistryDevice。 Azure 裝置登錄會在命名空間內評估篩選器,並將所有相符的資源填充該群組。

對於 RegistryDevice 群組,請在查詢定義中使用查詢語言屬性名稱。 例如:

WHERE manufacturer = 'Contoso' AND model = 'Sensor-v2'

一個裝置可以同時屬於多個群組。 例如,一個裝置可能同時匹配到「韌體版本 2.1」和「12 號建築物」群組。 會員資格並非排他性,因此你可以根據不同的營運需求組成群組,而無需重複建立裝置。

RegistryDevice 支援的屬性與運算元

下表顯示了支援的 RegistryDevice 篩選查詢的屬性與運算子:

使用者術語 屬性路徑 字面型 Operators
命名空間 UUID namespaceUuid 字串 =、!=、<>
名字 name 字串 =、、 !=、 <>、 IN、 NIN
資源類型 resourceType 字串 =、!=、<>
位置 location 字串 =、、 !=、 <>、 IN、 NIN
裝置 UUID uuid 字串 =、、 !=、 <>、 IN、 NIN
佈建狀態 provisioningState 字串 =、、 !=、 <>、 IN、 NIN
外部裝置識別碼 externalDeviceId 字串 =、、 !=、 <>、 IN、 NIN
啟用、停用 enabled 字串列舉 =、!=、<>;值為 'Enabled' 和 'Disabled'
製造商 manufacturer 字串 =、!=、<>
型號 model 字串 =、!=、<>
軟體修訂 softwareRevision 字串 =、!=、<>
標籤鍵 tags.<key> 字串 =, !=, <>; 最大路徑深度為 4

RegistryDevice 支援的更新屬性與運算子

下表顯示 RegistryDevice 範圍內的 attributes.update 篩選查詢所支援的屬性與運算子:

屬性路徑 字面型 Operators
attributes.update.deviceClassId 字串 =、、 !=、 <>、 IN、 NIN
attributes.update.installedUpdateId.provider 字串 =、、 !=、 <>、 IN、 NIN
attributes.update.installedUpdateId.name 字串 =、、 !=、 <>、 IN、 NIN
attributes.update.installedUpdateId.version 字串 =、、 !=、 <>、 IN、 NIN
attributes.update.latestUpdateJobInfo.state 字串 =、、 !=、 <>、 IN、 NIN
attributes.update.latestUpdateJobInfo.updateId.provider 字串 =、、 !=、 <>、 IN、 NIN
attributes.update.latestUpdateJobInfo.updateId.name 字串 =、、 !=、 <>、 IN、 NIN
attributes.update.latestUpdateJobInfo.updateId.version 字串 =、、 !=、 <>、 IN、 NIN
attributes.update.agentInfo.compatibilityProperties.<key> 字串 =、!=、<>;最大路徑深度為 5
attributes.update.agentInfo.agentProfile 整數 =、、 !=、 <>、 IN、 NIN

你可以使用 AND、OR、NOT、括號,以及與 null 的比較來組合條件。 不支援標量函數,如 STARTSWITH、CONTAINS、IS_NULL 和 IS_DEFINED、欄位對欄位比較,以及任意 properties.* 或 attributes.* 路徑。

快取的成員資格與重新整理

群組成員資格會在刷新時計算並快取,而非即時評估。 當你建立群組,或重新整理現有群組時,Azure 裝置登錄會重新評估篩選器並更新快取的成員清單。

你可透過 RefreshMembers 操作觸發群組重新整理。 刷新是非同步的,群組可以有 Creating、 RefreshingMembers或 Ready 狀態。 當團體達到 Ready 正式地位後,你可以檢視成員名單。

由於成員是快取的,群組的成員清單在刷新之間可能會過時。 如果資源屬性改變,或有新資源開始符合篩選條件,該變更不會反映在手動刷新群組的成員清單中,直到下一次刷新完成。 該服務規定手動刷新之間至少間隔一小時。

不可變過濾器與生命週期

你可以編輯群組名稱和描述。 過濾器在建立時是固定的;若要針對另一組不同的裝置,則建立或複製一個帶有新過濾器的群組。

若要鎖定不同或調整過的資源集合,請建立一個使用新篩選器的獨立群組。 刪除群組只會移除該群組;其成員裝置會保留。

在 Azure portal 中管理群組(預覽)

在這個預覽中,命名空間導覽中的 群組(預覽) 頁面列出你的群組,並開啟群組詳細檢視。 詳細檢視顯示群組的重點、唯讀查詢篩選器的定義,以及目前的成員數和最後更新時間。 因為篩選器是在建立時設定的,無法編輯,請使用詳細檢視來確認群組針對哪些裝置。 會員名單預覽最多 10 台裝置,因此應視為抽查,而非完整列出一大群裝置。

從群組清單或群組詳細檢視中,您可以採取以下操作:

  • 從清單檢視建立群組,提供必要名稱、可選的描述和查詢篩選器。
  • 從清單或詳細檢視中複製現有的群組。 因為你無法編輯原始篩選器,所以當你需要調整成員資格條件時,複製是從群組定義開始的實際方法。
  • 從詳細檢視中編輯群組名稱和描述。 查詢過濾器保持不變。
  • 在清單或詳細檢視中刷新群組的快取成員資格,並依照快取成員與刷新中所述的刷新限制。
  • 從清單或詳細檢視中刪除群組。 你要輸入群組名稱來確認刪除。

與工作及軟體更新的關係

群體獨立於任何消耗它們的單一功能之外。 Group 是一種可重複使用的艦隊管理資源,你可以在多處引用。 例如,一個 作業 以群組作為標準軟體更新操作的目標。

由於一個群組可以被多個工作或工作流程參考,刪除群組或以其他方式改變其可用性,可能會影響依賴該群組的任何事物。 規劃群組生命週期變更時,請將此相依性納入考量。

限制與預覽限制

目前團體的限制如下:

  • 每個訂閱最多可有 100 個群組。
  • 手動刷新之間至少間隔一小時。
  • ListMembers 頁面大小為 1,000,預覽中無篩選或排序功能。