Схема событий для перенаправленных сообщений MQTT
Сообщения MQTT направляются в раздел "Сетка событий" как CloudEvents в соответствии со следующей логикой:
Для сообщений MQTT версии 3 или MQTT версии 5 индикатора формата полезных данных=0 полезные данные будут перенаправляться в объекте data_base64 и закодированы в виде базовой строки 64 в соответствии со следующим примером схемы.
{
"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==
}
}
Для сообщений MQTT версии 5 типа контента = application/json; charset=utf-8" или индикатор формата полезных данных=1, полезные данные будут пересылаться в объекте данных, и сообщение будет сериализовано как JSON (или строка JSON, если полезные данные не является JSON). Установка типа контента и (или) индикатор формата полезных данных позволяет фильтровать свойства полезных данных, так как полезные данные пересылаются в поле данных как есть. Узнайте больше о фильтрации полезных данных сообщения.
{
"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
}
}
Для сообщений MQTT версии 5, которые уже конвертированы в CloudEvent в соответствии с привязкой протокола MQTT для CloudEvents независимо от того, используется ли двоичный con режим палатки или структурированный con режим палатки в кодировке JSON (utf-8), событие будет перенаправляться с исходными атрибутами CloudEvents по умолчанию после обогащения в соответствии со следующим примером схемы.
{
"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"
}
}
Дальнейшие действия
Дополнительные сведения о маршрутизации см. в следующих статьях:
Краткое руководство.
- Руководство. Маршрутизация сообщений MQTT в Центры событий Azure с помощью разделов пространства имен
- Руководство. Маршрутизация сообщений MQTT в Функции Azure с помощью пользовательских разделов
Основные понятия:
- Маршрутизация
- Фильтрация маршрутизации
- Обогащение маршрутизации