Jak używać zasad alokacji do aprowizowania urządzeń w centrach IoT

Usługa Azure IoT Hub Device Provisioning Service (DPS) obsługuje kilka wbudowanych zasad alokacji, które określają sposób przypisywania urządzeń w co najmniej jednym centrum IoT. Usługa DPS obejmuje również obsługę niestandardowych zasad alokacji, które umożliwiają tworzenie i używanie własnych zasad alokacji, gdy scenariusz IoT wymaga funkcji, które nie są udostępniane przez wbudowane zasady.

Ten artykuł pomaga zrozumieć, jak używać zasad alokacji usługi DPS i zarządzać nimi.

Omówienie zasad alokacji

Zasady alokacji określają sposób przypisywania urządzeń do centrum IoT Hub przez usługę DPS. Każde wystąpienie usługi DPS ma domyślne zasady alokacji, ale te zasady można zastąpić za pomocą zasad alokacji ustawionych w rejestracji. Tylko centra IoT połączone z wystąpieniem usługi DPS mogą uczestniczyć w alokacji. To, czy połączone centrum IoT będzie uczestniczyć w alokacji, zależy od ustawień rejestracji aprowizujących urządzenie.

Usługa DPS obsługuje cztery zasady alokacji:

  • Rozkład równomiernie ważony: urządzenia są aprowidowane w centrum IoT przy użyciu ważonego skrótu. Domyślnie połączone centra IoT mają takie samo ustawienie wagi alokacji, więc prawdopodobnie urządzenia będą aprowizować dla nich. Waga alokacji centrum IoT może zostać skorygowana w celu zwiększenia lub zmniejszenia prawdopodobieństwa przypisania. Równomiernie ważona dystrybucja to domyślne zasady alokacji dla wystąpienia usługi DPS. Jeśli aprowizujesz urządzenia tylko w jednym centrum IoT, zalecamy użycie tych zasad.

  • Najmniejsze opóźnienie: urządzenia są aprowidowane w centrum IoT z najniższym opóźnieniem dla urządzenia. Jeśli wiele centrów IoT zapewni najmniejsze opóźnienie, skróty urządzeń usługi DPS w tych centrach na podstawie skonfigurowanej wagi alokacji.

  • Konfiguracja statyczna: urządzenia są aprowizowane w jednym centrum IoT Hub, które należy określić w rejestracji.

  • Niestandardowe (korzystanie z funkcji platformy Azure): niestandardowe zasady alokacji umożliwiają większą kontrolę nad tym, jak urządzenia są przypisywane do centrum IoT. Jest to realizowane przy użyciu niestandardowego elementu webhook hostowanego w usłudze Azure Functions w celu przypisania urządzeń do centrum IoT. Usługa DPS wywołuje element webhook, podając wszystkie istotne informacje o urządzeniu i rejestracji. Element webhook zwraca centrum IoT Hub i początkową reprezentację urządzenia (opcjonalnie) używaną do aprowizacji urządzenia. Ładunki niestandardowe mogą być również przekazywane do i z urządzenia. Aby dowiedzieć się więcej, zobacz Omówienie niestandardowych zasad alokacji. Nie można ustawić jako domyślnych zasad wystąpienia usługi DPS.

Uwaga

Na powyższej liście przedstawiono nazwy zasad alokacji, które są wyświetlane w witrynie Azure Portal. Podczas ustawiania zasad alokacji przy użyciu interfejsu API REST usługi DPS, interfejsu wiersza polecenia platformy Azure i zestawów SDK usługi DPS są one określane jako następujące: skróty, geolatency, statyczne i niestandardowe.

Istnieją dwa ustawienia połączonego centrum IoT, które kontrolują sposób, w jaki uczestniczy w alokacji:

  • Waga alokacji: określa wagę, jaką centrum IoT będzie miało podczas uczestnictwa w zasadach alokacji obejmujących wiele centrów IoT. Może to być wartość z zakresu od jednego do 1000. Wartość domyślna to jedna (lub null).

    • Dzięki zasadom alokacji równomiernie ważonej rozkładu centra IoT z wyższymi wartościami wagi alokacji mają większe prawdopodobieństwo wybrania w porównaniu do tych z niższymi wartościami wagi.

    • W przypadku zasad alokacji najniższego opóźnienia wartość wagi alokacji wpłynie na prawdopodobieństwo wybrania centrum IoT, gdy więcej niż jedno centrum IoT spełnia najmniejsze wymaganie dotyczące opóźnienia.

    • W przypadku niestandardowych zasad alokacji określa, czy i jak jest używana wartość wagi alokacji, zależy od logiki elementu webhook.

  • Zastosuj zasady alokacji: określa, czy centrum IoT hub uczestniczy w zasadach alokacji. Wartość domyślna to Tak (prawda). Jeśli zostanie ustawiona wartość Nie (fałsz), urządzenia nie zostaną przypisane do centrum IoT. Nadal można wybrać centrum IoT w ramach rejestracji, ale nie będzie ono uczestniczyć w alokacji. To ustawienie umożliwia tymczasowe lub trwałe usunięcie centrum IoT Hub z udziału w alokacji; na przykład, jeśli zbliża się do dozwolonej liczby urządzeń.

Aby dowiedzieć się więcej na temat łączenia centrów IoT hub i zarządzania nimi w wystąpieniu usługi DPS, zobacz Łączenie centrów IoT i zarządzanie nimi.

Gdy urządzenie aprowizuje usługę za pośrednictwem usługi DPS, przypisuje ją do centrum IoT Zgodnie z następującymi wytycznymi:

  • Jeśli rejestracja określa zasady alokacji, użyj tych zasad; w przeciwnym razie użyj domyślnych zasad alokacji dla wystąpienia usługi DPS.

  • Jeśli rejestracja określa co najmniej jedno centrum IoT, zastosuj zasady alokacji w tych centrach IoT; w przeciwnym razie zastosuj zasady alokacji we wszystkich centrach IoT połączonych z wystąpieniem usługi DPS. Należy pamiętać, że jeśli zasady alokacji są konfiguracją statyczną, rejestracja musi określać centrum IoT.

Ważne

W przypadku zmiany zasad alokacji lub centrów IoT, których dotyczy, zmiany mają wpływ tylko na kolejne rejestracje urządzeń. Nie będzie to miało wpływu na urządzenia aprowidowane w centrum IoT Hub. Jeśli chcesz, aby zmiany były stosowane wstecznie do tych urządzeń, należy je ponownie aprowizować. Aby dowiedzieć się więcej, zobacz Jak ponownie aprowizacji urządzeń.

Ustawianie domyślnych zasad alokacji dla wystąpienia usługi DPS

Domyślne zasady alokacji dla wystąpienia usługi DPS są używane, gdy zasady alokacji nie są określone w rejestracji. W przypadku domyślnych zasad alokacji obsługiwane są tylko równomiernie ważone rozkłady, najmniejsze opóźnienia i konfiguracja statyczna. Alokacja niestandardowa nie jest obsługiwana. Po utworzeniu wystąpienia usługi DPS jego domyślne zasady są automatycznie ustawiane na równomiernie ważoną dystrybucję.

Uwaga

Jeśli ustawisz konfigurację statyczną jako domyślne zasady alokacji dla wystąpienia usługi DPS, połączone centrum IoT musi być określone w rejestracjach, które opierają się na zasadach domyślnych.

Używanie witryny Azure Portal do ustawiania domyślnych zasad alokacji

Aby ustawić domyślne zasady alokacji dla wystąpienia usługi DPS w witrynie Azure Portal:

  1. W menu po lewej stronie wystąpienia usługi DPS wybierz pozycję Zarządzaj zasadami alokacji.

  2. Wybierz przycisk zasad alokacji, które chcesz ustawić: najmniejsze opóźnienie, równomiernie ważony rozkład lub konfiguracja statyczna. (Alokacja niestandardowa nie jest obsługiwana dla domyślnych zasad alokacji).

  3. Wybierz pozycję Zapisz.

Ustawianie domyślnych zasad alokacji przy użyciu interfejsu wiersza polecenia platformy Azure

Użyj polecenia az iot dps update interfejsu wiersza polecenia platformy Azure, aby ustawić domyślne zasady alokacji dla wystąpienia usługi DPS. --set properties.allocationPolicy Służy do określania zasad. Na przykład następujące polecenie ustawia zasady alokacji na równomiernie ważoną dystrybucję (domyślną):

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

Usługa DPS obsługuje również ustawianie domyślnych zasad alokacji przy użyciu interfejsu API REST tworzenia lub aktualizowania zasobów usługi DPS, szablonów usługi Resource Manager i zestawów SDK zarządzania usługami DPS.

Ustawianie zasad alokacji i centrów IoT dla rejestracji

Poszczególne rejestracje i grupy rejestracji mogą określać zasady alokacji oraz połączone centra IoT, do których ma mieć zastosowanie. Jeśli rejestracja nie określa żadnych zasad alokacji, zostaną użyte domyślne zasady alokacji dla wystąpienia usługi DPS.

W obu przypadkach obowiązują następujące warunki:

  • W przypadku równomiernie ważonych dystrybucji, najniższych opóźnień i niestandardowych zasad alokacji rejestracja może określić, które połączone centra IoT powinny być używane. Jeśli w rejestracji nie wybrano żadnych centrów IoT, zostaną użyte wszystkie połączone centra IoT w wystąpieniu usługi DPS.

  • W przypadku konfiguracji statycznej rejestracja musi określać pojedyncze centrum IoT z listy połączonych centrów IoT.

W przypadku zarówno poszczególnych rejestracji, jak i grup rejestracji można określić zasady alokacji i połączone centra IoT, które mają zostać zastosowane podczas tworzenia lub aktualizowania rejestracji.

Zarządzanie zasadami alokacji rejestracji i centrami IoT przy użyciu witryny Azure Portal

Aby ustawić zasady alokacji i wybrać centra IoT w rejestracji w witrynie Azure Portal:

  1. W menu po lewej stronie wystąpienia usługi DPS wybierz pozycję Zarządzaj rejestracjami.

  2. Na stronie Zarządzanie rejestracjami:

    • Aby utworzyć nową rejestrację, wybierz kartę Grupy rejestracji lub Rejestracje indywidualne, a następnie wybierz pozycję Dodaj grupę rejestracji lub Dodaj rejestrację indywidualną.

    • Aby zaktualizować istniejącą rejestrację, wybierz ją z listy na karcie Grupy rejestracji lub Rejestracje indywidualne.

  3. Na stronie Dodawanie rejestracji (w obszarze tworzenia) lub na stronie Szczegóły rejestracji (po aktualizacji) wybierz kartę Centra IoT. Na tej karcie możesz wybrać zasady alokacji, które mają zostać zastosowane do rejestracji, i wybrać centra IoT, które mają być używane:

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

    1. Wybierz centra IoT, do których można przypisać urządzenia z listy rozwijanej. W przypadku wybrania zasad alokacji konfiguracji statycznej będzie ograniczona do wybrania jednego połączonego centrum IoT. Dla wszystkich innych zasad alokacji wszystkie połączone centra IoT zostaną domyślnie wybrane, ale można zmodyfikować ten wybór przy użyciu listy rozwijanej. Aby rejestracja automatycznie korzystała z połączonych centrów IoT w miarę ich dodawania do wystąpienia usługi DPS (lub usunięcia z nich), usuń zaznaczenie wszystkich centrów IoT.

    2. Opcjonalnie możesz wybrać przycisk Połącz nowe centrum IoT Hub , aby połączyć nowe centrum IoT z wystąpieniem usługi DPS i udostępnić je na liście centrów IoT, które można wybrać. Aby uzyskać szczegółowe informacje na temat łączenia centrum IoT Hub, zobacz Link an IoT Hub (Łączenie centrum IoT Hub).

    3. Wybierz zasady alokacji, które chcesz zastosować do rejestracji. Domyślne zasady alokacji dla wystąpienia usługi DPS są domyślnie zaznaczone. W przypadku alokacji niestandardowej należy również określić niestandardowy element webhook zasad alokacji w usłudze Azure Functions. Aby uzyskać szczegółowe informacje, zobacz samouczek Używanie niestandardowych zasad alokacji.

  4. Ustaw wszelkie inne właściwości wymagane do rejestracji, a następnie zapisz ustawienia.

Zarządzanie zasadami alokacji rejestracji i centrami IoT za pomocą interfejsu wiersza polecenia platformy Azure

Użyj polecenia az iot dps enrollment create, az iot dps enrollment update, az iot dps enrollment-group create, az iot dps enrollment-group update interfejsu wiersza polecenia platformy Azure, aby utworzyć lub zaktualizować indywidualne rejestracje lub grupy rejestracji.

Na przykład następujące polecenie tworzy symetryczną grupę rejestracji kluczy, która domyślnie używa domyślnych zasad alokacji ustawionych w wystąpieniu usługi DPS i wszystkich centrów IoT połączonych z wystąpieniem usługi DPS:

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

Następujące polecenie aktualizuje tę samą grupę rejestracji, aby użyć zasad alokacji najniższego opóźnienia w centrach IoT o nazwach MyExampleHub i MyExampleHub-2:

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"

Usługa DPS obsługuje również ustawianie zasad alokacji i wybranych centrów IoT w rejestracji przy użyciu interfejsów API REST tworzenia lub aktualizowania rejestracji indywidualnej oraz tworzenia lub aktualizowania interfejsów API REST grupy rejestracji oraz zestawów SDK usługi DPS.

Zachowanie alokacji

Podczas korzystania z zasad alokacji w usłudze IoT Hub należy zwrócić uwagę na następujące zachowanie:

  • Za pomocą interfejsu wiersza polecenia platformy Azure, interfejsu API REST i zestawów SDK usługi DPS można tworzyć rejestracje bez zasad alokacji. W takim przypadku usługa DPS używa domyślnych zasad dla wystąpienia usługi DPS, gdy urządzenie aprowizuje je za pośrednictwem rejestracji. Zmiana domyślnego ustawienia zasad w wystąpieniu usługi DPS spowoduje zmianę sposobu aprowizacji urządzeń za pośrednictwem rejestracji.

  • W witrynie Azure Portal ustawienie zasad alokacji dla rejestracji jest wstępnie wypełnione domyślnymi zasadami alokacji. To ustawienie można zachować lub zmienić je na inne zasady, ale podczas zapisywania rejestracji zasady alokacji są ustawiane w rejestracji. Kolejne zmiany w domyślnych zasadach alokacji usługi nie zmienią sposobu aprowizacji urządzeń za pośrednictwem rejestracji.

  • W przypadku równomiernie ważonej dystrybucji najniższe opóźnienie i niestandardowe zasady alokacji można skonfigurować rejestrację tak, aby korzystała ze wszystkich centrów IoT połączonych z wystąpieniem usługi DPS:

    • Za pomocą interfejsu wiersza polecenia platformy Azure i zestawów SDK usługi DPS utwórz rejestrację bez określania żadnych centrów IoT.

    • W witrynie Azure Portal rejestracja jest wstępnie wypełniana wszystkimi centrami IoT połączonymi z wybranym wystąpieniem usługi DPS; usuń zaznaczenie wszystkich centrów IoT przed zapisaniem rejestracji.

    Jeśli w rejestracji nie wybrano żadnych centrów IoT, to za każdym razem, gdy nowe centrum IoT jest połączone z wystąpieniem usługi DPS, weźmie udział w alokacji; i odwrotnie dla centrum IoT, który jest usuwany z wystąpienia usługi DPS.

  • Jeśli centra IoT są określone w rejestracji, ustawienie centrów IoT w rejestracji musi zostać ręcznie lub programowo zaktualizowane, aby nowo połączone centrum IoT zostało dodane lub usunięte centrum IoT, które ma zostać usunięte z alokacji.

  • Zmiana zasad alokacji lub centrów IoT używanych na potrzeby rejestracji ma wpływ tylko na kolejne rejestracje za pośrednictwem tej rejestracji. Jeśli chcesz, aby zmiany wpływały na wcześniejsze rejestracje, należy ponownie aprowizacji wszystkich wcześniej zarejestrowanych urządzeń.

Ograniczenia

Istnieją pewne ograniczenia dotyczące pracy z zasadami alokacji i prywatnymi punktami końcowymi. Aby uzyskać więcej informacji, zobacz Ograniczenia prywatnego punktu końcowego.

Następne kroki