Sdílet prostřednictvím


Koncepty opětovné konfigurace zařízení ve službě IoT Hub

Během životního cyklu řešení IoT je běžné přesouvat zařízení mezi ioT Huby. Mezi důvody tohoto přesunu patří následující scénáře:

  • Geografická poloha / GeoLatency: Při přesouvání zařízení mezi umístěními se zlepšuje latence sítě tím, že se zařízení migruje do blíže centra IoT.

  • Víceklientská architektura: Zařízení lze použít ve stejném řešení IoT a znovu přiřadit novému zákazníkovi nebo pracovišti zákazníka. Tento nový zákazník může být obsluhován pomocí jiného centra IoT.

  • Změna řešení: Zařízení může být přesunuto do nového nebo aktualizovaného řešení IoT. Toto opětovné přiřazení může vyžadovat, aby zařízení komunikuje s novým centrem IoT připojeným k jiným back-endovým komponentám.

  • Karanténa: Podobá se změně řešení. Zařízení, které nefunguje správně, je ohroženo nebo zastaralé, může být znovu přiřazeno k centru IoT, které může aktualizovat a vrátit zpět dodržování předpisů. Jakmile zařízení funguje správně, je migrováno zpět do své hlavní centrály.

Podpora přeprovisionování ve službě připravování zařízení řeší tyto potřeby. Zařízení se dají automaticky znovu přiřadit k novým centrem IoT na základě zásad opětovného zřízení nakonfigurovaných v položce registrace zařízení.

Data o stavu zařízení

Data o stavu zařízení se skládají z dvojče zařízení a vlastností zařízení. Tato data jsou uložená v instanci služby Device Provisioning a v centru IoT, ke kterému je zařízení přiřazeno.

Diagram ukazující, jak probíhá zřizování pomocí služby Device Provisioning Service.

Při počátečním zřízení zařízení s instancí služby Device Provisioning se provádí následující kroky:

  1. Zařízení odešle požadavek na zřizování do instance služby Device Provisioning. Instance služby ověřuje identitu zařízení na základě položky registrace a vytvoří počáteční konfiguraci dat o stavu zařízení. Instance služby přiřadí zařízení k centru IoT na základě konfigurace registrace a vrátí přiřazení centra IoT k zařízení.

  2. Instance služby zřizování poskytuje kopii všech počátečních dat o stavu zařízení do přiřazeného centra IoT. Zařízení se připojí k přiřazené službě IoT Hub a zahájí operace.

V průběhu času můžou operace zařízení a back-endové operace aktualizovat data o stavu zařízení v centru IoT. Počáteční informace o stavu zařízení uložené v instanci služby Device Provisioning zůstanou nedotčené. Tato nedotčená data o stavu zařízení jsou počáteční konfigurací.

Diagram znázorňující změny stavu zařízení pro zařízení zřízená pomocí služby Device Provisioning

Pokud se zařízení přesune mezi IoT huby, může být také nutné migrovat stav zařízení aktualizovaný v předchozím IoT hubu do nového IoT hubu. Zásady pro reprovisioning ve službě Device Provisioning mohou tuto migraci podporovat.

Zásady přeposkytnutí

V závislosti na scénáři může zařízení při restartu odeslat žádost instanci služby zřizování. Podporuje také metodu ruční aktivace zřizování na vyžádání. Zásada opětovného zřízení položky registrace určuje, jak instance služby zřizování zařízení zpracovává tyto požadavky na zřizování. Zásada také určuje, jestli se během opětovného zřizování mají migrovat data o stavu zařízení. Stejné zásady jsou k dispozici pro jednotlivé registrace a skupiny registrací:

  • Znovuzřízení a migrace dat: Tato politika je výchozí pro nové položky registrace. Tato zásada provádí akci, když zařízení přidružená k položce registrace odesílají novou žádost (1). V závislosti na konfiguraci položky registrace může být zařízení znovu přiřazeno k jinému centru IoT. Pokud zařízení mění centra IoT, registrace zařízení s počátečním centrem IoT se odebere. Aktualizované informace o stavu zařízení z tohoto počátečního centra IoT se migrují do nového ioT Hubu (2). Během migrace se stav zařízení hlásí jako Přiřazování.

    Diagram znázorňující, že politika provede akci, když zařízení přidružená k položce registrace odešlou novou žádost.

  • Opětovné zřízení a resetování počáteční konfigurace: Tato zásada provede akci, když zařízení přidružená k položce registrace odešlou novou žádost o zřízení (1). V závislosti na konfiguraci položky registrace může být zařízení znovu přiřazeno k jinému centru IoT. Pokud zařízení mění centra IoT, registrace zařízení s počátečním centrem IoT se odebere. Počáteční konfigurační data, která instance služby zřizování přijala při zřízení zařízení, se poskytují do nového centra IoT (2). Během migrace se stav zařízení hlásí jako Přiřazování.

    Tato zásada se často používá pro obnovení továrního nastavení aniž by docházelo ke změnám IoT Hubů.

    Diagram znázorňující, jak politika provádí akci, když zařízení přidružená k položce registrace odešlou novou žádost o zřízení.

  • Nikdy znovu nezřazujete: Zařízení se nikdy znovu nepřiřazuje k jinému centru. Tato zásada se poskytuje pro správu zpětné kompatibility.

Note

Služba DPS vždy volá vlastní webhook pro přidělení bez ohledu na politiku opětovného zřízení v případě, že je pro zařízení dostupná nová ReturnData. Pokud je zásada opětovného zřízení nastavená na nikdy znovu zřízení, volá se webhook, ale zařízení nezmění přiřazené centrum.

Při návrhu řešení a definování logiky opětovného zřízení je potřeba zvážit několik věcí. Například:

  • Jak často očekáváte restartování zařízení
  • Kvóty a omezení DPS
  • Očekávaný čas nasazení pro váš flotilu (postupné zavedení vs. vše najednou)
  • Funkce opakování implementovaná ve vašem klientském kódu, jak je popsáno v obecných pokynech pro opakování v Centru architektury Azure

Tip

Při každém restartování zařízení doporučujeme nezřizovat, protože tato akce může způsobit určité problémy při opětovném zřízení několika tisíc nebo milionů zařízení najednou. Místo toho byste se měli pokusit použít rozhraní API pro vyhledávání stavu registrace zařízení a pokusit se tyto informace připojit ke službě IoT Hub. Pokud se to nezdaří, zkuste ho znovu zřídit, protože se mohou změnit informace o IoT Hubu. Mějte na paměti, že dotazování na stav registrace se počítá jako nová registrace zařízení, takže byste měli zvážit limit registrace zařízení. Zvažte také implementaci vhodné logiky opakování, jako je například exponenciální back-off s randomizací, jak je popsáno v obecných pokynech k opakování. V některých případech je v závislosti na možnostech zařízení možné uložit informace o službě IoT Hub přímo na zařízení a připojit se přímo ke službě IoT Hub po prvním zřízení pomocí DPS. Pokud se rozhodnete uložit přímo na zařízení, ujistěte se, že implementujete záložní mechanismus v případě, že dojde k určitým chybám ze služby IoT Hub . Uvažujme například následující scénáře:

  • Zkuste operaci IoT Hubu zopakovat, pokud je kód výsledku 429 (Příliš mnoho požadavků) nebo chyba v rozsahu 5xx. Neopakujte akci při jiných chybách.
  • V případě chyb 429 zkuste akci opakovat pouze po čase uvedeném v hlavičce Retry-After.
  • V případě chyb 5xx použijte exponenciální zpoždění, přičemž první opakování proběhne alespoň 5 sekund po odpovědi.
  • Při chybách jiných než 429 a 5xx se znovu zaregistrujte prostřednictvím DPS
  • V ideálním případě byste také měli podporovat přímou metodu pro ruční aktivaci zřizování na vyžádání.

Při plánování aktivit, jako je nabízení aktualizací vašeho vozového parku, také doporučujeme vzít v úvahu limity služeb. Například aktualizace vozového parku najednou může způsobit, že se všechna zařízení znovu zaregistrují prostřednictvím DPS (což by mohlo být snadno nad limit kvóty registrace) – V takových scénářích zvažte plánování aktualizací zařízení ve fázích místo aktualizace celého vozového parku najednou.

Správa zpětné kompatibility

Před zářím 2018 měla přiřazení zařízení k IoT Hubům trvalé chování. Když zařízení procházelo procesem zřizování znovu, bylo mu přiřazeno pouze stejné IoT hub.

U řešení, která na tomto chování závisí, zahrnuje služba zřizování zpětnou kompatibilitu. Toto chování se v současnosti udržuje pro zařízení podle následujících kritérií:

  • Zařízení se připojují s verzí rozhraní API před poskytnutím nativní podpory reprovisioningu ve službě Device Provisioning. Projděte si následující tabulku rozhraní API.

  • Položka registrace pro zařízení nemá nastavenou zásadu opětovného zřízení.

Tato kompatibilita zajišťuje, že dříve nasazená zařízení mají stejné chování jako při počátečním testování. Pokud chcete zachovat předchozí chování, nepoužijte k těmto registracím zásady opětovného poskytování. Pokud je nastavená zásada opětovného zřízení, má zásada opětovného zřízení přednost před chováním. Když povolíte, aby zásady reprovizování měly přednost, můžou zákazníci aktualizovat chování zařízení, aniž by museli zařízení přeinstalovat.

Následující vývojový diagram vám pomůže ukázat, kdy je toto chování přítomné:

Vývojový diagram, který zobrazuje zpětnou kompatibilitu chování zařízení

Následující tabulka ukazuje verze rozhraní API před dostupností nativní podpory opětovné konfigurace ve službě pro zajištění zařízení:

REST API C SDK Python SDK Node SDK Java SDK .NET SDK
2018-04-01 a starší 1.2.8 a starší 1.4.2 a starší 1.7.3 nebo starší 1.13.0 nebo starší 1.1.0 nebo starší

Note

Tyto hodnoty a odkazy se pravděpodobně změní. Sady Azure IoT SDK a rozhraní API jsou verzovány, aby zajistilo, že aplikace a služby budou dál fungovat, jak se produkty a rozhraní API vyvíjejí. Doporučujeme ověřit nejnovější verze sad AZURE IoT SDK a rozhraní API v referenční dokumentaci pro tyto sady SDK a rozhraní API. Například nejnovější verze rozhraní REST API služby Azure IoT Hub Device Provisioning je 2021–10-01.

Další kroky