在客户端创建连接器

创建连接器 的功能
在客户端创建mqtt连接器时我填的《客户端 ID 前缀》和我服务端收到的不一样,
但是我使用mqttx 客户端根据文档


配置完后点击测试我得服务端收到的是类似经过MD5处理过的字符串,没有我在客户端配的前缀。
我的前缀是:TisCR7MRChWJ7JJw_881104176_
我得连接器名是:kz
按理说我得客户端应该收到的clientId 是以 ‘TisCR7MRChWJ7JJw_881104176_‘… 开头的字符串吧,但是我收到的是一个新的字符串

问一下你收到的clientid 具体是什么?

a46f266fa822fcc7371662c
上面这个字符串就是我收到的值

你使用 emqx 具体的版本号是多少。 5.6.0 么
我试了一下,560 是正常的。
麻烦贴一下这个命令的输出:

./bin/emqx ctl conf show connectors


connectors {
mqtt {
bz {
bridge_mode = false
clean_start = true
clientid_prefix = TisCR7MRChWJ7JJw_881104176_
description = “”
enable = true
keepalive = 300s
max_inflight = 32
password = “123456”
pool_size = 8
proto_ver = v4
resource_opts {
health_check_interval = 15s
start_after_created = true
start_timeout = 5s
}
retry_interval = 15s
server = “197d6377b1.oicp.vip:55928”
ssl {
ciphers =
depth = 10
enable = false
hibernate_after = 5s
log_level = notice
reuse_sessions = true
secure_renegotiate = true
verify = verify_peer
versions = [tlsv1.3, tlsv1.2]
}
username = “881104176”
}

现在根据我得测试这个前缀的长度过长会产生这个问题

长度超过10个字符就会出现这种问题

感谢反馈,确实存在这个问题。我们设定了 clientid 总长不会超过 23 个字符。
要想避免这个问题,可以把前缀设置小一点。
我会反馈一下,看看是要改文档,还是改限制。

https://github.com/emqx/emqx/blob/master/apps/emqx_bridge_mqtt/src/emqx_bridge_mqtt_connector.erl#L479-L480

我觉得还是改限制吧。首先这个需求确实是有的。其次文档也没有说明。所以我觉得改限制比较合适