本文介紹物聯網平台支援的MQTT 5.0新特性的訊息格式描述。
功能說明
MQTT 5.0增加了兩個屬性描述訊息的格式:有效載荷標識(Payload Format Indicator)和內容類型(Content Type)。
這兩屬性可以應用到發布訊息(Publish)或者遺囑訊息中。
有效載荷標識(Payload Format Indicator)
有效載荷標識由一個位元組表示,取值範圍為:
1:表示負載(payload)格式為UTF-8字串編碼。
0:表示負載(payload)格式為未知類型編碼,例如:二進位編碼。
內容類型(Content Type)
內容類型由一個字串組成,可以填充成MIME類型(例如:text/plain表示常值內容),也可以填充成任意的字串內容。
重要
訊息轉寄只支援使用者屬性的內容提取,如果使用者想在訊息轉寄中支援不同類型的payload,也可以通過設定使用者屬性實現。
應用情境
訊息格式描述特性提高了跨系統的互通性和透明度,支援:
可變負載的使用。
中間節點在不解析payload的情況下,實現訊息的流轉處理。
可變負載情境
一般情況下,MQTT協議通訊中一個Topic對應一個payload格式,隨著裝置的迭代演化,不同批次的裝置Topic對應的payload格式可能存在不同。此情境下,合適使用訊息格式描述特性。
裝置1:發送的訊息內容為JSON格式,由字串組成。
裝置2:發送的訊息內容為ProtoBuf格式,由位元據組成。