MQTT Yönlendirilmiş İletiler için Olay Şeması

MQTT İletileri, aşağıdaki mantığa göre CloudEvents olarak bir Event Grid konusuna yönlendirilir:

Yük biçimi göstergesi=0 olan MQTT v3 iletileri veya MQTT v5 iletileri için, yük data_base64 nesnesine iletilir ve aşağıdaki şema örneğine göre temel 64 dizesi olarak kodlanır.

{
	"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==
	}
}

İçerik türü= "application/json; MQTT v5 iletileri için; charset=utf-8" veya bir yük biçimi göstergesi=1'in veri nesnesine iletilir ve ileti bir JSON (veya yük JSON değilse JSON dizesi) olarak serileştirilir. İçerik türünü ve/veya yük biçimi göstergesini ayarlamak, yük veri alanında olduğu gibi iletilirken yük özelliklerinizi filtrelemenizi sağlar. İletinin yükünde filtreleme hakkında daha fazla bilgi edinin.

{
	"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
	}
}

CloudEvents için MQTT Protokol Bağlamasına göre cloudEvents'e göre JSON kodlamasında (utf-8) ikili con çadır modu veya yapılandırılmış con çadır modu kullanılarak zaten bir CloudEvent içinde zarflanmış MQTT v5 iletileri için olay, aşağıdaki şema örneğine göre zenginleştirmelerden sonra özgün varsayılan CloudEvents öznitelikleriyle iletilir.

{
	"specverion": "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"
	}
}

Sonraki adımlar:

Yönlendirme hakkında daha fazla bilgi edinmek için aşağıdaki makaleleri kullanın:

Hızlı Başlangıç:

Kavramlar: