HTTP API也有兩種操做:寫入和查詢,本文就先給你們介紹一下 InfluxDB的HTTP API的寫入操做方式。linux
咱們提到 InfluxDB操做有三種方式,其中一種是HTTP API的方式。數據庫
1、說明
爲了方便,本文主要使用curl來發起http請求,示例當中也是使用curl這個工具來模擬HTTP 請求。編程
在實際使用中,能夠將請求寫入代碼中,經過其餘編程語言來模擬HTTP請求。curl
2、InfluxDB經過HTTP API操做數據庫
1)創建數據庫編程語言
curl -POST http://localhost:8086/query --data-urlencode "q=CREATE DATABASE mydb"
執行這個語句後,會在本地創建一個名爲mydb的數據庫。工具
2)刪除數據庫post
curl -POST http://localhost:8086/query --data-urlencode "q=DROP DATABASE mydb"
其實使用HTTP API就是向 InfluxDB 接口發送相應的POST請求。url
將語句經過POST方式發送到服務器。code
3、InfluxDB經過HTTP API添加數據
InfluxDB經過HTTP API添加數據主要使用以下格式:server
curl -i -XPOST 'http://localhost:8086/write?db=mydb' --data-binary 'cpu_load_short,host=server01,region=us-west value=0.64 1434055562000000000'
說明:db=mydb是指使用mydb這個數據庫。
--data-binary後面是需插入數據。
cpu_load_short是表名(measurement),tag字段是host和region,值分別爲:server01和us-west。
field key字段是value,值爲0.64。
時間戳(timestamp)指定爲1434055562000000000。
這樣,就向mydb數據庫的cpu_load_short表中插入了一條數據。
其中,db參數必須指定一個數據庫中已經存在的數據庫名,數據體的格式聽從InfluxDB規定格式,首先是表名,後面是tags,而後是field,最後是時間戳。tags、field和時間戳三者之間以空格相分隔。
4、InfluxDB經過HTTP API添加多條數據
InfluxDB經過HTTP API添加多條數據與添加單條數據類似,示例以下:
curl -i -XPOST 'http://localhost:8086/write?db=mydb' --data-binary 'cpu_load_short,host=server02 value=0.67 cpu_load_short,host=server02,region=us-west value=0.55 1422568543702900257 cpu_load_short,direction=in,host=server01,region=us-west value=2.0 1422568543702900257'
這條語句向數據庫mydb的表cpu_load_short中插入了三條數據。
第一條指定tag爲host,值爲server02,第二條指定tag爲host和region,值分別爲server02和us-west,第三條指定tag爲direction,host,region,值分別爲:in,server01,us-west。
5、InfluxDB 的HTTP API響應
在使用HTTP API時,InfluxDB的響應主要有如下幾個:
1)2xx:204表明no content,200表明InfluxDB能夠接收請求可是沒有完成請求。通常會在body體中帶有出錯信息。
2)4xx:InfluxDB不能解析請求。
3)5xx:系統出現錯誤。
好了,有關InfluxDB的HTTP API寫入操做就先爲你們介紹到這裏,下一篇將會介紹下如何使用 InfluxDB的HTTP API執行查詢操做。