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 组件概览
      • 输入端点

      • 协议采集

      • 时序数据库

        • 时序数据库写
        • 时序数据库查
        • InfluxDB 写
        • InfluxDB 查
        • TDengine 写
          • 数据落盘模型
          • 配置
            • tags
            • fields
          • 输入格式(msg.Data)
        • TDengine 查
        • TimescaleDB 写
        • TimescaleDB 查
        • Prometheus Remote Write
      • 控制

      • IoT 场景示例
    • 流式计算

    • 服务发现

    • 文件

  • 自定义组件

  • 组件市场

  • 可视化

  • AOP

  • 触发器

  • 高级主题

  • 智能体框架

  • RuleGo-Server

  • 问题

目录

TDengine 写

x/tdengineWrite组件:v0.37.0+写入 TDengine 时序数据库(REST/SQL INSERT)。输入要求为 JSON SeriesPoint 列表。

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

# 数据落盘模型

TDengine 是 schema-first 数据库,组件不负责建表,目标表结构需用户预建。按 SeriesPoint 是否带 tags 分两种行为:

  • 带 tags(推荐,IoT 常规场景):按超级表(STable)模型写入。measurement 为超级表名,tags 作为子表标签值;子表不存在时由 INSERT ... USING ... TAGS(...) 语法自动创建,无需预建。子表名 = 净化前缀(measurement + 各 tag 值按 tag key 字典序拼接,非法字符替换为 _)+ 8 位十六进制哈希后缀(对原始值计算,dev-01/dev_01 等净化后同名的值哈希不同,不会串表),总长不超过 192 字节。
  • 不带 tags:写入与 measurement 同名的普通表,需预建。

列结构约定:数据列首列固定为 ts(TIMESTAMP),其余为各 field key;超级表的 TAGS 列为各 tag key。超级表示例(TAGS 列与 tags 配置对应,数据列与采集点/fields 配置对应):

CREATE STABLE db0.device_data (ts TIMESTAMP, temp DOUBLE, humidity DOUBLE)
TAGS (device_id NCHAR(64), site NCHAR(32));
1
2

写入行为说明:

  • 一条消息内的批量点合并为多表段 INSERT 语句执行(多个子表/普通表可共用一条语句);同一子表的点字段集不同时,列取超集、缺失字段补 NULL;超过单语句字节预算(约 512KB,taosAdapter maxSQLLength 默认 1MB)时自动拆分为多条语句依次执行;
  • 时间戳(纳秒)以带时区偏移的 ISO8601 字符串字面量写入,由 TDengine 按目标库精度(ms/us/ns,建库时 CREATE DATABASE ... PRECISION 'ns' 指定)自动解析,组件无需配置精度;timestamp=0 写入 NOW();早于 1970 年的时间戳视为无效;
  • 值为 null 或 NaN/±Inf 的字段跳过;整批点全部无效(无有效字段或时间戳越界)时路由到 Failure。

# 配置

字段 类型 说明 默认值
dsn string DSN,格式 root:taosdata@http(host:6041)/。支持 ref:// 复用同链连接 必填
db string 数据库名,支持 ${msg.xx}/${metadata.xx} 模板 必填
measurement string 测点表名(可选)。配置后可直接把采集点数组透视为 SeriesPoint,或把扁平 map/map 数组逐行转换为 SeriesPoint;留空则输入必须已经是 SeriesPoint 空
tags array 落盘索引维度,见下表 空
fields array 落盘字段映射,见下表;留空=全量展开(采集点)或整行 map 作为 fields 空

# tags

每一项为一个键值对:

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

# fields

每一项为一个字段映射:

key source
落盘字段名 采集点 name 或 map key;留空=全量展开

# 输入格式(msg.Data)

输入为 SeriesPoint JSON 数组(或单对象)。配置 measurement 后可接收 iot_points.Data 采集点数组自动透视,或扁平 map/map 数组逐行转换。SeriesPoint 结构同 x/tsdbWrite。

在 GitHub 上编辑此页 (opens new window)
上次更新: 2026/08/01, 05:05:14
InfluxDB 查
TDengine 查

← InfluxDB 查 TDengine 查→

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

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