本文中含有需要您注意的重要提示信息,忽略該信息可能對您的業務造成影響,請務必仔細閱讀。
設備通過攜帶解析標記?_sn=default
的自定義Topic上報自定義格式消息時,物聯網平臺收到消息數據后,需調用消息解析腳本將自定義格式數據轉換為JSON結構體,再流轉給后續業務系統。本文介紹如何在物聯網平臺控制臺提交消息解析腳本實現自定義格式數據解析。
使用與限制
僅通過MQTT協議接入的設備支持自定義Topic消息解析。
僅解析設備上報物聯網平臺云端的消息數據,不解析云端下行數據。
解析上報消息的Payload,并返回解析后的Payload。
解析前后,消息所在Topic不變。例如,設備發送到
/${productKey}/${deviceName}/user/update
的消息,解析后仍在該Topic中。
解析標記
配置設備端時,需在發布消息的自定義Topic后添加消息解析標記?_sn=default
。
物聯網平臺僅解析設備通過攜帶標記的Topic發布的消息數據。
例如,設備發送到Topic /${productKey}/${deviceName}/user/update
的消息需要解析為JSON格式。在開發設備端時,就需配置該Topic為:/${productKey}/${deviceName}/user/update?_sn=default
。
在物聯網平臺創建自定義Topic時按正常Topic定義,不添加該解析標記。
操作步驟
登錄物聯網平臺控制臺。
在實例概覽頁簽的全部環境下,找到對應的實例,單擊實例卡片。
在左側導航欄,選擇 。
在產品頁面,單擊產品對應的查看。
在產品詳情頁面,單擊消息解析頁簽。
選擇腳本語言,然后在編輯腳本下的輸入框中輸入腳本。
支持的腳本語言
需定義的函數
示例代碼
JavaScript(ECMAScript 5)
transformPayload()
Python 2.7
transform_payload()
PHP 7.2
transformPayload()
說明如果產品的數據格式為透傳/自定義,還需編寫物模型消息解析腳本。物模型消息解析腳本編寫指導,請參見提交物模型消息解析腳本。
測試腳本。
在模擬輸入下,選擇模擬類型為自定義,并選擇設備和Topic。
輸入模擬的設備上報數據,單擊執行。
確認腳本可用后,單擊提交,將腳本提交到物聯網平臺系統。
可選:更新消息解析腳本
提交消息解析腳本成功后,您可在消息解析頁簽,修改或刪除腳本代碼后,參考本文操作步驟重新測試和提交。提交成功后,等待一分鐘,就會對該產品下已有設備和新增設備的消息解析服務生效。
修改腳本代碼重新提交后,請同步修改消息解析服務相關業務邏輯,否則可能導致相關業務中斷。
刪除腳本代碼重新提交后,該產品下設備消息解析服務不可用、用戶業務中斷。
請謹慎操作。
相關文檔
- 了解消息解析流程等基本信息,請參見什么是消息解析。
有關透傳/自定義格式的物模型數據解析說明,請參見提交物模型消息解析腳本。
- 有關調用API向設備發送消息,請參見物模型使用的API和消息通信的API。