提交消息解析脚本
提交消息解析脚本
重要:本文中含有需要您注意的重要提示信息,忽略该信息可能对您的业务造成影响,请务必仔细阅读。
设备通过携带解析标记?_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() JavaScript脚本示例 Python 2.7 transform_payload() Python脚本示例 PHP 7.2 transformPayload() PHP脚本示例 说明
如果产品的数据格式为透传/自定义,还需编写物模型消息解析脚本。物模型消息解析脚本编写指导,请参见提交物模型消息解析脚本。
-
测试脚本。
- 在模拟输入下,选择模拟类型为自定义,并选择设备和Topic。
- 输入模拟的设备上报数据,单击执行。
-
确认脚本可用后,单击提交,将脚本提交到物联网平台系统。
可选:更新消息解析脚本
提交消息解析脚本成功后,您可在消息解析页签,修改或删除脚本代码后,参考本文操作步骤重新测试和提交。提交成功后,等待一分钟,就会对该产品下已有设备和新增设备的消息解析服务生效。
警告
- 修改脚本代码重新提交后,请同步修改消息解析服务相关业务逻辑,否则可能导致相关业务中断。
- 删除脚本代码重新提交后,该产品下设备消息解析服务不可用、用户业务中断。
请谨慎操作。
相关文档
- 了解消息解析流程等基本信息,请参见什么是消息解析。
- 有关透传/自定义格式的物模型数据解析说明,请参见提交物模型消息解析脚本。
- 有关调用API向设备发送消息,请参见物模型使用的API和消息通信的API。
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 浏览器原生「磁吸」效果!Anchor Positioning 锚点定位神器解析
· 没有源码,如何修改代码逻辑?
· 一个奇形怪状的面试题:Bean中的CHM要不要加volatile?
· [.NET]调用本地 Deepseek 模型
· 一个费力不讨好的项目,让我损失了近一半的绩效!
· 全网最简单!3分钟用满血DeepSeek R1开发一款AI智能客服,零代码轻松接入微信、公众号、小程
· .NET 10 首个预览版发布,跨平台开发与性能全面提升
· 《HelloGitHub》第 107 期
· 全程使用 AI 从 0 到 1 写了个小工具
· 从文本到图像:SSE 如何助力 AI 内容实时呈现?(Typescript篇)