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
  • 简体中文

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

  • 规则链

  • 标准组件

  • 扩展组件

  • 自定义组件

  • 组件市场

  • 可视化

  • AOP

  • 触发器

  • 高级主题

    • Config
    • Options
    • 共享数据
    • 执行规则链
    • 组件配置变量
      • 组件连接复用
      • 性能
    • RuleGo-Server

    • 问题

    目录

    组件配置变量

    某些场景下,需要统一修改组件配置,或者在组件运行时动态更换组件配置。可以使用内置的变量替换组件配置。使用方法:${key}、${key.subKey}。 变量分两大类:全局变量和组件运行时变量。

    # 全局变量

    全局变量: 在组件初始化时(组件执行Init方法时)执行替换逻辑,包含以下下变量:

    • global变量: 访问config.Properties的值,例如:${global.key}
    • vars变量: 访问规则链vars值,例如:${vars.key}

    全局变量: 所有组件配置字段都支持使用。

    # 组件运行时变量

    组件运行时变量: 在组件运行时(组件执行OnMsg方法时)执行替换逻辑,包含以下下变量:

    • id变量: 访问消息ID
    • ts变量: 访问消息时间戳
    • data变量: 访问消息原始内容
    • msg变量: 访问消息转换后的数据,如果消息的dataType是json类型,可以通过${msg.key}方式访问msg的字段
    • metadata变量: 访问消息元数据。例如:${metadata.key}
    • type变量: 访问消息类型
    • dataType变量: 访问数据类型

    组件运行时变量: 只有特定说明的组件配置字段才支持使用。

    # 示例

    {
      "ruleChain": {
    	"id":"rule01",
        "name": "test",
        "configuration": {
          "vars": {
            "topicPrefix":"/device/msg"
          }
        }
      },
      "metadata": {
        "nodes": [
          {
            "id": "s2",
            "type": "mqttClient",
            "name": "push data",
            "configuration": {
              "server": "${global.mqttServer}",
              "topic": "${vars.topicPrefix}/${metadata.deviceId}"
            }
          }
        ],
        "connections": [
          {
          }
        ]
      }
    }
    
    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
    在 GitHub 上编辑此页 (opens new window)
    上次更新: 2025/04/02, 01:29:50
    执行规则链
    组件连接复用

    ← 执行规则链 组件连接复用→

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

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