关于流入dbdb的帖子的状态代码400

时间:2016-10-03 19:12:37

标签: python json post influxdb http-status-code-400

我正在尝试将json文件发布到本地主机上的Influxdb。这是代码:

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"}

我的回复出现以下错误:

{'total_run_count': 9, 'task': 'tasks.add', 'enabled': True, 'schedule': {'period': 'seconds', 'every': 3}, 'kwargs': {'max_targets': 100}, 'running': False, 'options': {}, 'delete_key': 'deleted:tasks:meta:newtask', 'name': b'tasks:meta:newtask', 'last_run_at': datetime.datetime(2016, 10, 3, 19, 9, 50, 162098), 'args': ['3', '2'], 'key': 'tasks:meta:newtask'}

我的json似乎是一个有效的json文件。我不确定我做错了什么。

2 个答案:

答案 0 :(得分:0)

出于性能原因,不推荐使用JSON编写数据,因此已被删除。

请参阅GitHub问题评论107043910

答案 1 :(得分: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)

这实际上是你的代码修改了一下......