InfluxDB学习之InfluxDB的HTTP API查询操作

摘要:
建议使用第三方语言库和客户端管理程序进行查询操作。2、 在InfluxDB中使用HTTP API进行查询的方法主要是将GET请求发送到InfluxD的/query端。
 
 

本文我们再来介绍下使用InfluxDB的HTTP API进行数据查询操作的过程。

一、说明

官方文档上介绍说,使用HTTP API进行查询是比较初级的一种方式。推荐使用第三方语言库和客户端管理程序进行查询操作。

二、InfluxDB进行HTTP API查询方法

使用HTTP API在InfluxDB进行查询主要是发送 GET 请求到 InfluxDB的 /query 端,调用示例如下所示:

curl -GET 'http://localhost:8086/query?pretty=true' --data-urlencode "db=mydb" 
--data-urlencode "q=SELECT value FROM cpu_load_short WHERE region='us-west'"

参数db指定了需查询的数据库,q代表了需执行的查询语句。

在页面中也提供了生成HTTP 请求URL的方法,如下所示:

image

在界面上输入语句后,点击生成url就会生成http请求URL。

在浏览器执行后,会返回json格式的串。

如果查询出错的话,则会返回关键词“error”+错误信息。

三、InfluxDB进行HTTP API查询多条数据

我们可能需要用InfluxDB进行多条查询,HTTP API提供的多条查询的格式如下所示:

curl -G 'http://localhost:8086/query?pretty=true' --data-urlencode "db=mydb" --data-urlencode "q=SELECT value FROM cpu_load_short WHERE region='us-west';
SELECT count(value) FROM cpu_load_short WHERE region='us-west'"

格式与单条查询相同,只是在多条语句之间要用分号“;”分隔。

返回值也是包含结果的json串。

四、InfluxDB HTTP 查询的格式化输出

1)规定时间格式

在使用HTTP查询时可以使用 epoch 参数指定输出的时间格式。可选值有 epoch=[h,m,s,ms,u,ns]。

例如:

curl -G 'http://localhost:8086/query' --data-urlencode "db=mydb" 
--data-urlencode "epoch=s" --data-urlencode "q=SELECT value FROM cpu_load_short WHERE region='us-west'"

这样会获取到以秒为单位的时间数据。

2)指定每次查询数据大小

可以使用 chunk_size 参数来指定每次结果的大小。比如,我要结果每次返回200个点的数据,则如下所示:

curl -G 'http://localhost:8086/query' --data-urlencode "db=mydb" --data-urlencode "chunk_size=200" --data-urlencode "q=SELECT value FROM cpu_load_short WHERE region='us-west'"

这样查询结果就会返回200个点的数据。

免责声明:文章转载自《InfluxDB学习之InfluxDB的HTTP API查询操作》仅用于学习参考。如对内容有疑问,请及时联系本站处理。

上篇JavaWeb之Cookie和Session的区别vue项目 elemnet 升级版本下篇

宿迁高防,2C2G15M,22元/月;香港BGP,2C5G5M,25元/月 雨云优惠码:MjYwNzM=

相关文章

Hive的基本操作

一、创建数据库   hive>create database mydb ; //hql和mysql语法极其相似   hive>show databases;//查看所有数据库 二、创建表   格式:     create [external] table <表名>(列的定义,....)  [row format delimited...

SQL Server Profiler 常见问题总结

1、跟踪指定数据库   SELECT DB_ID('数据名称')   原文:https://jingyan.baidu.com/article/647f0115be128a7f2048a87d.html 2. 列筛选器找不到DatabaseId   先勾选 显示所有列 ,再进入 列筛选器 即可看到.          原文的第四点:https://jing...

关于使用SqlSugar插入数据异常解决方案

 项目的解决方案中引用的有mysqlsugar的数据库操作库,在使用插入数据过程中一些特殊的生僻字或表情符号总会提示: Incorrect string value: 'xF0x9F...' for column 'name' at row 1 这是由于UTF-8编码有可能是两个、三个、四个字节。Emoji表情或者某些特殊字符是4个字节,而MySQL的ut...

多GPU计算

多GPU计算已经可以说,只要是个成熟的模型,都使用了这一点。 例如: gluoncv:https://github.com/dmlc/gluon-cv/blob/master/scripts/detection/faster_rcnn/train_faster_rcnn.py#L218 多GPU计算最常用的方法是:数据并行 流程如下图: 模型参数复制多...

mysql命令详解

mysqld.exe 和 mysql.exe 有什么区别? mysqld.exe 是MySQL后台程序(即MySQL服务器)。要想使用客户端程序,该程序必须运行,因为客户端通过连接服务器来访问数据库。 mysql.exe 是MySQL自带的命令行客户端工具,是交互式输入SQL语句或从文件以批处理模式执行它们的命令行工具。 简单来说:mysqld是用来启...

NIO与AIO,同步/异步,阻塞/非阻塞

1.flip(),compact(),与clear()的使用 flip()内部实现,先将limit设为当前位置,再将缓冲区的postion设为0,所以是为将缓冲区的数据写出到其它通道或者get()作准备。 clear()内部实现,将limit设为缓冲区的容量,position设为0,limit的不同为clear()与flip()的区别,所以clear()是...