Megosztás a következőn keresztül:


Az Azure Event Grid MQTT-közvetítő funkciójának áttekintése

Az Azure Event Grid lehetővé teszi az MQTT-ügyfelek számára, hogy kommunikáljanak egymással és az Azure-szolgáltatásokkal, hogy támogassák az IoT-megoldásokat.

Az Azure Event Grid MQTT-közvetítő funkciója lehetővé teszi a következő forgatókönyvek elvégzését:

  • Telemetriai adatok betöltése több-az-egyhez üzenetkezelési mintával. Ez a minta lehetővé teszi az alkalmazás számára, hogy kiterjesse az eszközök és az Event Grid közötti kapcsolatok nagy számának kezelését.
  • Az MQTT-ügyfelek vezérlése a kérés-válasz (egy-az-egyhez) üzenetkezelési mintával. Ez a minta lehetővé teszi, hogy minden ügyfél korlátozás nélkül kommunikáljon más ügyféllel, függetlenül az ügyfelek szerepkörétől.
  • Riasztásokat közvetíthet egy ügyfélflotta számára az egy-a-többhöz üzenetkezelési mintával. Ez a minta lehetővé teszi, hogy az alkalmazás csak egy üzenetet tegyen közzé, amelyet a szolgáltatás minden érdekelt ügyfél számára replikál.
  • Az MQTT-ügyfelek adatainak integrálása az MQTT-üzenetek Azure-szolgáltatásokba és webhookokra való átirányításával a HTTP Leküldéses kézbesítés funkcióval. Az Azure-szolgáltatásokkal való integráció lehetővé teszi olyan adatfolyamok készítését, amelyek az IoT-eszközökről származó adatbetöltéssel kezdődnek.

Ebben az adattárban olyan kódmintákat találhat, amelyek bemutatják ezeket a forgatókönyveket.

Az MQTT közvetítő többek között autóipari és mobilitási forgatókönyvek megvalósításához ideális. A referenciaarchitektúra segítségével megtudhatja, hogyan hozhat létre biztonságos és méretezhető megoldásokat több millió jármű felhőhöz való csatlakoztatásához az Azure üzenetkezelési és adatelemzési szolgáltatásaival.

Az Event Grid magas szintű diagramja, amely kétirányú MQTT-kommunikációt jelenít meg a közzétevői és előfizetői ügyfelekkel.

Fő fogalmak

Az alábbiakban felsoroljuk az Azure Event Grid MQTT-közvetítő funkciójával kapcsolatos legfontosabb fogalmakat.

MQTT

Az MQTT egy korlátozott környezetekhez tervezett, közzétételre feliratkozott üzenettovábbítási átviteli protokoll. Ez az IoT-forgatókönyvek ajánlott kommunikációs szabványa a hatékonyság, a méretezhetőség és a megbízhatóság miatt. Az MQTT-közvetítő lehetővé teszi, hogy az ügyfelek az MQTT 3.1.1-es, MQTT 3.1.1-es v3.1.1-es és websocketeken, MQTT v5 és MQTT v5 protokollokon keresztül tegyenek közzé és iratkozzanak fel az üzenetekre. Az alábbi lista az MQTT-közvetítő néhány funkciókiemelését mutatja be:

  • MQTT v5 funkciók:

    • A Last Will and Testament (LWT) értesíti az MQTT-ügyfeleket a többi MQTT-ügyfél hirtelen megszakadásával. Az LWT használatával kiszámítható és megbízható kommunikációt biztosíthat az MQTT-ügyfelek között váratlan leválasztások során.
    • A felhasználói tulajdonságok lehetővé teszik egyéni kulcs-érték párok hozzáadását az üzenet fejlécében, hogy több kontextust biztosítson az üzenetről. Adja meg például az üzenet célját vagy forrását, hogy a fogadó hatékonyan tudja kezelni az üzenetet.
    • A kérés-válasz minta lehetővé teszi az ügyfelek számára, hogy kihasználják a szabványos kérés-válasz aszinkron mintát, megadva a válasz témakörét és korrelációs azonosítóját abban a kérésben, hogy az ügyfél előzetes konfiguráció nélkül válaszoljon.
    • Az üzenet lejárati időköze lehetővé teszi, hogy deklarálja az MQTT-közvetítőnek, amikor figyelmen kívül hagy egy már nem releváns vagy érvényes üzenetet. Figyelmen kívül hagyhatja például az elavult parancsokat vagy riasztásokat.
    • A témakör aliasai segítenek az ügyfeleknek csökkenteni a témakörmező méretét, így az adatátvitel költségesebb lesz.
    • A maximális üzenetméret lehetővé teszi, hogy az ügyfelek szabályozni tudják a kiszolgálóról kezelhető maximális üzenetméretet.
    • A Maximum fogadása lehetővé teszi az ügyfelek számára az üzenet sebességének szabályozását a képességeiktől függően, például a feldolgozási sebességtől vagy a tárolási képességektől függően.
    • A tiszta kezdés és a munkamenet lejárata lehetővé teszi az ügyfelek számára, hogy optimalizálják a munkamenet megbízhatóságát és biztonságát azáltal, hogy megőrzik az ügyfél előfizetési adatait és üzeneteit egy konfigurálható időintervallumra.
    • A negatív visszaigazolások lehetővé teszik, hogy az ügyfelek hatékonyan reagáljanak a különböző hibakódokra.
    • A kiszolgáló által küldött leválasztási csomagok lehetővé teszik az ügyfelek számára a leválasztások hatékony kezelését.
  • Az MQTT-közvetítő a jövőben további MQTT v5-funkciókat ad hozzá, hogy jobban igazodjon az MQTT specifikációihoz. Az alábbi elemek az MQTT-közvetítő által támogatott funkciók és az MQTT v5 specifikációi közötti aktuális különbségeket ismertetik: A Will message, a Retain flag, az Message Ordering és a QoS 2 nem támogatott.

  • MQTT v3.1.1 funkciók:

    • A Last Will and Testament (LWT) értesíti az MQTT-ügyfeleket a többi MQTT-ügyfél hirtelen megszakadásával. Az LWT használatával kiszámítható és megbízható kommunikációt biztosíthat az MQTT-ügyfelek között váratlan leválasztások során.
    • Az állandó munkamenetek biztosítják a megbízhatóságot az ügyfél előfizetési adatainak és üzeneteinek megőrzésével, amikor az ügyfél megszakad.
    • A QoS 0 és 1 biztosítja az ügyfelek számára a kommunikáció hatékonyságának és megbízhatóságának ellenőrzését.
  • Az MQTT-közvetítő a jövőben további MQTT 3.1.1-es verziójú funkciókat ad hozzá, hogy jobban igazodjon az MQTT specifikációihoz. Az alábbi elemek az MQTT-közvetítő által támogatott funkciók és az MQTT 3.1.1-es verziós specifikációja közötti aktuális különbségeket ismertetik: A jelölő megtartása, az üzenetrendezés és a QoS 2 nem támogatott.

További információ az MQTT-közvetítőről és az aktuális korlátozásokról.

Publish-Subscribe üzenetkezelési modell

A közzétételre feliratkozó üzenetkezelési modell skálázható és aszinkron kommunikációt biztosít az ügyfelekkel. Lehetővé teszi, hogy az ügyfelek kiterheljék a szolgáltatáshoz kapcsolódó nagyszámú kapcsolat és üzenet kezelésének terhét. A Publish-Subscribe üzenetkezelési modell segítségével az ügyfelek hatékonyan kommunikálhatnak egy-a-többhöz, több-az-egyhez és egy-az-egyhez üzenetkezelési mintákkal.

  • Az egy-a-többhöz üzenetkezelési minta lehetővé teszi az ügyfelek számára, hogy csak egy üzenetet tegyenek közzé, amelyet a szolgáltatás minden érdekelt ügyfél számára replikál.
  • A több-az-egyhez üzenetkezelési minta lehetővé teszi az ügyfelek számára, hogy kiterheljék az MQTT-közvetítőhöz való nagy számú kapcsolat kezelésének terhét.
  • Az egy-az-egyhez üzenetkezelési minta lehetővé teszi, hogy minden ügyfél korlátozás nélkül kommunikáljon más ügyféllel, függetlenül az ügyfelek szerepkörétől.

Névtér

Az Event Grid Namespace az MQTT-közvetítő funkciót támogató erőforrások és a lekéréses kézbesítést támogató erőforrások felügyeleti tárolója. Az MQTT-ügyfél csatlakozhat az MQTT-közvetítőhöz, és üzeneteket tehet közzé/iratkozhat fel, míg az MQTT-közvetítő hitelesíti ügyfeleit, engedélyezi a közzétételi/feliratkozási kérelmeket, és továbbítja az üzeneteket az érdekelt ügyfeleknek. További információ a névtér fogalmáról .

Ügyfelek

Az ügyfelek olyan IoT-eszközökre vagy alkalmazásokra hivatkoznak, amelyek MQTT-üzeneteket tesznek közzé és iratkoznak fel.

Az IoT-eszközök olyan fizikai objektumok, amelyek az internethez csatlakoznak a telemetriai adatok továbbításához és a parancsok fogadásához. Ezek az eszközök lehetnek érzékelők, berendezések, gépek vagy más, beágyazott érzékelőkkel és szoftverekkel felszerelt objektumok. Az érzékelők és a szoftverek lehetővé teszik számukra, hogy kommunikáljanak és kommunikáljanak egymással és a környezettel. Az IoT-eszközök értéke abban rejlik, hogy valós idejű adatokat és megállapításokat tudnak nyújtani, lehetővé téve a vállalkozások és az egyének számára, hogy megalapozott döntéseket hozzanak, és javítsák a hatékonyságot és a termelékenységet.

Az IoT-alkalmazások IoT-eszközök adatainak kezeléséhez és feldolgozásához tervezett szoftverek. Ezek általában olyan összetevőket tartalmaznak, mint az adatgyűjtés, a feldolgozás, a tárolás, a vizualizáció és az elemzés. Ezek az alkalmazások lehetővé teszik a felhasználók számára a csatlakoztatott eszközök monitorozását és vezérlését, a feladatok automatizálását és az IoT-eszközök által létrehozott adatok elemzését.

Ügyfél-hitelesítés

Az Event Grid rendelkezik egy ügyfélregisztrációs adatbázissal, amely a csatlakozáshoz engedélyezett ügyfelek adatait tárolja. Ahhoz, hogy az ügyfél csatlakozni tud, az ügyfélnek meg kell lennie egy bejegyzésnek az ügyfélregisztrációs adatbázisban. Amikor egy ügyfél csatlakozik az MQTT-közvetítőhöz, az identitásjegyzékben tárolt hitelesítő adatok alapján hitelesítenie kell az MQTT-közvetítővel. Az MQTT-közvetítő a következő ügyfél-hitelesítési mechanizmusokat támogatja:

Hozzáférés-vezérlés

A hozzáférés-vezérlés kritikus fontosságú az IoT-forgatókönyvek esetében, figyelembe véve az IoT-környezetek hatalmas méreteit és a korlátozott eszközök egyedi biztonsági kihívásait. Az Event Grid egy rugalmas hozzáférés-vezérlési modellen keresztül biztosítja a szerepköralapú hozzáférés-vezérlést (RBAC), amely lehetővé teszi az ügyfelek engedélyeinek kezelését a témakörök közzétételére vagy előfizetésére.

Az IoT-környezetek hatalmas mérete miatt az egyes ügyfelek engedélyeinek hozzárendelése az egyes témakörökhöz hihetetlenül fárasztó. Az Event Grid rugalmas hozzáférés-vezérlése az ügyfelek és témakörök ügyfélcsoportokba és témakörterekbe való csoportosításával oldja meg ezt a skálázási kihívást. Miután létrehozta az ügyfélcsoportokat és a témakörtereket, konfigurálhat egy engedélykötést, hogy hozzáférést biztosítson egy ügyfélcsoportnak a témakörtér közzétételéhez vagy előfizetéséhez.

A hozzáférés-vezérlési modell ábrája.

A témakörterek részletes hozzáférés-vezérlést is biztosítanak, lehetővé téve az ügyfélcsoporton belüli egyes ügyfelek engedélyezését, hogy közzétehessék vagy előfizethessenek a saját témakörére. Ez a részletes hozzáférés-vezérlés a témakörsablonok változóinak használatával érhető el. További információ a hozzáférés-vezérlésről.

Útválasztás

Az Event Grid lehetővé teszi az MQTT-üzenetek átirányítását az Azure-szolgáltatásokba vagy webhookokra további feldolgozás céljából. Ennek megfelelően az IoT-adatok használatával többek között adatelemzéshez, tároláshoz és vizualizációkhoz is létrehozhat végpontok közötti megoldásokat, többek között használati esetekben. Az útválasztási konfiguráció lehetővé teszi az összes MQTT-üzenet küldését az ügyfelektől egy Event Grid-névtér témakörbe vagy egy egyéni Event Grid-témakörbe. Miután az üzenetek a témakörbe kerülnek, konfigurálhat egy esemény-előfizetést a témakörből származó üzenetek felhasználására. Ez a funkció lehetővé teszi például, hogy az Event Grid segítségével az IoT-eszközökről az Event Hubsba, majd az Azure Stream Analyticsbe irányíthassa a telemetriát, hogy betekintést nyerjen az eszköz telemetriai adataiba. További információ az útválasztásról.

Az MQTT-üzenet útválasztásának diagramja.

Edge MQTT-közvetítő integrációja

Az Event Grid integrálható az Azure IoT MQ-val, hogy áthidalja az MQTT-közvetítő képességeit a peremhálózaton az Azure Event Grid MQTT-közvetítő funkciójával a felhőben. Az Azure IoT MQ egy új elosztott MQTT-közvetítő a peremhálózati számítástechnikához, amely Arc-kompatibilis Kubernetes-fürtökön fut. Csatlakozhat az Event Grid MQTT-közvetítőhöz Microsoft Entra ID (korábbi nevén Azure Active Directory) hitelesítéssel, rendszer által hozzárendelt felügyelt identitással, ami leegyszerűsíti a hitelesítő adatok kezelését. Az Azure IoT MQ magas rendelkezésre állást, méretezhetőséget és biztonságot biztosít az IoT-eszközök és -alkalmazások számára. Mostantól nyilvános előzetes verzióban érhető el az Azure IoT Operations részeként. További információ az Azure IoT MQ és az Azure Event Grid MQTT-közvetítőjének összekapcsolásáról.

MQTT-ügyfelek életciklus-eseményei

Az ügyfél életciklus-eseményei lehetővé teszik, hogy az alkalmazások reagáljanak az ügyfélkapcsolat állapotával vagy az ügyfélerőforrás-műveletekkel kapcsolatos eseményekre. Lehetővé teszi az ügyfél kapcsolati állapotának nyomon követését, az ügyfelek leválasztásának kockázatcsökkentő művelettel való reagálását, valamint az ügyfelek által az automatizált feladatátvételek során csatolt névteret. További információ az MQTT-ügyfél életciklus-eseményeiről.

Egyéni tartománynevek

Az egyéni tartománynevek támogatása lehetővé teszi a felhasználók számára, hogy saját tartományneveiket rendeljék az Event Grid-névtér MQTT- és HTTP-végpontjaihoz, növelve a biztonságot és egyszerűsítve az ügyfélkonfigurációt. Ez a funkció segít a vállalatoknak megfelelni a biztonsági és megfelelőségi követelményeknek, és nem szükséges módosítani a tartományhoz már csatolt ügyfeleket. Ha egyéni tartománynevet rendel több névtérhez, az segíthet a rendelkezésre állás növelésében, a kapacitás kezelésében és a régiók közötti ügyfél-mobilitás kezelésében. További információ az egyéni tartománynevekről.

Következő lépések

Az alábbi cikkekből többet is megtudhat az MQTT-közvetítőről és annak fő fogalmairól.

Fogalmak