Schéma událostí pro směrované zprávy MQTT
Zprávy MQTT se směrují do tématu Event Gridu jako CloudEvents podle následující logiky:
U zpráv MQTT v3 nebo zpráv MQTT v5 indikátoru formátu datové části =0 se datová část přepošla v objektu data_base64 a zakóduje se jako základní řetězec 64 podle následující ukázky schématu.
{
"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==
}
}
Pro zprávy MQTT v5 typu obsahu= "application/json; charset=utf-8" nebo indikátor formátu datové části=1, datová část se předá v datovém objektu a zpráva se serializuje jako JSON (nebo řetězec JSON, pokud datová část není JSON). Nastavení typu obsahu nebo indikátor formátu datové části umožňuje filtrovat vlastnosti datové části, protože datová část se předává v datovém poli tak, jak je. Přečtěte si další informace o filtrování datové části zprávy.
{
"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
}
}
U zpráv MQTT v5, které jsou už obálek v CloudEventu podle vazby protokolu MQTT pro CloudEvents bez ohledu na to, jestli se používá binární con režim stanu nebo strukturovaný con režim stanu v kódování JSON (utf-8), se událost přepošla s původními výchozími atributy CloudEvents po rozšiřování podle následující ukázky schématu.
{
"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"
}
}
Další kroky:
Další informace o směrování najdete v následujících článcích:
Rychlý start:
- Kurz: Směrování zpráv MQTT do služby Azure Event Hubs pomocí témat oboru názvů
- Kurz: Směrování zpráv MQTT do Azure Functions pomocí vlastních témat
Koncepty:
- Směrování
- Filtrování směrování
- Rozšiřování směrování