文档

Python 客户端库

使用 InfluxDB v3 客户端

API 端点 /api/v2/query 及相关工具,如 InfluxDB v2 客户端库和 influx CLI,**无法**查询 InfluxDB 集群。

提供与您的代码集成的 InfluxDB v3 客户端库和 Flight SQL 客户端,这些库可以用于向 InfluxDB 集群写入和查询数据。

InfluxDB v3 支持多种工具来 写入查询 数据。请比较您可以使用的工具 来与 InfluxDB 集群交互。

使用 InfluxDB Python 客户端库 将 InfluxDB 集成到 Python 脚本和应用程序中。

本指南假设您对 Python 和 InfluxDB 有一定了解。如果您是初学者,请参阅 InfluxDB 入门

开始之前

您需要以下先决条件

  1. 安装 InfluxDB Python 库

    pip install influxdb-client
    
  2. 使用 HTTPS 协议的 InfluxDB 集群 URL - 例如

    https://cluster-host.com
    
  3. 要写入的 数据库名称

  4. 具有写入数据库权限的 数据库令牌出于安全原因,我们建议设置环境变量以存储您的令牌,避免在脚本中暴露原始令牌值。

使用 Python 将数据写入 InfluxDB

按照以下步骤将 行协议 数据写入 InfluxDB 集群数据库。

  1. 在您的编辑器中,为您的 Python 程序创建一个文件 - 例如:write.py

  2. 在该文件中,导入 InfluxDB 客户端库。

    import influxdb_client
    from influxdb_client.client.write_api import SYNCHRONOUS
    import os
    
  3. 定义您的 数据库名称、组织(必需,但忽略)和 数据库令牌 的变量。

    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://cluster-host.com"
    
  4. 要实例化客户端,请使用以下关键字参数调用 influxdb_client.InfluxDBClient() 方法: urlorgtoken

    client = influxdb_client.InfluxDBClient(
       url=url,
       token=token,
       org=org
    )
    

    InfluxDBClient 对象有一个用于配置的 write_api 方法。

  5. 通过调用 client.write_api() 方法并传入写配置选项来实例化一个 写客户端

    write_api = client.write_api(write_options=SYNCHRONOUS)
    
  6. 创建一个 对象,并使用 API 写入对象的 write 方法将其写入 InfluxDB。写方法需要三个参数:bucketorgrecord

    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://cluster-host.com"

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 集群。要查询您的集群,请使用带有 gRPC 的 Python Flight SQL 客户端


这个页面有帮助吗?

感谢您的反馈!


Flux 的未来

Flux 正在进入维护模式。您可以继续按照当前方式使用它,无需对您的代码进行任何更改。

阅读更多

InfluxDB v3 增强功能和 InfluxDB 集群现在已普遍可用

新功能包括更快的查询性能和管理工具,推动了 InfluxDB v3 产品线的进步。InfluxDB 集群现在已普遍可用。

InfluxDB v3 性能和功能

InfluxDB v3 产品线在查询性能方面取得了显著提升,并提供了新的管理工具。这些增强包括一个操作仪表板来监控您的 InfluxDB 集群的健康状况,InfluxDB Cloud Dedicated 中的单一登录(SSO)支持,以及用于令牌和数据库的新管理 API。

了解 v3 的新增强功能


InfluxDB 集群普遍可用

InfluxDB 集群现在已普遍可用,为您在自行管理堆栈中提供了 InfluxDB v3 的功能。

与我们讨论 InfluxDB 集群