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

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

  • 规则链

  • 标准组件

    • 标准组件概述
    • 过滤器

    • 动作

    • 转换器

      • 脚本转换器
      • 表达式转换器
      • 元数据转换器
        • 配置
        • Relation Type
        • 执行结果
        • 配置示例
      • 模板解析器
    • 外部的

    • 流

  • 扩展组件

  • 自定义组件

  • 组件市场

  • 可视化

  • AOP

  • 触发器

  • 高级主题

  • RuleGo-Server

  • 问题

目录

元数据转换器

metadataTransform组件:元数据转换器。使用 expr (opens new window) 表达式引擎对消息元数据进行灵活转换和处理,支持创建新的元数据或更新现有元数据。

# 配置

字段 类型 说明 默认值
mapping map 元数据转换表达式映射表,格式为 {字段名: 转换表达式} 无
isNew bool 是否创建新的元数据列表。true表示创建新列表,false表示更新现有元数据的对应字段 false

支持的变量:

  • id - 消息ID
  • ts - 消息时间戳
  • data - 原始消息内容
  • msg - 消息体对象(JSON类型时可用msg.field访问字段)
  • metadata - 消息元数据对象
  • type - 消息类型
  • dataType - 数据类型

表达式示例:

  • upper(msg.name) - 转换设备名称为大写
  • metadata.productType - 获取产品类型
  • msg.temperature + 50 - 温度值加50
  • replace(metadata.productType, 'old', 'new') - 替换产品类型中的文本
  • msg.humidity > 80 ? 'High' : 'Normal' - 根据湿度判断状态
  • format("%s-%s", msg.type, metadata.version) - 格式化字符串
  • len(metadata.tags) > 0 - 检查标签是否存在

更多expr表达式语法参考:expr (opens new window)

# Relation Type

  • Success: 转换执行成功,消息发送到Success链路
  • Failure: 以下情况消息发送到Failure链路:
    • 表达式语法错误
    • 表达式执行异常
    • 变量不存在或类型错误

# 执行结果

组件会根据配置执行元数据转换:

  • 当isNew=true时,创建全新的元数据列表
  • 当isNew=false时,仅更新mapping中指定的元数据字段
  • 转换后的元数据会随消息一起传递给下一个节点

# 配置示例

{
  "id": "s1",
  "type": "metadataTransform",
  "name": "元数据转换",
  "configuration": {
    "mapping": {
      "name":        "upper(msg.name)",
      "tmp":         "msg.temperature",
      "alarm":       "msg.temperature>50",
      "productType": "metaData.productType"
    }
  }
}
1
2
3
4
5
6
7
8
9
10
11
12
13
在 GitHub 上编辑此页 (opens new window)
上次更新: 2025/04/02, 01:29:50
表达式转换器
模板解析器

← 表达式转换器 模板解析器→

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

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