Documentation

Python 客户端库

使用 InfluxDB 3 客户端

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

InfluxDB 3 客户端库Flight SQL 客户端 可用,它们与您的代码集成,以写入和查询存储在 InfluxDB 集群中的数据。

InfluxDB 3 支持许多不同的工具用于 写入查询 数据。 比较您可以使用的工具 来与 InfluxDB 集群交互。

使用 InfluxDB Python client library 将 InfluxDB 集成到 Python 脚本和应用程序中。

本指南假设您对Python和InfluxDB有一定的熟悉度。
如果您刚开始,请参见 Get started with 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 name、组织(必需,但被忽略)和 database token 定义变量。

    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. 创建一个 point 对象,并使用 API 写入对象的 write 方法将其写入 InfluxDB。写入方法需要三个参数: bucketorg, 和 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://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 3 开源版本现已公开Alpha测试

InfluxDB 3 Open Source is now available for alpha testing, licensed under MIT or Apache 2 licensing.

我们将发布两个产品作为测试版的一部分。

InfluxDB 3 核心,是我们新的开源产品。 它是一个用于时间序列和事件数据的实时数据引擎。 InfluxDB 3 企业版是建立在核心基础之上的商业版本,增加了历史查询能力、读取副本、高可用性、可扩展性和细粒度安全性。

有关如何开始的更多信息,请查看: