查询操作

时序时空数据库 TSDB

  • 功能发布记录
  • 产品描述
    • 名词解释
    • 产品概述
    • 数据结构
    • 产品优势
    • 产品功能
    • 系统限制
  • Python-SDK
    • 管理接口
    • 生成查询数据点的预签名URL
    • 写入数据点的Gzip压缩说明
    • 查询操作
    • 写入操作
    • 创建TsdbClient
    • Demo工程下载
    • 版本说明
    • 安装SDK工具包
    • 概述
  • 申请邀请
    • 申请成为邀测用户
  • Java-SDK
    • 管理接口
    • 生成查询数据点的预签名URL
    • 写入数据点的gzip压缩说明
    • 查询操作
    • 写入操作
    • 创建TsdbClient
    • Demo工程下载
    • 版本说明
    • 快速入门
    • 安装SDK工具包
    • 概述
  • SQL参考
    • 支持SQL查询
    • 对接hive-sql
    • 支持MySQL协议
    • 对接spark-sql
  • 快速入门
    • 使用API入门
    • 创建数据库
    • 通过查询面板生成图表
    • 连接数据库
    • 概述
  • 典型实践
    • 物联网设备状态监控存储分析
    • 互联网业务性能监控服务
  • 操作指南
    • 多用户访问控制
    • 数据预处理
    • 时空服务
    • 数据管理
    • 与天工产品对接
    • 数据可视化
    • 数据库管理
    • 插值查询
  • 服务等级协议SLA
    • 时序数据库TSDB服务等级协议SLA(V2.0)
  • Node-SDK
    • 管理接口
    • 生成查询数据点的预签名URL
    • 写入数据点的gzip压缩说明
    • 查询操作
    • 写入操作
    • 创建TsdbClient
    • Demo工程下载
    • 版本说明
    • 快速入门
    • 安装SDK工具包
    • 错误码
    • 概述
  • API参考
    • 介绍
    • 聚合函数
    • 时间单位
    • 附录
    • 更新历史
    • 数据API接口说明
    • 管理API接口说明
    • 分组方式
  • 常见问题
    • 数据库创建及设置
    • 数据点查询
    • 数据管理
    • 用量提示
    • 常见问题总览
    • 数据点写入
  • 产品定价
    • 到期停服处理
    • 预付费
所有文档
menu
没有找到结果,请重新输入

时序时空数据库 TSDB

  • 功能发布记录
  • 产品描述
    • 名词解释
    • 产品概述
    • 数据结构
    • 产品优势
    • 产品功能
    • 系统限制
  • Python-SDK
    • 管理接口
    • 生成查询数据点的预签名URL
    • 写入数据点的Gzip压缩说明
    • 查询操作
    • 写入操作
    • 创建TsdbClient
    • Demo工程下载
    • 版本说明
    • 安装SDK工具包
    • 概述
  • 申请邀请
    • 申请成为邀测用户
  • Java-SDK
    • 管理接口
    • 生成查询数据点的预签名URL
    • 写入数据点的gzip压缩说明
    • 查询操作
    • 写入操作
    • 创建TsdbClient
    • Demo工程下载
    • 版本说明
    • 快速入门
    • 安装SDK工具包
    • 概述
  • SQL参考
    • 支持SQL查询
    • 对接hive-sql
    • 支持MySQL协议
    • 对接spark-sql
  • 快速入门
    • 使用API入门
    • 创建数据库
    • 通过查询面板生成图表
    • 连接数据库
    • 概述
  • 典型实践
    • 物联网设备状态监控存储分析
    • 互联网业务性能监控服务
  • 操作指南
    • 多用户访问控制
    • 数据预处理
    • 时空服务
    • 数据管理
    • 与天工产品对接
    • 数据可视化
    • 数据库管理
    • 插值查询
  • 服务等级协议SLA
    • 时序数据库TSDB服务等级协议SLA(V2.0)
  • Node-SDK
    • 管理接口
    • 生成查询数据点的预签名URL
    • 写入数据点的gzip压缩说明
    • 查询操作
    • 写入操作
    • 创建TsdbClient
    • Demo工程下载
    • 版本说明
    • 快速入门
    • 安装SDK工具包
    • 错误码
    • 概述
  • API参考
    • 介绍
    • 聚合函数
    • 时间单位
    • 附录
    • 更新历史
    • 数据API接口说明
    • 管理API接口说明
    • 分组方式
  • 常见问题
    • 数据库创建及设置
    • 数据点查询
    • 数据管理
    • 用量提示
    • 常见问题总览
    • 数据点写入
  • 产品定价
    • 到期停服处理
    • 预付费
  • 文档中心
  • arrow
  • 时序时空数据库TSDB
  • arrow
  • Node-SDK
  • arrow
  • 查询操作
本页目录
  • 获取度量(Metric)
  • 获取Field
  • 获取标签(Tag)
  • 查询数据点
  • 单域查询数据点
  • 多域查询数据点
  • 使用插值方式查询数据点
  • 分页查询数据点
  • SQL查询接口

查询操作

更新时间:2025-08-22

获取度量(Metric)

基本流程

  1. 创建TsdbDataClient。
  2. 执行getMetrics()方法。

如下代码可以获取metric列表:

Plain Text
1// 获取并打印Metric
2client.getMetrics()
3    .then(response => console.log(response.body))        // 获取成功
4    .catch(error => console.error(error));               // 获取失败,并返回错误类型

执行结果:

Plain Text
1//  终端返回结果 
2{
3	metrics: [ 
4		'cpu_idle',
5		'cpu_idle1' 
6	] 
7}

获取Field

基本流程

  1. 创建TsdbDataClient。
  2. 执行getFields()方法,您需要提供查询的metricName。

如下代码可以获取Field列表:

Plain Text
1var metricName = <metricName>;
2// 获取并打印Field
3client.getFields(<metricName>)
4    .then(response => console.log(response.body))        // 获取成功
5    .catch(error => console.error(error));               // 获取失败,并返回错误类型

执行结果:

Plain Text
1//  终端返回结果 
2{ 
3	"fields": [
4		 "field1",
5		 "field2"
6	]
7 }

获取标签(Tag)

基本流程

  1. 创建TsdbDataClient。
  2. 执行getTags()方法,您需要提供查询的metricName。

如下代码可以获取标签(Tag)列表:

Plain Text
1var metricName = <metricName>;
2// 获取并打印Tag
3client.getTags(<metricName>)
4    .then(response => console.log(response.body))        // 获取成功
5    .catch(error => console.error(error));               // 获取失败,并返回错误类型

执行结果:

Plain Text
1//  终端返回结果 
2{ 
3	tags: [ 
4		'tags1',
5		'tags2' 
6	] 
7}

查询数据点

单域查询数据点

基本流程

  1. 创建TsdbDataClient。
  2. 执行getDatapoints()方法,您需要提供根据需求构建的查询列表。

如下代码可以查询数据点:

Plain Text
1// 构建想要查询的queryList
2var queryList = [
3    {
4	    "metric": "cpu_idle1",
5	    "filters": {
6	        "start": "1 hour ago",
7	        "tags": {
8	            "host": [
9	                "server1",
10	                "server2"
11	            ]
12	        },
13	        "value": ">= 10"
14	    },
15	    "groupBy": [
16	        {
17	            "name": "Tag",
18	            "tags": [
19	                "rack"
20	            ]
21	        }
22	    ]
23	}
24];
25
26// 获取并打印查询结果
27client.getDatapoints(<queryList>)
28    .then(response => console.log(JSON.stringify(response.body)))            // 获取成功
29    .catch(error => console.error(error));                   // 获取失败,并返回错误类型

执行结果:

Plain Text
1//  终端返回类似结果
2{ 
3	results: [
4		{ 
5		   metric: 'humidity', 
6		   field: 'value',
7		   groups: [], 
8		   rawCount: 0 
9		} 
10	] 
11}

多域查询数据点

基本流程

  1. 创建TsdbDataClient。
  2. 执行getDatapoints()方法,您需要提供根据需求构建的查询列表。

如下代码可以查询数据点:

Plain Text
1// 构建想要查询的queryList
2var queryList = [
3    {
4        "metric": "cpu_idle3",
5        "fields": [
6            "field1",
7            "field2"
8        ],
9        "tags": [
10            "rack",
11            "host"
12        ],
13        "filters": {
14            "start": "5 hour ago",
15            "fields": [
16                {
17                    "field": "field1",
18                    "value": ">= 10"
19                },
20                {
21                    "field": "field2",
22                    "value": "<= 10"
23                }
24            ],
25            "tags": {
26                "rack": [
27                    "rack1"
28                ],
29                "host": [
30                    "server1"
31                ]
32            },
33            
34        },
35        "groupBy": [
36            {
37                "name": "Tag",
38                "tags": [
39                    "rack",
40                    "host"
41                ]
42            }
43        ],
44        "limit": 1000
45    }
46];
47// 获取并打印查询结果
48client.getDatapoints(<queryList>)
49    .then(response => console.log(JSON.stringify(response.body)))           // 获取成功
50    .catch(error => console.error(error));                   // 获取失败,并返回错误类型
51    

执行结果:

Plain Text
1//  终端返回类似结果
2{ 
3	results: [ 
4		{ 
5			metric: 'humidity',
6	 		field: 'value', 
7			groups: [], 
8			rawCount: 0
9	   }
10	]
11}

使用插值方式查询数据点

基本流程

  1. 创建TsdbDataClient。
  2. 执行getDatapoints()方法,您需要提供根据需求构建的查询列表。

如下代码可以对数据点进行插值:

Plain Text
1// 构建想要查询的queryList
2var queryList = [
3    {
4        "metric": "cpu_idle3",
5        "field": "field1",
6        "filters": {
7           "start": "1 hour ago",
8           "tags": {
9              "host": [
10                 "server1"
11                 ]
12              }
13         },
14         "fill": {
15            "type": "Linear",
16            "interval": "5 minutes",
17            "maxWriteInterval": "30 minutes"
18         }
19     }
20 ];
21// 获取并打印查询结果
22client.getDatapoints(<queryList>)
23     .then(response => console.log(JSON.stringify(response.body)))             // 获取成功
24     .catch(error => console.error(error));                   // 获取失败,并返回错误类型

执行结果:

Plain Text
1//  终端返回类似结果
2{ 
3	results: [ 
4		{ 
5			metric: 'humidity', 
6			field: 'value',
7 			groups: [],
8 			rawCount: 0 
9  		} 
10  	]
11}

分页查询数据点

基本流程

  1. 创建TsdbDataClient。
  2. 执行getDatapoints()方法,您需要提供根据需求构建的查询列表。
  3. 根据返回结果的result.truncated判断是否还有下一页数据,有则执行2,否则结束。

示例代码:

Plain Text
1// 构建想要查询的query
2var query = {
3    "metric": "cpu_idle1",
4    "filters": {
5        "start": "1 hour ago",
6    }
7};
8var fetchNext = nextMarker => {
9    query.marker = nextMarker;                             // 设置marker,以便获取后面的数据
10    client.getDatapoints([query,])                         // 获取数据
11        .then(deealWithResponse)                           // 设置处理结果的callback
12        .catch(dealWithError);                             // 设置处理error的callback
13};
14var deealWithResponse = response => {                      // 处理结果
15    console.log(JSON.stringify(response.body))             // 打印结果
16    if (response.body.results[0].truncated) {              // 后面还有数据
17        fetchNext(response.body.results[0].nextMarker);    // 获取下一页
18    }
19}
20var dealWithError = error => console.error(error);         // 处理error
21
22client.getDatapoints([query,])                             // 获取数据
23    .then(deealWithResponse)                               // 设置处理结果的callback
24    .catch(dealWithError);                                 // 设置处理error的callback

SQL查询接口

NodeSDK在0.3.1版本中支持了SQL查询接口,支持标准的ANSI SQL语义。

基本流程

  1. 创建TsdbDataClient。
  2. 执行getRowsWithSql(sql)方法

如下代码可以使用SQL查询数据点:

Plain Text
1  var sql = 'select * from cpu_idle';
2  client.getRowsWithSql(sql)
3      .then(function (response) {
4            console.log(response.body);
5      });

上一篇
写入数据点的gzip压缩说明
下一篇
写入操作