1.如何在emqx.conf配置文件中写规则引擎内容?
2.配置手册中只有action与source的相关配置
没写在里面,说明不推荐这么干。
如果你很确定你必须要这么干的话,
可以使用以下步骤:
- 使用 dashboard 配置好你想要。
- 打开 data/configs/cluster.hocon 找到rule_engine{}
- 停机,把他剪切到 emqx.conf里面。
- 启动 emqx
几乎所有的配置都可以这么干。
PS:也可以装一个插件来通知配置变更:https://guard.emqx.dev/guide/features/changed_configuration.html
你的 emqx 版本是多少。
只要大于 5.0.26 就应该没问题的。
你的rule_engine 是什么内容
ps 记得要先关emqx(如果是集群,得全关了。)
emqx:5.6.0
单机docker部署
rule_engine
rule_engine {
ignore_sys_message = true
jq_function_default_timeout = 10s
rules {
rule_reply_republish {
actions = [
{
args {
mqtt_properties {}
payload = "${payload}"
qos = "${qos}"
retain = "${flags.retain}"
topic = "${topic}/${prefix}"
user_properties = ""
}
function = republish
}
]
description = "重定向"
enable = true
metadata {created_at = 1732185655013}
name = ""
sql = """~
SELECT
*
FROM
"call_reply",
"control_reply"~"""
}
}
}
对啊,你自己只配置动作输出,当然只有输出了。
你看你的规则导入的内容和名字就知道了。
从data/configs/cluster.hocon中粘贴过来的,那要怎么配置数据输入
麻烦仔细阅读一下,看清楚里面每一个字。
意思是你先通过 dashboard 配置好你想要的(就是在这里就把数据输入给配置好,然后再去剪切)
如果实在无法理解上面的步骤,建议就不要再在 emqx.conf 里面配置复杂的规则了。以后绝对会踩大坑的。
知道了,多谢