裝置通過攜帶解析標記?_sn=default
的自訂Topic上報自訂格式訊息時,物聯網平台收到訊息資料後,需調用訊息解析指令碼將自訂格式資料轉換為JSON結構體,再流轉給後續業務系統。本文介紹如何在物聯網平台控制台提交訊息解析指令碼實現自訂格式資料解析。
使用與限制
僅華東2(上海)、日本(東京)地區支援自訂Topic訊息解析。
僅通過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。