Poznámka:
Přístup k této stránce vyžaduje autorizaci. Můžete se zkusit přihlásit nebo změnit adresáře.
Přístup k této stránce vyžaduje autorizaci. Můžete zkusit změnit adresáře.
Azure Event Grid umožňuje klientům přenosu telemetrie služby Řízení front zpráv (MQTT) komunikovat mezi sebou a se službami Azure, aby podporovaly vaše řešení Internetu věcí (IoT). K provedení následujících scénářů můžete použít funkci zprostředkovatele Event Grid MQTT. Ukázky kódu, které demonstrují tyto scénáře, najdete v tomto úložišti.
- Ingestování telemetrie pomocí vzoru zasílání zpráv M:1 Tento model umožňuje aplikaci přesměrovat zátěž správy vysokého počtu připojení se zařízeními ke službě Event Grid.
- Řídit klienty MQTT pomocí vzoru zasílání zpráv typu požadavek -odpověď (1:1). Tento model umožňuje všem klientům komunikovat s jiným klientem bez omezení bez ohledu na role klientů.
- Vysílejte výstrahy do flotily klientů pomocí vzoru zasílání zpráv 1:N. Tento model umožňuje aplikaci publikovat pouze jednu zprávu, kterou služba replikuje pro každého zúčastněného klienta.
- Integrujte data z klientů MQTT směrováním zpráv MQTT do služeb Azure a webhooků prostřednictvím funkce doručování nabízených oznámení HTTP. Pomocí této integrace se službami Azure můžete vytvářet datové kanály, které začínají příjmem dat ze zařízení IoT.
Zprostředkovatel MQTT je ideální pro implementaci automobilových scénářů, mobility a výroby mimo jiné. Informace o vytváření zabezpečených a škálovatelných řešení pro propojení milionů klientů MQTT s cloudem pomocí služeb zasílání zpráv a analýzy dat Azure najdete v referenčních architekturách pro automobilový průmysl a výrobu .
Klíčové koncepty
Následující klíčové koncepty jsou součástí funkce zprostředkovatele Event Grid MQTT.
MQTT
MQTT je přenosový protokol pro zasílání zpráv publikování a odběru, který byl navržen pro omezená prostředí. Je to oblíbený komunikační standard pro scénáře IoT z důvodu efektivity, škálovatelnosti a spolehlivosti. Zprostředkovatel MQTT umožňuje klientům publikovat a odebírat zprávy přes MQTT v3.1.1, MQTT v3.1.1 přes WebSocket, MQTT v5 a MQTT v5 přes WebSocket. Následující seznam ukazuje některé z hlavních funkcí zprostředkovatele MQTT:
Funkce MQTT v5:
- Poslední vůle a zákon: Upozorní vaše klienty MQTT na náhlé odpojení ostatních klientů MQTT. Pomocí této funkce můžete zajistit předvídatelný a spolehlivý tok komunikace mezi klienty MQTT během neočekávaných odpojení.
- Vlastnosti uživatele: Umožňuje přidat do záhlaví zprávy vlastní páry klíč/hodnota, které poskytují další kontext zprávy. Uveďte například účel nebo původ zprávy, aby příjemce mohl zprávu efektivně zpracovat.
- Model odpovědi na požadavek: Umožňuje klientům využít standardní asynchronní vzor odpovědi požadavku a zadat téma odpovědi a ID korelace v požadavku, aby klient reagoval bez předchozí konfigurace.
- Interval vypršení platnosti zprávy: Umožňuje deklarovat zprostředkovateli MQTT, kdy ignorovat zprávu, která už není relevantní nebo platná. Mezi příklady patří ignorování zastaralých příkazů nebo upozornění.
- Aliasy témat: Pomáhá klientům zmenšit velikost pole tématu, což snižuje náklady na přenos dat.
- Maximální velikost zprávy: Umožňuje klientům řídit maximální velikost zprávy, kterou můžou zpracovat ze serveru.
- Maximální příjem: Umožňuje klientům řídit rychlost zpráv v závislosti na jejich schopnostech, jako je rychlost zpracování nebo možnosti úložiště.
- Vyčištění spuštění a vypršení platnosti relace: Umožňuje klientům optimalizovat spolehlivost a zabezpečení relace zachováním informací o předplatném a zpráv klienta pro konfigurovatelný časový interval.
- Negativní potvrzení: Umožňuje klientům efektivně reagovat na různé kódy chyb.
- Pakety odpojení odesílané serverem: Umožňuje klientům efektivně zpracovávat odpojení.
- MQTT Zachovat: Zajišťuje, že zprostředkovatel uloží poslední publikovanou zprávu na téma a automaticky ji doručí všem novým odběratelům. Tato funkce umožňuje zařízením okamžitě přijímat nejnovější známý stav bez čekání na další aktualizaci. Tato funkce umožňuje rychlejší a spolehlivější synchronizaci stavu napříč systémy IoT.
Funkce MQTT v3.1.1:
- Poslední vůle a zákon: Upozorní vaše klienty MQTT na náhlé odpojení ostatních klientů MQTT. Pomocí této funkce můžete zajistit předvídatelný a spolehlivý tok komunikace mezi klienty MQTT během neočekávaných odpojení.
- Trvalé relace: Zajišťuje spolehlivost zachováním informací a zpráv předplatného klienta při odpojení klienta.
- QoS (Quality of Service) 0 a 1: Poskytuje klientům kontrolu nad efektivitou a spolehlivostí komunikace.
- MQTT Zachovat: Zajišťuje, že zprostředkovatel uloží poslední publikovanou zprávu na téma a automaticky ji doručí všem novým odběratelům. Tato funkce umožňuje zařízením okamžitě přijímat nejnovější známý stav bez čekání na další aktualizaci. Tato funkce umožňuje rychlejší a spolehlivější synchronizaci stavu napříč systémy IoT.
Následující části popisují aktuální rozdíly mezi funkcemi podporovanými zprostředkovatelem MQTT a specifikacemi MQTT v5. QoS 2 se nepodporuje.
Přečtěte si další informace o zprostředkovateli MQTT a aktuálních omezeních.
Model zasílání zpráv publikování a odběru
Model zasílání zpráv publikování a odběru poskytuje škálovatelnou a asynchronní komunikaci klientům. Umožňuje klientům přesměrovat zátěž zpracování velkého počtu připojení a zpráv ke službě. Prostřednictvím modelu zasílání zpráv s publikováním a odběrem může klienti efektivně komunikovat pomocí vzorů zasílání zpráv 1:N, M:1 a 1:1:
- 1:N: Umožňuje klientům publikovat pouze jednu zprávu, kterou služba replikuje pro každého zúčastněného klienta.
- N:1: Umožňuje klientům přesměrovat zátěž správy vysokého počtu připojení ke zprostředkovateli MQTT.
- 1:1: Umožňuje každému klientovi komunikovat s jiným klientem bez omezení bez ohledu na role klientů.
Obor názvů
Obor názvů Event Gridu je kontejner pro správu prostředků, které podporují funkce zprostředkovatele MQTT, spolu s prostředky, které podporují funkci doručování změn. Klient MQTT se může připojit ke zprostředkovateli MQTT a publikovat odběr zpráv. Zprostředkovatel MQTT ověřuje vaše klienty, autorizuje žádosti o publikování a odebírá odběr a předává zprávy zúčastněným klientům. Přečtěte si další informace o konceptu oboru názvů.
Klienti
Klienti odkazují na zařízení IoT nebo aplikace, které publikují a odebírat zprávy MQTT.
Zařízení IoT jsou fyzické objekty, které jsou připojené k internetu za účelem přenosu telemetrie a příjmu příkazů. Tato zařízení jsou senzory, spotřebiče, stroje nebo jiné objekty vybavené integrovanými senzory a softwarem. Senzory a software umožňují vzájemné komunikaci a interakci s prostředím kolem nich. Hodnota zařízení IoT spočívá v jejich schopnosti poskytovat data a přehledy v reálném čase, což podnikům a jednotlivcům umožňuje činit informovaná rozhodnutí a zlepšit efektivitu a produktivitu.
Aplikace IoT jsou software navržený pro interakci a zpracování dat ze zařízení IoT. Obvykle zahrnují komponenty, jako je shromažďování dat, zpracování, úložiště, vizualizace a analýza. Tyto aplikace umožňují uživatelům monitorovat a řídit připojená zařízení, automatizovat úlohy a získávat přehledy o datech generovaných zařízeními IoT.
Ověřování klientů
Event Grid má klientský registr, který ukládá informace o klientech, kteří se k němu mohou připojit. Než se klient může připojit, musí existovat položka pro tohoto klienta v registru klienta. Klient se připojuje ke zprostředkovateli MQTT, musí se ověřit pomocí zprostředkovatele MQTT na základě přihlašovacích údajů uložených v registru identit. Zprostředkovatel MQTT podporuje následující mechanismy ověřování klientů:
- Ověřování certifikátů X.509 je oborové ověřování na zařízeních IoT.
- Ověřování Microsoft Entra ID je standard ověřování Azure pro aplikace. Přečtěte si další informace o ověřování klientů MQTT.
- Flexibilní ověřování:
- Ověřování webového tokenu JSON OAuth 2.0 (JWT) poskytuje jednoduchou, zabezpečenou a flexibilní možnost pro klienty MQTT, kteří nejsou zřízeni v Azure.
- Vlastní ověřování webhooku umožňuje externím koncovým bodům HTTP (webhooky) dynamicky ověřovat připojení MQTT. K zajištění zabezpečeného přístupu používá ověřování JWT pro Microsoft Entra ID.
Řízení přístupu
Řízení přístupu je pro scénáře IoT zásadní vzhledem k obrovskému rozsahu prostředí IoT a jedinečným výzvám zabezpečení omezených zařízení. Event Grid poskytuje řízení přístupu na základě role prostřednictvím flexibilního modelu řízení přístupu, který můžete použít ke správě autorizace klientů k publikování nebo přihlášení k odběru témat.
Díky obrovskému měřítku prostředí IoT je přiřazování oprávnění každému klientovi k jednotlivým tématům neuvěřitelně zdlouhavé. Flexibilní řízení přístupu služby Event Grid řeší tuto výzvu škálování prostřednictvím seskupování klientů a témat do skupin klientů a témat. Po vytvoření skupin klientů a prostorů témat můžete nakonfigurovat vazbu oprávnění pro udělení přístupu ke skupině klientů pro publikování nebo přihlášení k odběru prostoru tématu.
Prostory témat také poskytují podrobné řízení přístupu tím, že umožňují řídit autorizaci jednotlivých klientů v rámci skupiny klientů k publikování nebo přihlášení k odběru vlastního tématu. Toto podrobné řízení přístupu se dosahuje pomocí proměnných v šablonách témat. Přečtěte si další informace o řízení přístupu.
Směrování
Pomocí event Gridu můžete směrovat zprávy MQTT do služeb Azure nebo webhooků pro další zpracování. Proto můžete vytvářet komplexní řešení pomocí dat IoT pro analýzu dat, úložiště a vizualizace mimo jiné případy použití. Pomocí konfigurace směrování můžete odesílat všechny zprávy MQTT z klientů do tématu oboru názvů Event Gridu nebo vlastního tématu Event Gridu. Jakmile jsou zprávy v tématu, můžete nakonfigurovat odběr událostí tak, aby zprávy z tématu spotřebovávat. Pomocí této funkce můžete například pomocí služby Event Grid směrovat telemetrii ze zařízení IoT do služby Event Hubs a pak do Azure Stream Analytics získat přehledy z telemetrie zařízení. Přečtěte si další informace o směrování.
Události MQTT do eventstreamů Microsoft Fabric (Preview)
Směrování zpráv MQTT a cloudových událostí z oboru názvů Event Gridu do eventstreamů Microsoft Fabric pro analýzy, úložiště a vizualizaci dat IoT v reálném čase
Integrace zprostředkovatele Edge MQTT
Event Grid se integruje s operacemi Azure IoT , aby přemostěl jeho schopnost zprostředkovatele MQTT na hraničních zařízeních s funkcí zprostředkovatele Event Grid MQTT v cloudu. Operace Azure IoT poskytují nový distribuovaný zprostředkovatel MQTT pro edge computing běžící na clusterech Kubernetes s podporou Azure Arc. Může se připojit ke zprostředkovateli Event Grid MQTT pomocí ověřování Microsoft Entra ID pomocí spravované identity přiřazené systémem, která zjednodušuje správu přihlašovacích údajů. Zprostředkovatel MQTT poskytuje vysokou dostupnost, škálovatelnost a zabezpečení pro vaše zařízení a aplikace IoT. Přečtěte si další informace o připojení zprostředkovatele Azure IoT Operations MQTT k zprostředkovateli Event Grid MQTT.
Události životního cyklu klienta MQTT
Události životního cyklu klienta umožňují aplikacím reagovat na události týkající se stavu připojení klienta nebo operací prostředků klienta. Můžete sledovat stav připojení klienta, reagovat pomocí akce zmírnění rizik pro odpojení klientů a sledovat obor názvů, ke kterému jsou vaši klienti připojeni během automatizovaných převzetí služeb při selhání. Přečtěte si další informace o událostech životního cyklu klienta MQTT.
Vlastní doménová jména
Podpora vlastních názvů domén umožňuje uživatelům přiřazovat vlastní názvy domén ke koncovým bodům MQTT a HTTP oboru názvů služby Event Grid, což zlepšuje zabezpečení a zjednodušuje konfiguraci klienta. Tato funkce pomáhá podnikům splňovat požadavky na zabezpečení a dodržování předpisů a eliminuje potřebu upravovat klienty, kteří jsou už propojeni s doménou. Přiřazení vlastního názvu domény k více oborům názvů může také pomoct zvýšit dostupnost, spravovat kapacitu a zpracovávat mobilitu klientů napříč oblastmi. Přečtěte si další informace o vlastních názvech domén.
Zachování MQTT (Preview)
Uchovávané zprávy MQTT slouží k uložení poslední známé dobré hodnoty tématu na zprostředkovateli, aby noví odběratelé okamžitě obdrželi nejnovější zprávu, aniž by čekali na další publikování. Tato funkce je zvlášť užitečná ve scénářích, jako je generování sestav stavu zařízení, řídicí signály nebo konfigurační data, kde musí být nejnovější zpráva vždy dostupná pro klienty při připojení. Další informace najdete v tématu MQTT Zachování podpory ve službě Azure Event Grid.
Publikování HTTP (Preview)
Publikování HTTP umožňuje aplikacím publikovat zprávy MQTT do zprostředkovatele Event Grid MQTT prostřednictvím jednoduchého požadavku HTTPS POST bez zachování aktivní relace MQTT. Je nejvhodnější pro scénáře, kdy klienti MQTT nejsou proveditelní nebo nezbytná, například bezserverové funkce, cloudové služby nebo back-endové aplikace. Publikování HTTP umožňuje architekturám řízeným událostmi spolehlivě a bezpečně vkládat zprávy MQTT. Mezi běžné případy použití patří publikování příkazů zařízení, upozornění nebo řídicích signálů z Azure Functions, Azure Logic Apps nebo integrací rozhraní API. Další informace najdete v tématu HTTP Publikování zpráv MQTT ve službě Azure Event Grid.
Koncepty
Další informace o konceptech zprostředkovatele MQTT v Event Gridu:
- Terminologie
- Ověřování klientů
- Řízení přístupu
- Podpora protokolu MQTT
- Směrování zpráv MQTT
- Události životního cyklu klienta MQTT
Související obsah
Přečtěte si další informace o zprostředkovateli MQTT a jeho hlavních konceptech: