共用方式為


如何使用配置原則跨 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 中樞擁有的權數。 值可介於 1 到 1000 之間。 預設值是 1 (或 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 中樞,但您可以使用下拉式清單來修改此選取項目。 若要讓註冊自動使用新增至 DPS 執行個體的連結 IoT 中樞 (或排除已刪除者),請取消選取所有 IoT 中樞。

    2. 您可以選擇性選取 [連結新 IoT 中樞] 按鈕,將新的 IoT 中樞連結至 DPS 執行個體,將其加入可選取的 IoT 中樞清單中。 如需連結 IoT 中樞的詳細資料,請參閱連結IoT 中樞

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

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

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

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

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

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

下列命令會更新同一個註冊群組,改為使用最低延遲配置原則搭配名為 MyExampleHubMyExampleHub-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 中樞。

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

限制

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

下一步