Python 客户端库
使用 InfluxDB 3 客户端进行查询
InfluxDB 3 支持写入数据的兼容性端点,可以使用 InfluxDB v2 和 v1 工具。但是,/api/v2/query
API 端点和相关的工具,例如 InfluxDB v2 客户端库和 influx
CLI,无法查询存储在 InfluxDB 3 Core 中的数据。
InfluxDB 3 客户端库可用于与您的代码集成,以写入和查询存储在 InfluxDB 3 Core 中的数据。
比较您可以使用的工具,以与 InfluxDB 3 Core 进行交互。
使用 InfluxDB Python 客户端库将 InfluxDB 集成到 Python 脚本和应用程序中。
本指南假定您对 Python 和 InfluxDB 有一定的了解。如果刚刚入门,请参阅InfluxDB 入门。
开始之前
您需要以下先决条件
安装 InfluxDB Python 库
pip install influxdb-client
InfluxDB Cloud Dedicated 集群 URL,使用 HTTPS 协议 – 例如
https://localhost:8181
要写入的数据库的名称。
InfluxDB 数据库令牌,具有写入数据库的权限。出于安全原因,我们建议设置环境变量来存储您的令牌,并避免在脚本中暴露原始令牌值。
使用 Python 将数据写入 InfluxDB
按照步骤将行协议数据写入 InfluxDB Cloud Dedicated 数据库。
在您的编辑器中,为您的 Python 程序创建一个文件 - 例如:
write.py
。在该文件中,导入 InfluxDB 客户端库。
import influxdb_client from influxdb_client.client.write_api import SYNCHRONOUS import os
为您的数据库名称、组织(必需,但被忽略)和数据库令牌定义变量。
database = "DATABASE_NAME" org = "ignored" # INFLUX_TOKEN is an environment variable you created for your database WRITE token token = os.getenv('INFLUX_TOKEN') url="https://localhost:8181"
要实例化客户端,请使用以下关键字参数调用
influxdb_client.InfluxDBClient()
方法:url
、org
和token
。client = influxdb_client.InfluxDBClient( url=url, token=token, org=org )
InfluxDBClient
对象有一个write_api
方法用于配置。通过使用写入配置选项调用
client.write_api()
方法来实例化一个写入客户端。write_api = client.write_api(write_options=SYNCHRONOUS)
创建一个 point 对象,并使用 API 写入器对象的
write
方法将其写入 InfluxDB。write 方法需要三个参数:bucket
、org
和record
。p = influxdb_client.Point("my_measurement").tag("location", "Prague").field("temperature", 25.3) write_api.write(bucket=database, org=org, record=p)
完整的示例写入脚本
import influxdb_client
from influxdb_client.client.write_api import SYNCHRONOUS
import os
database = "DATABASE_NAME"
org = "ignored"
# INFLUX_TOKEN is an environment variable you created for your database WRITE token
token = os.getenv('INFLUX_TOKEN')
url="https://localhost:8181"
client = influxdb_client.InfluxDBClient(
url=url,
token=token,
org=org
)
# Write script
write_api = client.write_api(write_options=SYNCHRONOUS)
p = influxdb_client.Point("my_measurement").tag("location", "Prague").field("temperature", 25.3)
write_api.write(bucket=database, org=org, record=p)
使用 Python 从 InfluxDB 查询数据
InfluxDB v2 Python 客户端无法查询 InfluxDB Cloud Dedicated。要查询您的专用实例,请使用带有 gRPC 的 Python Flight SQL 客户端。
此页是否对您有帮助?
感谢您的反馈!
支持和反馈
感谢您成为我们社区的一份子!我们欢迎并鼓励您提供关于 InfluxDB 3 Core 和本文档的反馈和错误报告。要获得支持,请使用以下资源
拥有年度或支持合同的客户可以联系 InfluxData 支持。