RuleGo RuleGo
🏠首页
  • 快速入门
  • 规则链
  • 标准组件
  • 扩展组件
  • 自定义组件
  • 可视化
  • RuleGo-Server
  • RuleGo-MCP-Server
  • AOP
  • 触发器
  • 高级主题
  • 性能
  • 标准组件
  • 扩展组件
  • 自定义组件
  • 组件市场
  • 概述
  • 快速入门
  • 路由
  • DSL
  • API
  • Options
  • 组件
🔥编辑器 (opens new window)
  • 可视化编辑器 (opens new window)
  • RuleGo-Server (opens new window)
  • ❓问答

    • FAQ
💖支持
👥加入社区
  • Github (opens new window)
  • Gitee (opens new window)
  • GitCode (opens new window)
  • 更新日志 (opens new window)
  • English
  • 简体中文
🏠首页
  • 快速入门
  • 规则链
  • 标准组件
  • 扩展组件
  • 自定义组件
  • 可视化
  • RuleGo-Server
  • RuleGo-MCP-Server
  • AOP
  • 触发器
  • 高级主题
  • 性能
  • 标准组件
  • 扩展组件
  • 自定义组件
  • 组件市场
  • 概述
  • 快速入门
  • 路由
  • DSL
  • API
  • Options
  • 组件
🔥编辑器 (opens new window)
  • 可视化编辑器 (opens new window)
  • RuleGo-Server (opens new window)
  • ❓问答

    • FAQ
💖支持
👥加入社区
  • Github (opens new window)
  • Gitee (opens new window)
  • GitCode (opens new window)
  • 更新日志 (opens new window)
  • English
  • 简体中文

广告采用随机轮播方式显示 ❤️成为赞助商
  • 快速入门

  • 规则链

  • 标准组件

    • 标准组件概述
    • 过滤器

    • 动作

    • 转换器

    • 外部的

      • HTTP客户端
      • MQTT客户端
        • 配置
        • Relation Type
        • 执行结果
        • 配置示例
        • 应用示例
      • 发送邮件
      • 数据库客户端
      • ssh
      • TCP/UDP客户端
    • 流

  • 扩展组件

  • 自定义组件

  • 组件市场

  • 可视化

  • AOP

  • 触发器

  • 高级主题

  • RuleGo-Server

  • 问题

目录

MQTT客户端

mqttClient组件:MQTT客户端组件。用于将消息发布到MQTT Broker的指定主题,支持QoS设置、SSL/TLS加密连接、断线重连等功能。组件会将msg.Data作为消息负载发送到目标主题。

# 配置

该组件支持通过server字段复用共享的MQTT连接。详见组件连接复用。

字段 类型 说明 默认值
topic string 发布主题,支持使用组件配置变量进行变量替换 无
server string MQTT Broker地址,格式为host:port 无
username string MQTT认证用户名 无
password string MQTT认证密码 无
maxReconnectInterval time.Duration 断线重连间隔,支持10s、1m等时间格式 10s
qos int MQTT QoS等级(0/1/2) 0
cleanSession bool 是否清除会话,true表示每次连接都是新会话 false
clientID string MQTT客户端标识,需保证唯一性 随机ID
CAFile string SSL/TLS CA证书文件路径 无
CertFile string SSL/TLS 客户端证书文件路径 无
CertKeyFile string SSL/TLS 客户端私钥文件路径 无

配置说明

  1. SSL/TLS加密连接需同时配置CAFile、CertFile和CertKeyFile三个证书相关字段
  2. topic支持使用${metaKeyName}语法引用metadata中的值进行替换
  3. clientID建议配置有意义的唯一标识,方便问题排查

# Relation Type

  • Success: 以下情况消息发送到Success链路:

    • 消息成功发布到MQTT Broker
    • QoS0消息发送完成
    • QoS1/2消息收到确认
  • Failure: 以下情况消息发送到Failure链路:

    • MQTT连接断开
    • 发布超时
    • 主题格式错误
    • SSL/TLS连接失败

# 执行结果

组件执行时:

  • 将msg.Data作为消息负载发送到指定主题
  • 不会修改原始消息的msg、metadata和msgType内容
  • 发送失败时会在metadata中添加error字段描述错误信息

# 配置示例

   {
    "id": "s2",
    "type": "mqttClient",
    "name": "往mqtt Broker 推送数据",
    "configuration": {
      "server": "127.0.0.1:1883",
      "topic": "/device/msg/${deviceId}"
    }
  }
1
2
3
4
5
6
7
8
9

# 应用示例

应用示例参考:mqttClient (opens new window)

{
  "ruleChain": {
	"id":"rule01",
    "name": "测试规则链",
    "root": true
  },
  "metadata": {
    "nodes": [
       {
        "id": "s1",
        "type": "jsTransform",
        "name": "转换",
        "configuration": {
          "jsScript": "metadata['name']='test02';\n metadata['deviceId']='id01';\n msg['addField']='addValue2'; return {'msg':msg,'metadata':metadata,'msgType':msgType};"
        }
      },
      {
        "id": "s2",
        "type": "mqttClient",
        "name": "往mqtt Broker 推送数据",
        "configuration": {
          "server": "127.0.0.1:1883",
          "topic": "/device/msg/${deviceId}"
        }
      }
    ],
    "connections": [
      {
        "fromId": "s1",
        "toId": "s2",
        "type": "Success"
      }
    ]
  }
}
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
在 GitHub 上编辑此页 (opens new window)
上次更新: 2025/04/02, 01:29:50
HTTP客户端
发送邮件

← HTTP客户端 发送邮件→

Theme by Vdoing | Copyright © 2023-2025 RuleGo Team | Apache 2.0 License

  • 跟随系统
  • 浅色模式
  • 深色模式
  • 阅读模式