Azure IoT Hub消息路由查询失效,求正确查询语句
Azure IoT Hub 消息路由温度筛选正确查询语句
你遇到的问题核心是消息体层级判断错误,导致路由查询不生效,以下是针对性的解决方法:
最常见的正确查询语句
如果你的遥测消息JSON是根级直接包含temperature字段(比如设备模拟器发送的是如下结构):{ "temperature": 60, "humidity": 70 }那么正确的路由查询语句是:
$body.temperature >= 50嵌套结构的排查
如果你确实认为消息有嵌套的body层级,先通过Azure IoT Explorer查看消息的原始数据,确认temperature的实际路径。若原始消息结构如下:{ "body": { "temperature": 55 } }那
$body.body.temperature >= 50理论上有效,但如果仍不生效,需检查两个关键点:- 消息编码必须为UTF-8,IoT Hub仅解析UTF-8格式的JSON
- 消息的
content-type头部需设置为application/json,否则IoT Hub不会解析JSON结构,$body无法被正常识别
内容的提问来源于stack exchange,提问作者Ziggy
相关产品推荐
相关产品推荐

