Nuta
Dostęp do tej strony wymaga autoryzacji. Możesz spróbować się zalogować lub zmienić katalog.
Dostęp do tej strony wymaga autoryzacji. Możesz spróbować zmienić katalogi.
Komunikaty MQTT są kierowane do tematu usługi Event Grid jako cloudEvents zgodnie z następującą logiką:
W przypadku komunikatów MQTT v3 lub komunikatów MQTT v5 wskaźnika formatu ładunku =0 ładunek zostanie przekazany w obiekcie data_base64 i zakodowany jako podstawowy ciąg 64 zgodnie z poniższym przykładem schematu.
{
"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==
}
}
W przypadku komunikatów MQTT v5 typu zawartości = "application/json; charset=utf-8" lub wskaźnik formatu ładunku=1, ładunek zostanie przekazany w obiekcie danych, a komunikat zostanie serializowany jako kod JSON (lub ciąg JSON, jeśli ładunek nie jest plikiem JSON). Ustawienie typu zawartości i/lub wskaźnika formatu ładunku umożliwia filtrowanie właściwości ładunku, ponieważ ładunek jest przekazywany w polu danych w taki sposób, jak to jest. Dowiedz się więcej na temat filtrowania ładunku komunikatu.
{
"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
}
}
W przypadku komunikatów MQTT w wersji 5, które są już otoczone w rozwiązaniu CloudEvent zgodnie z powiązaniem protokołu MQTT dla biblioteki CloudEvents, niezależnie od tego, czy używasz pliku binarnego con tryb namiotu czy struktury con tryb namiotu w kodowaniu JSON (utf-8), zdarzenie zostanie przekazane z oryginalnymi domyślnymi atrybutami CloudEvents po wzbogaceniu zgodnie z poniższym przykładem schematu.
{
"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"
}
}
Następne kroki:
Aby dowiedzieć się więcej na temat routingu, skorzystaj z następujących artykułów:
Szybki start:
- Samouczek: kierowanie komunikatów MQTT do usługi Azure Event Hubs przy użyciu tematów przestrzeni nazw
- Samouczek: kierowanie komunikatów MQTT do usługi Azure Functions przy użyciu tematów niestandardowych