Az IoT Hub üzenet-útválasztásának használata az eszközről a felhőbe irányuló üzenetek Azure-szolgáltatásokba való küldéséhez

Az üzenet-útválasztással automatikus, skálázható és megbízható módon küldhet üzeneteket az eszközeiről a felhőszolgáltatásoknak. Az üzenet-útválasztás a következőre használható:

  • Eszköztelemetriaüzenetek és események küldése a beépített végpontra és az egyéni végpontokra. Az irányítható események közé tartoznak az eszköz életciklus-eseményei, az ikereszköz-változási események, a digitális ikerpéldány-változási események és az eszközkapcsolat állapotának eseményei.

  • Adatok szűrése az útválasztás előtt gazdag lekérdezések alkalmazásával. Az üzenet-útválasztással lekérdezheti az üzenet tulajdonságait és üzenettörzsét, valamint az ikereszköz-címkéket és az ikereszköz-tulajdonságokat. További információ: lekérdezések az üzenet-útválasztásban.

Az IoT Hub egy közös formátumot határoz meg az összes eszközről a felhőbe irányuló üzenetkezeléshez a protokollok közötti együttműködéshez. További információ: IoT Hub-üzenetek létrehozása és olvasása.

Feljegyzés

A cikkben említett egyes funkciók, például a felhő–eszköz irányú üzenetküldés, az ikereszközök és az eszközfelügyelet csak a standard szintű IoT Hubon érhető el. Az alapszintű és standard/ingyenes IoT Hub-szintekről további információt a megoldáshoz megfelelő IoT Hub-szint kiválasztása című témakörben talál.

Útválasztási végpontok

Minden IoT Hub rendelkezik egy alapértelmezett útválasztási végponttal, amelynek neve üzenetek/események , amelyek kompatibilisek az Event Hubs szolgáltatással. Létrehozhat egyéni végpontokat is, amelyek az Azure-előfizetés más szolgáltatásaira mutatnak.

Az IoT Hub jelenleg a következő végpontokat támogatja az üzenet-útválasztáshoz:

  • Beépített végpont
  • Tárolók
  • Service Bus-üzenetsorok
  • Service Bus-témakörök
  • Event Hubs
  • Cosmos DB

Az egyes végpontokról további információt az IoT Hub-végpontok című témakörben talál.

Minden üzenet az összes végponthoz lesz irányítva, amelynek az útválasztási lekérdezései megegyeznek, ami azt jelenti, hogy egy üzenet több végpontra irányítható. Ha azonban egy üzenet több útvonalnak felel meg, amelyek ugyanarra a végpontra mutatnak, az IoT Hub csak egyszer küldi el az üzenetet a végpontnak.

Az IoT Hubnak írási hozzáférésre van szüksége ezekhez a szolgáltatásvégpontokhoz az üzenet-útválasztás működéséhez. Ha a végpontokat az Azure Portalon konfigurálja, a rendszer hozzáadja a szükséges engedélyeket. Ha a végpontokat a PowerShell vagy az Azure CLI használatával konfigurálja, meg kell adnia az írási hozzáférési engedélyt.

A végpontok létrehozásának módjáról az alábbi cikkekben olvashat:

Győződjön meg arról, hogy a szolgáltatásokat úgy konfigurálja, hogy támogassa a várt átviteli sebességet. Ha például az Event Hubsot egyéni végpontként használja, konfigurálnia kell az eseményközpont átviteli sebességegységeit , hogy az kezelni tudja az IoT Hub-üzenet-útválasztással küldeni kívánt események bejövő forgalmát. Hasonlóképpen, ha Service Bus-üzenetsort használ végpontként, a maximális méretet úgy kell konfigurálnia, hogy az üzenetsor az összes bejövő adat tárolására képes legyen, amíg a felhasználók ki nem lépnek. Az IoT-megoldás első konfigurálásakor előfordulhat, hogy figyelnie kell a többi végpontot, és végre kell tennie a tényleges terheléshez szükséges módosításokat.

Ha az egyéni végpont tűzfalkonfigurációkkal rendelkezik, fontolja meg a Microsoft megbízható első féltől származó kivételének használatát.

Útvonal egy másik előfizetés végpontja felé

Ha a végponterőforrás az IoT Hubtól eltérő előfizetésben található, az egyéni végpont létrehozása előtt megbízható Microsoft-szolgáltatásként kell konfigurálnia az IoT Hubot. Az egyéni végpont létrehozásakor állítsa a hitelesítés típusát felhasználó által hozzárendelt identitásra.

További információ: Kimenő forgalom IoT Hubról más Azure-erőforrásokhoz.

Útválasztási lekérdezések

Az IoT Hub üzenet-útválasztása lekérdezési képességgel szűri az adatokat, mielőtt a végpontokhoz irányítanák. Minden konfigurált útválasztási lekérdezés a következő tulajdonságokkal rendelkezik:

Tulajdonság Leírás
Név A lekérdezést azonosító egyedi név.
Forrás A végrehajtani kívánt adatfolyam eredete. Például eszköztelemetria.
Feltétel Az üzenetalkalmazás tulajdonságai, a rendszertulajdonságok, az üzenettörzs, az ikereszköz címkéi és az ikereszköz tulajdonságai alapján futtatott útválasztási lekérdezés lekérdezési kifejezése annak megállapításához, hogy egyezik-e a végponttal.
Végpont Annak a végpontnak a neve, amelyben az IoT Hub a lekérdezésnek megfelelő üzeneteket küld. Javasoljuk, hogy az IoT Hubbal azonos régióban válasszon végpontot.

Egyetlen üzenet több útválasztási lekérdezés feltételének is megfelelhet, ebben az esetben az IoT Hub az egyes egyeztetett lekérdezésekhez társított végpontra küldi az üzenetet. Az IoT Hub automatikusan deduplikálja az üzenetkézbesítést is, így ha egy üzenet egyezik több, azonos célhelyű lekérdezéssel, az csak egyszer lesz megírva erre a célhelyre.

További információ: IoT Hub üzenet-útválasztási lekérdezés szintaxisa.

Átirányított adatok olvasása

Az alábbi cikkekből megtudhatja, hogyan olvashat üzeneteket egy végpontról.

Tartalék útvonal

A tartalék útvonal elküldi az összes olyan üzenetet, amely nem felel meg a meglévő útvonalak lekérdezési feltételeinek a beépített végpontnak (üzenetek/események), amely kompatibilis az Event Hubs szolgáltatással. Ha az üzenet-útválasztás engedélyezve van, engedélyezheti a tartalék útvonal képességét. Miután létrejött egy útvonal, az adatok nem haladnak tovább a beépített végpontra, kivéve, ha az adott végpontra hoz létre útvonalat. Ha nincsenek útvonalak a beépített végponthoz, és a tartalék útvonal engedélyezve van, csak az útvonalak lekérdezési feltételeinek nem megfelelő üzenetek lesznek elküldve a beépített végpontra. Még akkor is, ha az összes meglévő útvonal törölve van, a tartalék útvonal funkciónak engedélyeznie kell az összes adat fogadását a beépített végponton.

A tartalék útvonalat az Azure Portal üzenet-útválasztási paneljén engedélyezheti vagy letilthatja. Az Azure Resource Manager for FallbackRouteProperties használatával egyéni végpontot is használhat a tartalék útvonalhoz.

Nem telemetriai események

Az eszköztelemetria mellett az üzenet-útválasztás lehetővé teszi a nem telemetriai események küldését is, beleértve a következőket:

  • Ikereszköz-változási események
  • Eszközéletciklus-események
  • Eszközfeladat életciklus-eseményei
  • Digitális ikermódosítási események
  • Eszközkapcsolati állapot eseményei

Ha például egy útvonal az ikereszköz-változási eseményekre beállított adatforrással jön létre, az IoT Hub üzeneteket küld az ikereszköz változását tartalmazó végpontnak. Hasonlóképpen, ha az adatforrás eszközéletciklus-eseményekre van állítva, az IoT Hub egy üzenetet küld, amely jelzi, hogy az eszközt vagy modult törölték vagy létrehozták-e. Az eszköz életciklus-eseményeiről további információt az Eszköz- és moduléletciklus-értesítések című témakörben talál.

Az Azure IoT Plug and Play használatakor a fejlesztők útvonalakat hozhatnak létre a Digital Twin Change Events adatforrással, és az IoT Hub üzeneteket küld minden alkalommal, amikor egy digitális ikertulajdonság be van állítva vagy módosul, egy digitális ikerpéldány lecserélődik, vagy amikor változás történik az alapul szolgáló ikereszközön. Végül, ha egy útvonal az eszköz Csatlakozás ion állapoteseményeire beállított adatforrással jön létre, az IoT Hub egy üzenetet küld, amely jelzi, hogy az eszköz csatlakoztatva vagy leválasztva volt-e.

Az IoT Hub az Azure Event Griddel is integrálva teszi közzé az eszközeseményeket, hogy támogassa a munkafolyamatok valós idejű integrációját és automatizálását ezen események alapján. Az üzenet-útválasztás és az Event Grid közötti főbb különbségekből megtudhatja, hogy melyik működik a legjobban az Ön forgatókönyvéhez.

Az eszközkapcsolat állapoteseményeinek korlátozásai

Az eszközkapcsolati állapot eseményei az MQTT vagy AMQP protokollt használó, vagy a WebSocketeken keresztüli protokollokat használó eszközökhöz érhetők el. A csak HTTPS-lel küldött kérések nem aktiválják az eszköz kapcsolati állapotának értesítéseit. Ahhoz, hogy az IoT Hub megkezdje az eszközkapcsolati állapot eseményeinek küldését, a kapcsolat megnyitása után az eszköznek vagy a felhőből az eszközre irányuló üzenetküldési műveletet vagy az eszközről a felhőbe irányuló telemetriai műveletet kell meghívnia. Az Azure IoT SDK-kon kívül az MQTT-ben ezek a műveletek egyenértékűek a FELIRATKOZÁS vagy KÖZZÉTÉTEL műveletekkel a megfelelő üzenetkezelési témakörökben. Az AMQP-n keresztül ezek a műveletek egyenértékűek egy üzenet csatolásával vagy átvitelével a megfelelő hivatkozási útvonalakon. További információért tekintse át az alábbi cikkeket:

Az IoT Hub nem jelenti az egyes eszközök kapcsolódási és leválasztási eseményeit, hanem egy rendszeres, 60 másodperces pillanatképen közzéteszi az aktuális kapcsolati állapotot. Ha ugyanazt a kapcsolatállapot-eseményt kapja különböző sorszámokkal vagy különböző kapcsolatállapot-eseményekkel, az azt jelenti, hogy a 60 másodperces időszak alatt változás történt az eszköz kapcsolati állapotában.

Tesztútvonalak

Ha új útvonalat hoz létre vagy szerkeszt egy meglévő útvonalat, tesztelje az útvonal-lekérdezést egy mintaüzenettel. Az egyes útvonalakat tesztelheti, vagy egyszerre tesztelheti az összes útvonalat, és a teszt során egyetlen üzenet sem lesz átirányítva a végpontokra. Teszteléshez használható az Azure Portal, az Azure Resource Manager, az Azure PowerShell és az Azure CLI. Az eredmények segítenek megállapítani, hogy a mintaüzenet megfelelt-e a lekérdezésnek, vagy nem sikerült-e a teszt futtatása, mert a mintaüzenet vagy a lekérdezés szintaxisa helytelen. További információ: Tesztútvonal és Az összes útvonal tesztelése.

Késés

Amikor eszközről felhőbe irányuló telemetriai üzeneteket irányít át, az első útvonal létrehozása után kismértékben megnő a végpontok közötti késés.

A legtöbb esetben a késés átlagos növekedése kevesebb, mint 500 ezredmásodperc. A tapasztalt késés azonban eltérő lehet, és az IoT Hub és a megoldásarchitektúra szintjétől függően magasabb lehet. A késést az Útválasztás: üzenetek/események üzenetkésése vagy d2c.endpoints.latency.builtIn.events IoT Hub metrikák segítségével figyelheti. Egy útvonal létrehozása vagy törlése az első után nem befolyásolja a végpontok közötti késést.

Figyelés és hibaelhárítás

Az IoT Hub számos, az útválasztáshoz és a végpontokhoz kapcsolódó metrikát biztosít, amelyek áttekintést nyújtanak a központ állapotáról és az elküldött üzenetekről. Az útválasztási lekérdezés és a végpont állapotának kiértékelése során felmerülő hibákat az IoT Hub az IoT Hub-erőforrásnaplók útvonalkategóriájával is nyomon követheti. A metrikák és erőforrásnaplók IoT Hubbal való használatáról az Azure IoT Hub monitorozása című témakörben olvashat bővebben.

A REST API Végpontállapot lekérése szolgáltatásával lekérheti a végpontok állapotát.

További részletekért és az útválasztás hibaelhárításáért használja az útválasztás hibaelhárítási útmutatóját.