HTTP API也有兩種操作:寫入和查詢,本文就先給大家介紹一下 InfluxDB的HTTP API的寫入操作方式。
在InfluxDB學習的上一篇文章:InfluxDB學習之InfluxDB的基本操作 中,我們提到 InfluxDB操作有三種方式,其中一種是HTTP API的方式。
HTTP API也有兩種操作:寫入和查詢,本文就先給大家介紹一下 InfluxDB的HTTP API的寫入操作方式。更多InfluxDB詳細教程請看:InfluxDB系列學習教程目錄
InfluxDB技術交流群:580487672(點擊加入)
為了方便,本文主要使用curl來發起http請求,示例當中也是使用curl這個工具來模擬HTTP 請求。
在實際使用中,可以將請求寫入代碼中,通過其他編程語言來模擬HTTP請求。
1)建立數據庫
curl -POST http://localhost:8086/query --data-urlencode "q=CREATE DATABASE mydb"
執行這個語句後,會在本地建立一個名為mydb的數據庫。
2)刪除數據庫
curl -POST http://localhost:8086/query --data-urlencode "q=DROP DATABASE mydb"
其實使用HTTP API就是向 InfluxDB 接口發送相應的POST請求。
將語句通過POST方式發送到服務器。
InfluxDB通過HTTP API添加數據主要使用如下格式:
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和時間戳三者之間以空格相分隔。
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。
在使用HTTP API時,InfluxDB的響應主要有以下幾個:
1)2xx:204代表no content,200代表InfluxDB可以接收請求但是沒有完成請求。一般會在body體中帶有出錯信息。
2)4xx:InfluxDB不能解析請求。
3)5xx:系統出現錯誤。
好了,有關InfluxDB的HTTP API寫入操作就先為大家介紹到這裡,下一篇將會介紹下如何使用 InfluxDB的HTTP API執行查詢操作。
更多InfluxDB詳細教程請看:InfluxDB系列學習教程目錄
InfluxDB技術交流群:580487672(點擊加入)
http://xxxxxx/Linuxjc/1172958.html TechArticle