如何使用配置原則跨 IoT 中樞布建裝置

Azure IoT 中樞裝置布建服務 (DPS) 支援數個內建配置原則,以決定如何跨一或多個 IoT 中樞指派裝置。 DPS 也支援自訂配置原則,可讓您在 IoT 案例需要內建原則未提供的功能時,建立和使用自己的配置原則。

本文可協助您瞭解如何使用和管理 DPS 配置原則。

瞭解配置原則

配置原則會決定 DPS 如何將裝置指派給 IoT 中樞。 每個 DPS 實例都有預設配置原則,但此原則可由註冊上設定的配置原則覆寫。 只有已連結至 DPS 實例的 IoT 中樞可以參與配置。 連結的 IoT 中樞是否會參與配置,取決於裝置布建透過的註冊設定。

DPS 支援四個配置原則:

  • 平均加權散發 :裝置會使用加權雜湊布建至 IoT 中樞。 根據預設,連結的 IoT 中樞具有相同的配置權數設定,因此它們同樣可能會布建裝置。 IoT 中樞的配置權數可以調整以增加或減少指派的可能性。 平均加權分配 是 DPS 實例的預設配置原則。 如果您只將裝置布建到一個 IoT 中樞,建議您使用此原則。

  • 最低延遲 :裝置會布建至 IoT 中樞,而裝置的延遲最低。 如果多個 IoT 中樞會提供最低的延遲,DPS 會根據其設定的配置權數,在這些中樞間雜湊裝置。

  • 靜態組態 :裝置會布建至單一 IoT 中樞,必須在註冊上指定。

  • 自訂 (使用 Azure 函式) :自訂配置原則可讓您更充分掌控如何將裝置指派給 IoT 中樞。 這是使用 Azure Functions 中裝載的自訂 Webhook,將裝置指派給 IoT 中樞來完成。 DPS 會呼叫您的 Webhook,以提供裝置和註冊的所有相關資訊。 您的 Webhook 會傳回用來布建裝置的 IoT 中樞和初始裝置對應項(選擇性)。 自訂承載也可以從裝置來回傳遞。 若要深入瞭解,請參閱 瞭解自訂配置原則 。 無法設定為 DPS 實例預設原則。

注意

上述清單會顯示配置原則的名稱,因為它們出現在Azure 入口網站中。 使用 DPS REST API、Azure CLI 和 DPS 服務 SDK 設定配置原則時,其稱為雜湊 地理區域 、靜態 自訂

連結的 IoT 中樞上有兩個設定,可控制其參與配置的方式:

  • 配置權數 :設定參與涉及多個 IoT 中樞的配置原則時,IoT 中樞將擁有的權數。 它可以是介於一到 1000 之間的值。 預設值為一個 (或 null )。

    • 使用平均加權分配 配置原則時,具有較高配置權數值的 IoT 中樞,相較于加權值較低的中樞,選取的可能性更大。

    • 使用最低延遲 配置原則,當多個 IoT 中樞滿足最低延遲需求時,配置權數值會影響選取 IoT 中樞的機率。

    • 使用自訂 配置原則時,是否及如何使用配置權數值將取決於 Webhook 邏輯。

  • 套用配置原則 :指定 IoT 中樞是否參與配置原則。 預設值為 [ ] (true)。 如果設定為 [否 ] (false),則不會將裝置指派給 IoT 中樞。 IoT 中樞仍可在註冊上選取,但不會參與配置。 您可以使用此設定暫時或永久移除 IoT 中樞參與配置;例如,如果接近允許的裝置數目。

若要深入瞭解如何在 DPS 實例中連結和管理 IoT 中樞,請參閱 連結和管理 IoT 中 樞。

當裝置透過 DPS 布建時,服務會根據下列指導方針將它指派給 IoT 中樞:

  • 如果註冊指定配置原則,請使用該原則;否則,請使用 DPS 實例的預設配置原則。

  • 如果註冊指定一或多個 IoT 中樞,請跨這些 IoT 中樞套用配置原則;否則,請將配置原則套用至連結至 DPS 實例的所有 IoT 中樞。 請注意,如果配置原則是 靜態 設定,註冊 必須 指定 IoT 中樞。

重要

當您變更其適用的配置原則或 IoT 中樞時,變更只會影響後續的裝置註冊。 已布建至 IoT 中樞的裝置不會受到影響。 如果您想要將變更追溯套用至這些裝置,您必須重新布建這些裝置。 若要深入瞭解,請參閱 如何重新布建裝置

設定 DPS 實例的預設配置原則

未在註冊上指定配置原則時,會使用 DPS 實例的預設配置原則。 預設配置原則僅 支援平均加權分配 最低延遲 靜態 設定。 不支援自訂 配置。 建立 DPS 實例時,其預設原則會自動設定為 平均加權分配

注意

如果您將靜態組態 設定 為 DPS 實例的預設配置原則,則必須 在依賴預設原則的註冊中指定連結的 IoT 中樞

使用Azure 入口網站設定預設配置原則

若要在Azure 入口網站中設定 DPS 實例的預設配置原則:

  1. 在 DPS 實例的左側功能表上,選取 [ 管理配置原則 ]。

  2. 選取您要設定之配置原則的按鈕: 最低延遲 平均加權分配 靜態設定 。 (預設配置原則不支援自訂配置。

  3. 選取 [儲存]。

使用 Azure CLI 來設定預設配置原則

使用 az iot dps update Azure CLI 命令來設定 DPS 實例的預設配置原則。 您可以使用 --set properties.allocationPolicy 來指定原則。 例如,下列命令會將配置原則設定為 平均加權分配 (預設值):

az iot dps update --name MyExampleDps --set properties.allocationPolicy=hashed

DPS 也支援使用 建立或更新 DPS 資源 REST API、 Resource Manager 範本 DPS 管理 SDK 來設定預設配置原則

設定註冊的配置原則和 IoT 中樞

個別註冊和註冊群組可以指定配置原則及其應套用的連結 IoT 中樞。 如果註冊未指定配置原則,則會使用 DPS 實例的預設配置原則。

不論是哪一種情況,都適用下列條件:

  • 針對 平均加權分佈 最低延遲 自訂 配置原則,註冊 可以 指定應該使用哪些連結的 IoT 中樞。 如果在註冊中未選取 IoT 中樞,則會使用 DPS 實例中的所有連結 IoT 中樞。

  • 針對 靜態組態 ,註冊 必須 從連結的 IoT 中樞清單中指定單一 IoT 中樞。

針對個別註冊和註冊群組,您可以指定配置原則和連結的 IoT 中樞,以在建立或更新註冊時套用至該原則。

使用Azure 入口網站來管理註冊配置原則和 IoT 中樞

若要設定配置原則,並在Azure 入口網站中選取註冊上的 IoT 中樞:

  1. 在 DPS 實例的左側功能表上,選取 [ 管理註冊 ]。

  2. 在 [ 管理註冊] 頁面上:

    • 若要建立新的註冊,請選取 [註冊群組] 或 [個別註冊] 索引 標,然後選取 [新增註冊群組 ] 或 [ 新增個別註冊 ]。

    • 若要更新現有的註冊,請從 [註冊群組] 或 [個別註冊] 索引 標下的 清單中選取它。

  3. 在 [ 新增註冊 ] 頁面(建立時)或 [註冊詳細資料 ] 頁面(更新時),選取 [ IoT 中樞] 索引標籤 。在此索引標籤上,您可以選取要套用至註冊的配置原則,然後選取應該使用的 IoT 中樞:

    Screenshot that shows the allocation policy and selected hubs settings on IoT hubs tab.

    1. 從下拉式清單中選取裝置可指派給的 IoT 中樞。 如果您選取 [靜態組態 配置原則],則僅限於選取單一連結的 IoT 中樞。 針對所有其他配置原則,預設會選取所有連結的 IoT 中樞,但您可以使用下拉式清單來修改此選取範圍。 若要讓註冊自動使用連結的 IoT 中樞,因為其已新增至 DPS 實例或從中刪除連結的 IoT 中樞,請取消選取所有 IoT 中樞。

    2. 您可以選擇性地選取 [ 連結新的 IoT 中樞 ] 按鈕,將新的 IoT 中樞連結至 DPS 實例,並在可選取的 IoT 中樞清單中提供它。 如需連結 IoT 中樞的詳細資訊,請參閱 連結IoT 中樞

    3. 選取您要套用至註冊的配置原則。 預設會選取 DPS 實例的預設配置原則。 針對自訂配置,您也必須在 Azure Functions 中指定自訂配置原則 Webhook。 如需詳細資訊,請參閱 使用自訂配置原則 教學課程。

  4. 設定註冊所需的任何其他屬性,然後儲存您的設定。

使用 Azure CLI 來管理註冊配置原則和 IoT 中樞

使用 az iot dps enrollment create az iot dps enrollment update az iot dps enrollment-group create az iot dps enrollment-group update Azure CLI 命令來建立或更新個別註冊或註冊群組。

例如,下列命令會建立對稱金鑰註冊群組,此群組預設會使用 DPS 實例上設定的預設配置原則,以及連結至 DPS 實例的所有 IoT 中樞:

az iot dps enrollment-group create --dps-name MyExampleDps --enrollment-id MyEnrollmentGroup 

下列命令會更新相同的註冊群組,以搭配名為 MyExampleHub MyExampleHub-2 IoT 中樞使用最低延遲 配置 原則:

az iot dps enrollment-group update --dps-name MyExampleDps --enrollment-id MyEnrollmentGroup --allocation-policy geolatency --iot-hubs "MyExampleHub.azure-devices.net MyExampleHub-2.azure-devices.net"

DPS 也支援使用 建立或更新個別註冊和建立或更新註冊群組 REST API,以及 DPS 服務 SDK ,在註冊 上設定配置原則和選取的 IoT 中樞。

配置行為

使用配置原則搭配 IoT 中樞時,請注意下列行為:

  • 透過 Azure CLI、REST API 和 DPS 服務 SDK,您可以建立沒有配置原則的註冊。 在此情況下,當裝置透過註冊布建時,DPS 會使用 DPS 實例的預設原則。 變更 DPS 實例上的預設原則設定,將會變更透過註冊布建裝置的方式。

  • 使用Azure 入口網站時,註冊的配置原則設定會預先填入預設配置原則。 您可以保留此設定或將其變更為另一個原則,但當您儲存註冊時,會在註冊上設定配置原則。 服務預設配置原則的後續變更不會變更透過註冊布建裝置的方式。

  • 針對同樣加權的分佈 最低延遲 自訂 配置原則,您可以將註冊設定為使用連結至 DPS 實例的所有 IoT 中樞:

    • 使用 Azure CLI 和 DPS 服務 SDK,建立註冊而不指定任何 IoT 中樞。

    • 使用Azure 入口網站時,註冊會預先填入連結至 DPS 實例的所有 IoT 中樞;在您儲存註冊之前,請先取消選取所有 IoT 中樞。

    如果在註冊上未選取 IoT 中樞,則每當新的 IoT 中樞連結到 DPS 實例時,就會參與配置;反之亦然,從 DPS 實例移除的 IoT 中樞。

  • 如果在註冊上指定 IoT 中樞,則必須手動或以程式設計方式更新註冊上的 IoT 中樞設定,才能新增或刪除的 IoT 中樞,才能從配置中移除。

  • 變更用於註冊的配置原則或 IoT 中樞只會影響透過該註冊的後續註冊。 如果您想要變更會影響先前的註冊,您必須重新布建所有先前註冊的裝置。

限制

使用配置原則和私人端點時,有一些限制。 如需詳細資訊,請參閱 私人端點限制

下一步