错误报告
环境
- EMQX 版本: 5.0.8
- 操作系统版本:Ubuntu 20.04.2 LTS
重现此问题的步骤
1、使用webhook数据桥接把数据通过接口转发到程序
2、创建了规则sql为SELECT * FROM “t/#”, 数据来源:消息发布
3、放在webhook的请求体加上"topic":${topic},数据就发不出来,去掉就可以,根据规则获取的输出结果参数名也是topic
配置文件及日志
规则:
webhook:
去掉"topic":${topic}正常接收:
Shawn
2
应该是能发出去的,但是你这样写,发出去的内容不是一个合法的 JSON,如果要发送 JSON,改成这样就可以了:
{"topic": "${topic}"}
这样能发出去,而且topic有值,但是${payload}和${qos}不能用双引号包,数据会发不出去,那我使用SELECT * FROM “t/#”获取出来的数据,哪些参数名需要用双引号包,哪些不用呢,官方有文档吗?
Shawn
6
Webhook 的请求体是个模板,里面可以包含占位符,运行时 emqx 把占位符展开拼接成了字符串。
发送的时候它是不管拼接完了是不是合法的 JSON 字符串的,所以如果是字符串类型,就需要手动加一个双引号,如果是数字类型,就不需要。