2016-10-03 242 views
0

我想在本地主機上發佈一個json文件到influxdb。這是代碼:狀態代碼400上influxdb的郵件消息

import json 
import requests 
url = 'http://localhost:8086/write?db=mydb' 
files ={'file' : open('sample.json', 'rb')} 
r = requests.post(url, files=files) 
print(r.text) 

這是sample.json樣子:

{ 
      "region" : "eu-west-1", 
      "instanceType": "m1.small" 
    } 

我的回答給出了以下錯誤:

{"error":"unable to parse '--1bee44675e8c42d8985e750b2483e0a8\r': 
missing fields\nunable to parse 'Content-Disposition: form-data; 
name=\"file\"; filename=\"sample.json\"\r': invalid field 
format\nunable to parse '\r': missing fields\nunable to parse '{': 
missing fields\nunable to parse '\"region\" : \"eu-west-1\",': invalid 
field format\nunable to parse '\"instanceType\": \"m1.small\"': invalid 
field format\nunable to parse '}': missing fields"} 

我的JSON似乎是一個有效的JSON文件。我不確定我做錯了什麼。

回答

0

我認爲這個錯誤可能是你打開文件但沒有讀取它。我的意思是,因爲你要發佈其存儲在文件中json對象的內容,而不是文件本身,它可能會更好做,而不是:

import json 
import requests 
url = 'http://localhost:8086/write?db=mydb' 
json_data = open('sample.json', 'rb').read() # read the json data from the file 
r = requests.post(url, data=json_data) # post them as data 
print(r.text) 

這實際上是修改的只是一個代碼位...

+1

謝謝,這確實有助於擺脫這個錯誤。然而,現在我得到一個InfluxDB錯誤 - {「錯誤」:「數據庫是必需的」} –

+0

@TracyAnnMonteiro,這是一個與'InfluxDB'有關的問題。 你可以看到更多在這裏: https://github.com/influxdata/influxdb/issues/2127 和一些有用的信息,以解決此在這個帖子: http://stackoverflow.com/questions/30227901/internal -server-誤差而進入點可使用JSON的功能於influxdb – coder

0

出於性能方面的原因而不贊成使用JSON編寫數據,並且此後已被刪除。

查看GitHub問題評論107043910

+0

是的你是正確的。我發佈了這個問題後看到了這個。謝謝。 –