Eseményséma az MQTT-hez irányított üzenetekhez
Az MQTT-üzenetek egy Event Grid-témakörhöz lesznek átirányítva CloudEventsként az alábbi logika szerint:
A hasznos adatformátumú indicator=0 MQTT v3 vagy MQTT v5 üzenetek esetében a rendszer a hasznos adatokat a data_base64 objektumban továbbítja, és az alábbi sémaminta szerint 64-es alapsztringként kódolja.
{
"specversion": "1.0",
"id": "9aeb0fdf-c01e-0131-0922-9eb54906e20", // unique id stamped by the service.
"time": "2019-11-18T15:13:39.4589254Z", // timestamp when the message was received by the service.
"type": "MQTT.EventPublished", // set type for all MQTT messages enveloped by the service.
"source": "testnamespace", // namespace name
"subject": "campus/buildings/building17", // topic of the MQTT publish request.
"data_base64":
{
IlRlbXAiOiAiNzAiLAoiaHVtaWRpdHkiOiAiNDAiCg==
}
}
Tartalomtípusú MQTT v5-üzenetek esetén: "application/json; charset=utf-8" vagy payload format indicator=1, a hasznos adatok továbbítva lesznek az adatobjektumban, és az üzenet JSON-ként lesz szerializálva (vagy JSON-sztringként, ha a hasznos adat nem JSON). A tartalomtípus és/vagy a hasznos adatformátum-jelző beállítása lehetővé teszi a hasznos adatok tulajdonságainak szűrését, mivel a hasznos adatok továbbítása az adatmezőn belül történik. További információ az üzenet hasznos adatainak szűréséről.
{
"specversion": "1.0",
"id": "9aeb0fdf-c01e-0131-0922-9eb54906e20", // unique id stamped by the service.
"time": "2019-11-18T15:13:39.4589254Z", // timestamp when the message was received by the service.
"type": "MQTT.EventPublished", // set type for all MQTT messages enveloped by the service.
"source": "testnamespace", // namespace name
"subject": "campus/buildings/building17", // topic of the MQTT publish request.
"data":
{
"Temp": 70,
"humidity": 40
}
}
A CloudEvents MQTT protokollkötése szerint már borítékolt MQTT V5-üzenetek esetén, akár a bináris con sátormód, akár a strukturált con sátormód JSON-kódolásban (utf-8) használja, az eseményt az eredeti alapértelmezett CloudEvents-attribútumokkal továbbítja a rendszer az alábbi sémaminta szerinti bővítés után.
{
"specversion": "1.0",
"id": "9aeb0fdf-c01e-0131-0922-9eb54906e20", // original id stamped by the client.
"time": "2019-11-18T15:13:39.4589254Z", // timestamp when the message was received by the client
"type": "Custom.Type", // original type value stamped by the client.
"source": "Custom.Source", // original source value stamped by the client.
"subject": " Custom.Subject", // original subjectvalue stamped by the client.
"data":
{
"Temp": "70",
"humidity": "40"
}
}
Következő lépések:
Az útválasztásról az alábbi cikkekben olvashat bővebben:
Gyorsútmutató:
- Oktatóanyag: MQTT-üzenetek átirányítása az Azure Event Hubsba névtértémák használatával
- Oktatóanyag: MQTT-üzenetek átirányítása az Azure Functionsbe egyéni témakörök használatával
Fogalmak:
- Útválasztás
- Útválasztási szűrés
- Útválasztási bővítések