需求:规则 优化 响应动作 update操作 支持动态表名
环境
- EMQX 版本:4.4.16
- 操作系统版本:macos(开发)、ubuntu 20(测试、生产)
功能请求
mysql数据库表如下:
CREATE TABLE `t_mqtt_msg` (
`msgid` int NOT NULL AUTO_INCREMENT,
`topic` varchar(255) COLLATE utf8mb4_general_ci DEFAULT NULL,
`qos` int DEFAULT NULL,
`payload` varchar(255) COLLATE utf8mb4_general_ci DEFAULT NULL,
`status` int DEFAULT NULL,
`create_time` datetime DEFAULT NULL ON UPDATE CURRENT_TIMESTAMP,
`update_time` datetime DEFAULT NULL ON UPDATE CURRENT_TIMESTAMP,
PRIMARY KEY (`msgid`)
) ENGINE=InnoDB AUTO_INCREMENT=3 DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_general_ci;
SQL输入
SELECT
payload.msgid as msgid,
payload.status as status,
payload.stable as stable
FROM
"test/mysql"
payload
{
"msgid":1,
"status":1,
"stable":"t_mqtt_msg"
}
描述你需要的功能
通过此功能,我们可以与网关层通信,通过网关回写状态,对不同的业务表进行消息到达回传更新操作
为什么你需要这个功能
如果实现了这个功能
我们在规则处就不要配置针对不用表的业务,进行update操作的多种规则添加,导致后期维护的困难