zoukankan      html  css  js  c++  java
  • InfluxDB学习之InfluxDB的HTTP API查询操作

     

     

    本文我们再来介绍下使用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个点的数据。

  • 相关阅读:
    命令行界面下用户和组管理之groupadd的使用
    vue数据更新UI不刷新显示解决方案
    传入函数作为string.replace方法的第二个参数应用
    CSS 黑魔法-css控制图标颜色
    谈谈Web Components
    js函数组合
    “平滑滚动”效果骚操作
    BFC布局解析
    关于js构造函数return的一些解惑
    关于setTimeout和setInterval你不知道的事
  • 原文地址:https://www.cnblogs.com/gaoguangjun/p/8513023.html
Copyright © 2011-2022 走看看