时序数据库查
x/tsdbQuery组件:v0.37.0+通用时序数据库查询节点,按 driver 配置委派到具体 TSDB 后端。
需要额外引入扩展库: rulego-components-iot (opens new window)
# 配置
| 字段 | 类型 | 说明 | 默认值 |
|---|---|---|---|
| driver | string | TSDB 驱动:opengemini/influxdb/tdengine/timescaledb | 必填 |
| (其余字段) | — | 透传给对应 TSDB 查询节点(连接与查询语句字段,见下表) | — |
# 支持的 driver
| driver | 委派节点 | 查询语言 | 连接配置 | 查询语句字段 |
|---|---|---|---|---|
| opengemini | x/opengeminiQuery | SQL | server/username/password/database | command |
| influxdb | x/influxdbQuery | Flux | url/token/org/bucket | query |
| tdengine | x/tdengineQuery | SQL | dsn (REST: root:taosdata@http(host:6041)/) /db | query |
| timescaledb | x/timescaledbQuery | SQL (PostgreSQL) | dsn/db | query |
promremote 为只写后端,不支持查询。各库连接配置与对应写节点一致,见 x/tsdbWrite。
# 输出格式(msg.Data)
各 driver 的查询结果统一为列+行的 QueryResult JSON,路由到 Success;查询出错路由到 Failure:
{
"Columns": ["time", "device_id", "temp"],
"Rows": [
{"time": "2026-07-29T10:00:00Z", "device_id": "d1", "temp": 25.3}
]
}
1
2
3
4
5
6
2
3
4
5
6
列名与各后端的原生方言一致(如 InfluxDB Flux 返回
_time/_value/_field等内置列)。查询语句按所选后端原生语言编写,支持${msg.xx}/${metadata.xx}模板。
在 GitHub 上编辑此页 (opens new window)
上次更新: 2026/07/29, 08:03:51