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


Az eszközről a felhőbe irányuló IoT Hub-üzenetek üzeneteinek bővítése

Az üzenetek bővítése lehetővé teszi, hogy az IoT Hub további információkkal bélyegozza meg az üzeneteket, mielőtt az üzeneteket elküldené a kijelölt végpontnak. Az üzenetdúsítások használatának egyik oka, hogy olyan adatokat tartalmazzon, amelyek az alsóbb rétegbeli feldolgozás egyszerűsítése érdekében használhatók. Az ikereszköz-címkével ellátott eszköztelemetria-üzenetek kibővítése például csökkentheti az ügyfelek terhelését, így ikereszköz API-hívásokat indíthat ezekre az információkra.

Üzenetgazdagítási folyamat

Az üzenetek bővítése három fő elemből áll:

  • Bővítés neve vagy kulcsa

  • Egy érték

  • Egy vagy több végpont , amelyre a bővítést alkalmazni kell.

A kulcs egy karakterlánc. A kulcsok csak alfanumerikus karaktereket vagy speciális karaktereket tartalmazhatnak: kötőjel (-), aláhúzásjel (_) és pont (.).

A érték az alábbi példák bármelyike lehet:

  • Bármilyen statikus karakterlánc. A dinamikus értékek, például a feltételek, a logika, a műveletek és a függvények nem engedélyezettek. Ha például több ügyfél által használt SaaS-alkalmazást fejleszt, minden ügyfélhez hozzárendelhet egy azonosítót, és elérhetővé teheti azt az alkalmazásban. Az alkalmazás futtatásakor az IoT Hub lepecsételi az eszköz telemetriai üzeneteit az ügyfél azonosítójával, így lehetővé válik az üzenetek eltérő feldolgozása minden ügyfél esetében.

  • Az üzenetet küldő IoT Hub neve. Ez az érték $iothubname.

  • Az ikereszköz adatai, például az elérési útja. Ilyen például a $twin.tags.field és a $twin.tags.latitude.

    Megjegyzés:

    Jelenleg csak $iothubname, $twin.tags, $twin.properties.desired és $twin.properties.reported támogatott változók az üzenetek bővítéséhez. Emellett csak a primitív típusok támogatottak a kiegészítésekhez. Az üzenetek nem bővíthetők objektumtípusokkal.

A rendszer alkalmazástulajdonságként hozzáadja az üzenetdúsításokat a kiválasztott végpont(ok)nak küldött üzenetekhez.

Bővítések alkalmazása

Az üzenetek az IoT Hub üzenet-útválasztása által támogatott bármely adatforrásból származhatnak, beleértve az alábbi példákat:

  • eszköz telemetriai adatai, például hőmérséklet vagy nyomás
  • ikereszköz-változásértesítések – az ikereszköz változásai
  • az eszköz életciklusának eseményei, például az eszköz létrehozása vagy törlése

Kiegészítéseket adhat azokhoz az üzenetekhez, amelyek egy IoT hub beépített végpontjára kerülnek, vagy azokhoz az üzenetekhez, amelyeket egyéni végpontokhoz, például Azure Blob Storage-hoz, Service Bus üzenetsorhoz vagy Service Bus témakörhöz irányítanak.

Az Event Gridben közzétett üzenetekhez bővítőelemeket is hozzáadhat, ha először létrehoz egy Event Grid-előfizetést az eszköz telemetriai üzenettípusával. Az előfizetés alapján létrehozunk egy alapértelmezett útvonalat az Azure IoT Hubban a telemetriához. Ez az egyetlen útvonal képes kezelni az összes Event Grid-előfizetést. Ezt követően az IoT Hub Üzenet-útválasztási szakasz Üzenetek bővítése lapján konfigurálhatja a végponthoz tartozó bővítéseket. További információ az eseményekre az Event Grid használatával történő reagálásról: IoT Hub és Event Grid.

A gazdagítások végpontonként vannak alkalmazva. Ha egy adott végponthoz öt dúsítást ad meg, a végpontra irányuló összes üzenet ugyanazzal az öt dúsítással lesz lepecsételve.

A bővítések a következő módszerekkel konfigurálhatók:

Módszer parancs
Portál Azure Portal Az üzenet bővítési oktatóanyagának megtekintése
Azure CLI (Az Azure parancssori felülete) az IoT Központ üzenet-gazdagítás
Azure PowerShell Add-AzIotHubMessageEnrichment

Az üzenet bővítésének hozzáadása nem növeli az üzenet útválasztásának késését.

Az üzenetdúsítások kipróbálásához tekintse meg az üzenetdúsítási oktatóanyagot

Korlátozások

  • IoT Hubonként legfeljebb 10 bővítést adhat hozzá ezekhez a központokhoz a standard vagy alapszintű szinten. Az ingyenes szinten lévő IoT Hubok esetében legfeljebb 2 bővítést adhat hozzá.

  • Bizonyos esetekben, ha egy üzenetet egy címkére vagy tulajdonságra beállított értékkel egészít ki az ikereszközben, az érték a megadott ikereszköz-elérési úttal lesz megjelölve. Ha például egy bővítési érték $twin.tags.field értékre van állítva, az üzeneteket a rendszer a "$twin.tags.field" sztringgel bélyegezi meg, nem pedig az ikerből származó mező értékével. Ez a viselkedés a következő esetekben fordul elő:

    • Az IoT Hub az alapszinten található. Az alapszintű IoT Hubok nem támogatják az ikereszközöket.

    • Az IoT Hub a standard szinten van, de a bővítés értékéhez használt ikereszköz-elérési út nem létezik. Ha például a bővítési érték a $twin.tags.location értékre van állítva, és az ikereszköz nem rendelkezik helytulajdonságokkal a címkék alatt, az üzenet a "$twin.tags.location" sztringgel lesz lebélyegzve.

    • Az IoT Hub a standard szinten van, de az értékek gazdagításához használt eszközpár elérési út egy objektumra oldódik fel egyszerű tulajdonság helyett. Ha például a bővítési érték $twin.tags.location értékre van állítva, és a címkék alatti helytulajdonság egy olyan objektum, amely gyermektulajdonságokat tartalmaz, például {"building": 43, "room": 503}, az üzenet a "$twin.tags.location" sztringgel van bélyegzve.

  • Az ikereszköz frissítései akár öt percet is igénybe vehetnek, hogy megjelenjenek a megfelelő bővítési értékben.

  • Az üzenet teljes mérete, beleértve a bővítéseket is, nem haladhatja meg a 256 KB-ot. Ha egy üzenet mérete meghaladja a 256 KB-ot, az IoT Hub elveti az üzenetet. Az IoT Hub metrikáival azonosíthatja és hibakeresésre használhatja az üzenetek elvetésekor felmerülő hibákat. Például figyelheti a telemetriai üzenetek nem kompatibilis (d2c.telemetry.egress.invalid) metrikát az útválasztási metrikákban. További információ: Monitor IoT Hub.

  • Az üzenetek bővítése nem vonatkozik a digitális iker változási eseményeire.

  • A modulok nem öröklik az ikercímkéket a megfelelő eszközeikről. Az eszközmodulokból (például IoT Edge-modulokból) származó üzenetek gazdagításának a modul ikerpéldányán beállított ikercímkéket kell használnia.

Árképzés

Az üzenetdúsítások felár nélkül érhetők el. Jelenleg díjat számítunk fel, ha üzenetet küld egy IoT Hubnak. Az üzenetért csak egyszer kell fizetnie, még akkor is, ha az üzenet több végpontra kerül.

Következő lépések

Az üzenetek IoT-központba való átirányításáról az alábbi cikkekben talál további információt: