Python连接influxdb2.x

一、调研

1.1 influxdb.pypi

官方object网址为:https://pypi.org/project/influxdb/
当时接触这个需求的时候第一时间想的就是去python的官网寻找有关influxdb的object,但是经过阅读该第三方库介绍的时候发现该第三方库全部都是基于influxdb1.x的版本进行开发与测试的(可能兼容2.x,我没有找到文档中关于2.x的信息),所以果断放弃了这个第三方库。

1.2 influxdb_client.pypi

官方object网址为:https://pypi.org/project/influxdb-client/1.13.0/#queries
当打开这个网址的第一时间,一段令人激动的话映入眼帘(-.-!):
InfluxDB 2.0 python client library.所以pip install influxdb-client

二、连接

2.1 对象源码

通过官方文档查询,该库连接到influxdb需要以下主要参数:
influxdbclient对象源码

参数名称含义
urlinfluxdb连接地址
token连接许可
debug是否启动http详细的请求记录
timeout超时时间
enable_zip是否启动Gzip压缩
org组织名称

当然,还能够接受更多的参数,具体请上该对象父类查看,或看下面的截图
该对象父类其余接受参数

2.2 连接实例

influxdb是向你提供token的,具体值在这里(按理说这个值是永久的):
token地址获取
连接代码:

client = InfluxDBClient(
                url='http://123456:8087',
                token='上一步拿到的token',
                org='root'
            )

经过这步之后就能进行连接了,如果出现token非永久化的问题可以加一个是否爬取token的判断,具体参见3.1

三、问题汇总

3.1 token非永久化问题结果

# 目前尚不清楚该token是否为永久化的token,如果存在过期问题则用以下的方法
# 该问题解决通过采用爬虫的方式重新爬取token
import base64
import requests
from fake_useragent import UserAgent
url = 'influxdb地址'
# 创建http-basic请求头
author_base = base64.b64encode(
            f'{用户名}:'
            f'{密码}'.encode('utf-8'))
author_base = str(author_base).split("'")[1]
headers = {
    'User-Agent': UserAgent().chrome,
    'authorization': f'Basic {author_base}'
    }
# 请求
resp = requests.post(url, headers=headers)
# 获取token
token = resp.cookies['influxdb-oss-session']
  • 3
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值