我正在使用InfluxDb并拥有简单的线路协议线,如下所示:
cpu,atag=test1 idle=100,usertime=10,system=1
我有使用字典的python客户端,如下所示
client = InfluxDBClient(host, port, USER, PASSWORD, DBNAME)
client.create_database(DBNAME)
tagdic= {'Name': 'n1', 'data': 7}
fielddic= {'Name': 'field', 'f1': 70}
def main():
var = 1
while var == 1 :
client.write("cpu,atag=test1 idle=100,usertime=10,system=1")
#client.write_points([{"measurement": "cpu", "tags": tagdic, "fields": fielddic}])
只要我使用write_points和字典使用write_points,上面的程序工作正常,但是当我使用client.write时,我收到错误。
如何通过使用protocol value ='line'而不是默认协议'json'来使用client.write作为提及here(行号-255)?
答案 0 :(得分:2)
你得到了什么错误?这是非常重要的信息。
你得到了吗?
influxdb.exceptions.InfluxDBClientError: 400: {"error":"database is required"}
然后你应该这样写你的电话:
client.write(['cpu,atag=test1 idle=100,usertime=10,system=1'],{'db':DBNAME},204,'line')
我改变的事情:
ubuntu用户的注意事项:如果您在编写本文时使用ubuntu软件包管理器进行安装,您将获得旧版本的python客户端,其中write函数采用其他参数。所以当有疑问时请用pip安装。