时序数据库influxDB(三)Python连接TSDB——influxDB2

0. 启动TSDB服务

https://blog.csdn.net/xuehu96/article/details/123978640
在这里插入图片描述

1. pip安装influxDB

pip install influxdb-client

在这里插入图片描述

2. influxDB插入数据

from datetime import datetime

from influxdb_client import InfluxDBClient, Point, WritePrecision
from influxdb_client.client.write_api import SYNCHRONOUS

token = "UD3qST2Zu57fMZVmxaFTIxAhp6XA_CXt7YuUyQouyYfoAJtpAkH_CzmHP6BBLGY-XDAJVCthTClSLz0j2eg_Cg=="
org = "xuehu96"
bucket = "test"

with InfluxDBClient(url="http://IP:8086", token=token, org=org) as client:
    write_api = client.write_api(write_options=SYNCHRONOUS)
    
    # 写入方法1 
    data = "mem,host=host1 used_percent=23.43234543"
    write_api.write(bucket, org, data)

    # 写入方法2 (推荐这种)
    point = Point("mem") \
    .tag("host", "host1") \
    .field("used_percent", 24.43234543) \
    .time(datetime.utcnow(), WritePrecision.NS)
    write_api.write(bucket, org, point)

    # 写入方法3
    sequence = ["mem,host=host1 used_percent=25.43234543",
            "mem,host=host1 available_percent=15.856523"]
    write_api.write(bucket, org, sequence)

    # TODO 这里写查询

	# 用完关闭
	client.close()

以上和上一篇Go语言的相同,有三种数据插入方式,我推荐使用第二种,tag和field明显的写出,可读性更好
在这里插入图片描述

3. influxDB查询数据

query = 'from(bucket: "test") |> range(start: -1m)'
    tables = client.query_api().query(query, org=org)
    for table in tables:
        for record in table.records:
            print(record)

在这里插入图片描述
在这里插入图片描述
——EOF——

猜你喜欢

转载自blog.csdn.net/xuehu96/article/details/124036942