Jak používat zásady přidělování ke zřizování zařízení napříč ioT Huby

Azure IoT Hub Device Provisioning Service (DPS) podporuje několik předdefinovaných zásad přidělování, které určují, jak přiřazuje zařízení napříč jedním nebo několika ioT huby. Služba DPS také obsahuje podporu vlastních zásad přidělování, které umožňují vytvářet a používat vlastní zásady přidělování, když váš scénář IoT vyžaduje funkce, které předdefinované zásady neposkytuje.

Tento článek vám pomůže pochopit, jak používat a spravovat zásady přidělování DPS.

Principy zásad přidělování

Zásady přidělování určují, jak DPS přiřazuje zařízení k centru IoT. Každá instance DPS má výchozí zásady přidělování, ale tuto zásadu je možné přepsat zásadou přidělení nastavenou v registraci. Přidělení se můžou účastnit pouze centra IoT, která jsou propojená s instancí DPS. To, jestli se propojené centrum IoT bude účastnit přidělení, závisí na nastavení registrace, kterou zařízení zřizuje.

DPS podporuje čtyři zásady přidělování:

  • Rovnoměrně vážená distribuce: Zařízení se zřizují pro centrum IoT pomocí vážené hodnoty hash. Ve výchozím nastavení mají propojená centra IoT stejné nastavení váhy přidělení, takže jsou stejně pravděpodobné, že budou mít zařízení zřízená pro ně. Váhu přidělení centra IoT je možné upravit, aby se zvýšila nebo snížila pravděpodobnost přiřazení. Rovnoměrně vážená distribuce je výchozí zásadou přidělování pro instanci DPS. Pokud zřizujete zařízení jenom pro jedno centrum IoT, doporučujeme použít tuto zásadu.

  • Nejnižší latence: Zařízení se zřizují do centra IoT s nejnižší latencí zařízení. Pokud by několik center IoT poskytovalo nejnižší latenci, zatřiďuje služba DPS zařízení v těchto centrech na základě nakonfigurované váhy přidělení.

  • Statická konfigurace: Zařízení se zřídí v jednom centru IoT, které musí být zadané v registraci.

  • Vlastní (použití funkce Azure): Vlastní zásady přidělování poskytují větší kontrolu nad tím, jak se zařízení přiřazují k centru IoT. Toho se dosahuje pomocí vlastního webhooku hostovaného ve službě Azure Functions k přiřazování zařízení do centra IoT. DPS volá váš webhook a poskytuje všechny relevantní informace o zařízení a registraci. Váš webhook vrátí IoT Hub a počáteční dvojče zařízení (volitelné) použité ke zřízení zařízení. Vlastní datové části lze také předat do a ze zařízení. Další informace najdete v tématu Vysvětlení vlastních zásad přidělování. Nejde nastavit jako výchozí zásady instance DPS.

Poznámka:

Předchozí seznam zobrazuje názvy zásad přidělování, jak se zobrazují na webu Azure Portal. Při nastavování zásad přidělování pomocí rozhraní REST API SLUŽBY DPS, Azure CLI a sad SDK služby DPS se označují takto: hashed, geolatency, statická a vlastní.

V propojeném centru IoT existují dvě nastavení, která řídí, jak se účastní přidělování:

  • Váha přidělení: Nastaví váhu, kterou bude centrum IoT mít při účasti v zásadách přidělování, které zahrnují více center IoT. Může to být hodnota mezi 1 000. Výchozí hodnota je jedna (nebo null).

    • Díky zásadám přidělování rovnoměrně vážených distribucí mají centra IoT s vyššími hodnotami váhy přidělení větší pravděpodobnost výběru v porovnání s hodnotami s nižší hmotností.

    • Při použití zásad přidělení nejnižší latence ovlivní hodnota váhy přidělení pravděpodobnost, že je vybráno centrum IoT, pokud více než jedno centrum IoT splňuje požadavek na nejnižší latenci.

    • Pokud použijete vlastní zásady přidělování, bude to záviset na logice webhooku, jestli a jak se použije hodnota váhy přidělení.

  • Použít zásady přidělování: Určuje, jestli se centrum IoT účastní zásad přidělování. Výchozí hodnota je Ano (true). Pokud je nastavená hodnota Ne (nepravda), nebudou se zařízení přiřazovat do centra IoT. Centrum IoT je stále možné vybrat v registraci, ale nebude se účastnit přidělení. Toto nastavení můžete použít k dočasnému nebo trvalému odebrání centra IoT z účasti na přidělení; Pokud se například blíží povolenému počtu zařízení.

Další informace o propojení a správě center IoT v instanci DPS najdete v tématu Propojení a správa ioT Hubů.

Když zařízení zřizuje prostřednictvím DPS, služba ho přiřadí službě IoT Hub podle následujících pokynů:

  • Pokud registrace určuje zásady přidělení, použijte tuto zásadu; v opačném případě použijte výchozí zásady přidělování pro instanci DPS.

  • Pokud registrace určuje jedno nebo více center IoT, použijte zásady přidělování napříč těmito ioT huby; jinak použijte zásadu přidělování ve všech centrech IoT propojených s instancí DPS. Všimněte si, že pokud je zásada přidělování statická konfigurace, musí registrace zadat centrum IoT.

Důležité

Když změníte zásady přidělování nebo ioT Huby, na které se vztahují, změny ovlivní jenom následné registrace zařízení. Zařízení, která jsou už zřízená pro centrum IoT, nebudou ovlivněná. Pokud chcete, aby se změny na tato zařízení použily zpětně, budete je muset znovu vytvořit. Další informace najdete v tématu Postup opětovného zřízení zařízení.

Nastavení výchozích zásad přidělování pro instanci DPS

Výchozí zásady přidělování pro instanci DPS se používají, když není pro registraci zadána zásada přidělení. Výchozí zásady přidělování podporují pouze rovnoměrně váženou distribuci, nejnižší latenci a statickou konfiguraci . Vlastní přidělení se nepodporuje. Když se vytvoří instance DPS, její výchozí zásada se automaticky nastaví na rovnoměrně váženou distribuci.

Poznámka:

Pokud nastavíte statickou konfiguraci jako výchozí zásady přidělování pro instanci DPS, musí být v registracích, které spoléhají na výchozí zásady, zadaná propojená služba IoT Hub.

Použití webu Azure Portal k nastavení výchozích zásad přidělování

Nastavení výchozích zásad přidělování pro instanci DPS na webu Azure Portal:

  1. V levé nabídce instance DPS vyberte Spravovat zásady přidělování.

  2. Vyberte tlačítko pro zásady přidělování, které chcete nastavit: nejnižší latenci, rovnoměrně váženou distribuci nebo statickou konfiguraci. (Pro výchozí zásady přidělování se nepodporuje vlastní přidělení.)

  3. Zvolte Uložit.

Použití Azure CLI k nastavení výchozích zásad přidělování

Pomocí příkazu az iot dps update Azure CLI nastavte výchozí zásady přidělování pro instanci DPS. Používáte --set properties.allocationPolicy k určení zásad. Například následující příkaz nastaví zásadu přidělování na rovnoměrně váženou distribuci (výchozí):

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

DPS také podporuje nastavení výchozích zásad přidělování pomocí rozhraní REST API pro vytváření nebo aktualizaci prostředků DPS, šablon Resource Manageru a sad SDK pro správu DPS.

Nastavení zásad přidělování a ioT Hubů pro registrace

Jednotlivé registrace a skupiny registrací můžou určovat zásady přidělování a propojené centra IoT, na které se mají vztahovat. Pokud registrace nezadá žádnou zásadu přidělení, použije se výchozí zásada přidělování pro instanci DPS.

V obou případech platí následující podmínky:

  • U rovnoměrně vážené distribuce, nejnižší latence a vlastních zásad přidělování může registrace určit, které propojené služby IoT Hub by se měly použít. Pokud nejsou v registraci vybrány žádné služby IoT Hub, použijí se všechna propojená centra IoT v instanci DPS.

  • V případě statické konfigurace musí registrace zadat jedno centrum IoT ze seznamu propojených center IoT.

Pro jednotlivé registrace i skupiny registrací můžete zadat zásady přidělení a propojené centra IoT, na které se mají použít při vytváření nebo aktualizaci registrace.

Použití webu Azure Portal ke správě zásad přidělování registrací a center IoT

Pokud chcete nastavit zásady přidělování a vybrat IoT Huby v registraci na webu Azure Portal:

  1. V levé nabídce instance DPS vyberte Spravovat registrace.

  2. Na stránce Spravovat registrace:

    • Pokud chcete vytvořit novou registraci, vyberte kartu Skupiny registrací nebo Jednotlivé registrace a pak vyberte Přidat skupinu registrací nebo Přidat jednotlivou registraci.

    • Pokud chcete aktualizovat existující registraci, vyberte ji ze seznamu na kartě Skupiny registrací nebo Jednotlivé registrace .

  3. Na stránce Přidat registraci (při vytvoření) nebo na stránce s podrobnostmi o registraci (při aktualizaci) vyberte kartu IoT Hubs. Na této kartě můžete vybrat zásady přidělování, které chcete použít pro registraci, a vybrat ioT Huby, které se mají použít:

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

    1. V rozevíracím seznamu vyberte centra IoT, ke kterým se dají zařízení přiřadit. Pokud vyberete zásadu přidělení statické konfigurace , budete omezeni na výběr jednoho propojeného centra IoT. U všech ostatních zásad přidělování budou ve výchozím nastavení vybrané všechny propojené centra IoT, ale tento výběr můžete upravit pomocí rozevíracího seznamu. Pokud chcete, aby registrace automaticky používala propojené ioT Huby při jejich přidání do (nebo odstraněné) instance DPS, zrušte výběr všech ioT Hubů.

    2. Volitelně můžete vybrat tlačítko Propojit nové centrum IoT a propojit nové centrum IoT s instancí DPS a zpřístupnit ho v seznamu ioT hubů, které je možné vybrat. Podrobnosti o propojení centra IoT najdete v tématu Propojení ioT Hubu.

    3. Vyberte zásadu přidělení, kterou chcete použít pro registraci. Výchozí zásady přidělování pro instanci DPS jsou ve výchozím nastavení vybrané. Pro vlastní přidělení budete také muset ve službě Azure Functions zadat webhook vlastních zásad přidělování. Podrobnosti najdete v kurzu Použití vlastních zásad přidělování.

  4. Nastavte všechny další vlastnosti potřebné pro registraci a pak uložte nastavení.

Použití Azure CLI ke správě zásad přidělování registrací a ioT Hubů

Pomocí příkazu az iot dps enrollment create, az iot dps enrollment update, az iot dps enrollment-group create, az iot dps enrollment-group update příkazy Azure CLI k vytvoření nebo aktualizaci jednotlivých registrací nebo skupin registrací.

Následující příkaz například vytvoří skupinu registrace symetrického klíče, která ve výchozím nastavení použije výchozí zásady přidělování nastavené v instanci DPS a všechny služby IoT Hub propojené s instancí DPS:

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

Následující příkaz aktualizuje stejnou skupinu registrací, aby používala zásady přidělování nejnižší latence se službou IoT Hubs s názvem MyExampleHub a 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"

DPS také podporuje nastavení zásad přidělování a vybraných center IoT v registraci pomocí rozhraní REST API pro vytvoření nebo aktualizaci jednotlivých registrací a rozhraní REST API skupiny vytvoření nebo aktualizace skupin registrací a sad SDK služby DPS.

Chování přidělení

Při používání zásad přidělování se službou IoT Hub si všimněte následujícího chování:

  • Pomocí Azure CLI, rozhraní REST API a sad SDK služby DPS můžete vytvářet registrace bez zásad přidělování. V takovém případě služba DPS používá výchozí zásady pro instanci DPS, když zařízení zřizuje prostřednictvím registrace. Změna výchozího nastavení zásad v instanci DPS změní způsob zřizování zařízení prostřednictvím registrace.

  • Nastavení zásad přidělení pro registraci na webu Azure Portal je předem vyplněné výchozími zásadami přidělování. Toto nastavení můžete zachovat nebo ho změnit na jinou zásadu, ale když registraci uložíte, nastaví se v registraci zásada přidělení. Následné změny výchozí zásady přidělování služby nezmění způsob zřizování zařízení prostřednictvím registrace.

  • Pro rovnoměrně váženou distribuci, nejnižší latenci a vlastní zásady přidělování můžete nakonfigurovat registraci tak, aby používala všechny služby IoT Hub propojené s instancí DPS:

    • Pomocí Azure CLI a sad SDK služby DPS vytvořte registraci bez zadání jakýchkoli center IoT.

    • Na webu Azure Portal se registrace předem naplní všemi službami IoT Hub propojenými s vybranou instancí DPS. Před uložením registrace zrušte výběr všech center IoT.

    Pokud nejsou v registraci vybrány žádné služby IoT Hub, bude se při každém propojení nového centra IoT s instancí DPS účastnit přidělení; a naopak pro centrum IoT, které je odebráno z instance DPS.

  • Pokud jsou centra IoT určená pro registraci, musí být nastavení ioT Hubů v registraci ručně nebo programově aktualizováno, aby se nově propojené centrum IoT přidalo nebo odstranilo centrum IoT, které se má odebrat z přidělení.

  • Změna zásad přidělení nebo ioT Hub používaných pro registraci má vliv jenom na následné registrace prostřednictvím této registrace. Pokud chcete, aby změny ovlivnily předchozí registrace, budete muset znovu vytvořit všechna dříve registrovaná zařízení.

Omezení

Při práci se zásadami přidělování a privátními koncovými body existují určitá omezení. Další informace najdete v tématu Omezení privátního koncového bodu.

Další kroky