RuleGo RuleGo
🏠首页
  • 快速入门
  • 规则链
  • 标准组件
  • 扩展组件
  • 自定义组件
  • 可视化
  • RuleGo-Server
  • AOP
  • 触发器
  • 高级主题
  • 性能
  • 标准组件
  • 扩展组件
  • 自定义组件
  • 流式计算
  • 组件市场
  • 概述
  • 快速入门
  • 路由
  • DSL
  • API
  • Options
  • 组件
🔥编辑器 (opens new window)
  • 可视化编辑器 (opens new window)
  • RuleGo-Server (opens new window)
  • 🌊StreamSQL
  • 🤖智能体框架
  • 🦀TPCLAW 智能体平台 (opens new window)
  • ❓问答

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

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

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

  • 规则链

  • 标准组件

  • 扩展组件

    • 扩展组件概述
    • 过滤器

    • 动作

    • 转换器

    • 外部的

    • ai

    • CI

    • IoT

      • IoT 组件概览
      • 输入端点

      • 协议采集

      • 时序数据库

        • 时序数据库写
          • 配置
            • tags
            • fields
          • 输入格式(msg.Data)
          • 支持的 driver
        • 时序数据库查
        • InfluxDB 写
        • InfluxDB 查
        • TDengine 写
        • TDengine 查
        • TimescaleDB 写
        • TimescaleDB 查
        • Prometheus Remote Write
      • 控制

      • IoT 场景示例
    • 流式计算

    • 服务发现

    • 文件

  • 自定义组件

  • 组件市场

  • 可视化

  • AOP

  • 触发器

  • 高级主题

  • 智能体框架

  • RuleGo-Server

  • 问题

目录

时序数据库写

x/tsdbWrite组件:v0.37.0+通用时序数据库写入节点,按 driver 配置委派到具体 TSDB 后端。

需要额外引入扩展库: rulego-components-iot (opens new window)

# 配置

字段 类型 说明 默认值
driver string TSDB 驱动:opengemini/influxdb/tdengine/timescaledb/promremote 必填
measurement string 测点表名。配置后,输入为采集点数组(iot_points.Data)时自动透视为 SeriesPoint,输入为扁平 map/map 数组时逐行转换为 SeriesPoint;留空则输入须为已透视的 SeriesPoint 格式 空
tags array 落盘索引维度,见下表 空
fields array 落盘字段映射,见下表;留空=全量展开(采集点)或整行 map 作为 fields 空
(其余字段) — 透传给对应 TSDB 写节点(dsn/url/token/database 等) —

# tags

每一项为一个键值对:

key value
索引维度名 索引值,支持 ${msg.xx} 模板

# fields

每一项为一个字段映射:

key source
落盘字段名 来源键:采集点数组下为采集点 name,扁平 map 下为 map 的 key;留空=全量展开

# 输入格式(msg.Data)

输入有三种形态(配置了 measurement 时前两种自动转换,未配置时只认 SeriesPoint):

  • SeriesPoint:已透视好的时序点(未配置 measurement 时必须为此格式),JSON 数组或单对象,原样透传。
  • iot_points.Data 数组:采集点原始数据(即 x/iotRead 的输出),自动透视合并为 1 个 SeriesPoint——各点 name→value 展开为 fields,timestamp 取各点最大值。
  • 扁平 map / map 数组:如 jsTransform、x/streamAggregator 窗口结果的输出,逐行转换——每行 map 生成 1 个 SeriesPoint,整个 map 作为 fields(配置了 fields 时按其筛选/重命名),timestamp 取当前时间。

SeriesPoint 示例(JSON 数组或单对象):

[
  {"measurement": "device1", "tags": {"site": "A"}, "fields": {"temp": 25.3, "humidity": 60}, "timestamp": 0}
]
1
2
3
字段 说明
measurement 测点表/设备表名
tags 索引维度(deviceId/位置等)
fields 数值/状态字段
timestamp 纳秒时间戳(0=当前时间)

扁平 map 转换示例(配置 measurement: device1、fields: [{key: temp, source: temperature}]):

输入: {"deviceId":"dev-07","temperature":25.3,"humidity":60}
输出: [{"measurement":"device1","tags":{...},"fields":{"temp":25.3},"timestamp":now}]
1
2

map 数组则逐行生成多个 SeriesPoint。已经是 SeriesPoint 形状(含 measurement+fields 键)的输入不会被二次转换。

非 JSON 时按 line protocol 文本解析。

注意区分:配置节的 measurement/tags/fields 是节点的静态落盘配置;SeriesPoint 中的同名字段是每次输入的运行时数据,二者概念不同。输入为 iot_points.Data 数组时由配置项决定如何透视;输入为扁平 map 时整个 map(或经 fields 筛选后)作为 fields。

# 支持的 driver

driver 委派节点 连接配置
opengemini x/opengeminiWrite host/username/password/database
influxdb x/influxdbWrite url/token/org/bucket
tdengine x/tdengineWrite dsn (REST: root:taosdata@http(host:6041)/)
timescaledb x/timescaledbWrite dsn (PostgreSQL: postgres://...)
promremote x/promremoteWrite url (http://victoria:8428/api/v1/write)

建表约定差异:opengemini/influxdb/promremote 为 schemaless,可直接写入;tdengine 需预建超级表(带 tags 时子表自动创建)或同名普通表(不带 tags 时),见 x/tdengineWrite;timescaledb 需预建与 measurement 同名的 hypertable,见 x/timescaledbWrite。

在 GitHub 上编辑此页 (opens new window)
上次更新: 2026/08/01, 05:05:14
DL/T 645 写
时序数据库查

← DL/T 645 写 时序数据库查→

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

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