2、规则链创建与配置

规则链是 ThingsBoard 中消息处理的核心载体。本章将系统讲解规则链的创建入口、编辑器界面布局、元数据配置方法以及版本管理机制,帮助您快速掌握规则链的基础操作与配置规范。

2.1 规则链创建入口

在 ThingsBoard 中,规则链的创建入口位于左侧主菜单的 “规则链” 模块下。具体操作路径如下:

  1. 登录 ThingsBoard 平台,进入主界面。
  2. 点击左侧导航栏中的 “规则链” 图标。
  3. 在规则链列表页右上角,点击 “+” 按钮,选择 “创建新的规则链”。
  4. 在弹出的对话框中填写规则链名称(如“设备数据清洗链”),并可选择是否从已有规则链复制配置。
  5. 点击 “确定” 后,系统自动跳转至规则链编辑器。
提示: 创建规则链时,建议使用具有业务含义的命名规范,例如 设备类型_处理场景_版本号,便于后续维护与检索。

2.2 规则链编辑器界面介绍

规则链编辑器是可视化编排消息处理逻辑的核心工作区。其界面主要分为以下几个区域:

区域名称 功能说明 关键操作
节点面板 位于左侧,列出所有可用的规则节点类型(如过滤器、转换器、动作节点等) 拖拽节点到画布;搜索节点名称
画布区域 中央主区域,用于放置节点并连接形成处理流程 拖拽调整节点位置;连线;缩放/平移视图
节点配置面板 选中节点后右侧弹出,用于配置该节点的具体参数 填写字段、选择关系类型、设置失败处理
工具栏 画布顶部,包含保存、撤销/重做、导入/导出、版本管理等操作按钮 点击保存;导入 JSON 配置;查看版本历史
调试控制台 画布底部,实时显示消息流转日志与错误信息 查看消息轨迹;过滤日志级别
重点: 编辑器中的每个节点都包含 入站连接 和 出站连接。出站连接通过“关系类型”区分不同处理路径(如 Success、Failure、True、False),这是规则链调试的关键线索。
规则链编辑器界面布局示意 节点面板 过滤器 转换器 动作节点 外部节点 脚本节点 画布区域 消息入站 脚本过滤 数据转换 配置面板 名称: 脚本过滤 脚本: JS代码 关系: True/False 调试控制台: [INFO] 消息已通过脚本过滤节点

2.3 规则链元数据配置

元数据是规则链中消息流转的“上下文信息”,它附着在每条消息上,贯穿整个处理流程。正确配置元数据是规则链正常工作的前提。

2.3.1 元数据的基本结构

每条消息的元数据是一个键值对(Key-Value)集合,通常包含以下信息:

  • 设备信息: 设备名称、设备类型、设备 ID
  • 时间戳: 消息产生的时间
  • 客户/租户信息: 所属客户 ID、租户 ID
  • 自定义属性: 用户通过脚本或节点添加的额外字段

2.3.2 元数据的配置方式

在规则链节点中,元数据可以通过以下方式配置:

配置方式 适用节点 示例
直接赋值 生成器节点、脚本节点 metadata.temperature = 25.5
从消息体提取 转换器节点 metadata.deviceName = msg.deviceName
从设备属性获取 属性获取节点 从设备客户端属性或共享属性中读取
从关系查询 关系查询节点 查询设备关联的资产信息并写入元数据
注意: 元数据中的键名区分大小写,且不能包含特殊字符(如空格、点号)。建议统一使用驼峰命名法(如 deviceType)或下划线命名法(如 device_type)。

2.3.3 元数据在调试中的作用

在规则链调试过程中,元数据是定位问题的重要依据。通过查看元数据内容,可以判断:

  • 消息是否携带了正确的设备标识
  • 转换节点是否成功提取了所需字段
  • 条件过滤节点是否基于正确的元数据值进行判断
元数据在消息流转中的传递过程 消息入站 元数据: 空 属性获取 添加设备ID 脚本转换 提取温度值 存储动作 写入数据库 元数据: {} 初始状态 元数据: {deviceId} 添加设备ID 元数据: {deviceId, temp} 添加温度值 元数据: {deviceId, temp} 保持不变 元数据随消息逐节点传递,每个节点可读取、修改或新增元数据字段

2.4 规则链版本管理

版本管理是规则链维护与协作的重要功能。ThingsBoard 提供了内置的版本控制机制,支持对规则链配置进行保存、回滚和对比。

2.4.1 版本管理入口

在规则链编辑器的工具栏中,点击 “版本” 按钮(通常显示为时钟图标或版本号标签),即可进入版本管理界面。

2.4.2 版本管理核心功能

功能 操作方式 应用场景
保存版本 点击“保存版本”,输入版本名称和描述 在重大修改前保存当前稳定版本
查看版本历史 在版本列表中查看所有已保存的版本 追溯配置变更记录
版本回滚 选择目标版本,点击“恢复到此版本” 当新配置出现问题时快速恢复
版本对比 选择两个版本,点击“对比” 查看两次修改之间的差异
版本导出 将指定版本导出为 JSON 文件 备份或迁移规则链配置

2.4.3 版本管理最佳实践

  • 频繁保存: 每完成一个功能节点的配置,建议保存一个版本,并填写有意义的描述(如“添加温度过滤节点”)。
  • 版本命名规范: 使用 v1.0、v1.1 格式,或结合日期(如 2025-03-15_温度处理)。
  • 回滚前确认: 回滚操作会覆盖当前编辑器中的配置,建议在回滚前先导出当前版本作为备份。
  • 团队协作: 多人编辑同一规则链时,通过版本注释记录修改人及修改原因,便于追溯。
调试技巧: 当规则链出现异常行为时,首先查看版本历史,确认最近一次修改的内容。使用版本对比功能快速定位变更节点,往往能直接找到问题根源。