跳转到主要内容

为InfluxDB 3.0的社区Python客户端(CLI)

项目描述

Your Image

PyPI version PyPI downloads Lint Code Base Lint Code Base Community Slack

influxdb3-python-cli

关于

此存储库包含InfluxDB 3.0 Python客户端库的CLI扩展(请参阅influxdb 3.0 python客户端库)。虽然此代码基于官方支持的API构建,但此库和CLI并非由InfluxData官方支持。

安装

要安装CLI,请在您的终端中输入以下命令

python3 -m pip install influxdb3-python-cli

作用域和权限

Python提供了以下方法来在特定范围内安装包

  • 要将CLI(及其依赖项)隔离到您的项目目录中,请使用虚拟环境安装CLI。请参阅如何创建和使用venvconda Python虚拟环境
  • 要安装客户端到用户特定的目录(无需管理员权限),请在pip命令中传递--user标志。
  • 要使用管理员权限安装客户端到系统范围内的路径,请使用带有管理员权限的sudo

添加配置

要配置CLI,请执行以下操作之一

  • 使用influx3 create config命令创建或修改配置--例如

    influx3 create config \
    --name="my-config" \
    --database="<database or bucket name>" \
    --host="us-east-1-1.aws.cloud2.influxdata.com" \
    --token="<your token>" \
    --org="<your org ID>"
    

    输出是保存于您的Documents文件夹中名为config的目录中的config.json文件中的配置。

如果您正在针对InfluxDB Cloud Serverless运行CLI,请在示例中将your-database替换为您的Cloud Serverless bucket name

作为命令运行

influx3 sql "select * from anomalies"
influx3 write testmes f=7 

交互式查询和写入

在您的终端中,输入以下命令

influx3

influx3 显示 (>) 交互式提示符并等待输入。

Welcome to my IOx CLI.

(>)

要查询,在提示符下输入 sql

(>) sql

(sql >) 提示符下,输入您的查询语句

(sql >) select * from home

influx3 CLI 以 Markdown 表格格式显示查询结果--例如

|     |   co |   hum | room        |   temp | time                          |
|----:|-----:|------:|:------------|-------:|:------------------------------|
|   0 |    0 |  35.9 | Kitchen     |   21   | 2023-03-09 08:00:00           |
|   1 |    0 |  35.9 | Kitchen     |   21   | 2023-03-09 08:00:50           |

要写入,在 (>) 提示符下输入 write

(>) write

(write >) 提示符下,输入行协议数据。

(>) write 
home,room=kitchen temp=70.5,hum=80

要退出提示符,输入 exit

从文件写入

InfluxDB CLI 和客户端库可以从 CSV、JSON、ORC、Parquet 和 Feather 文件写入数据。CSV 文件必须包含以下内容

  • 包含列名的标题行
  • 包含每行时间戳的列

以下 CLI 选项指定如何解析数据

  • --file - 文件的路径。
  • --time - 包含时间戳的列的名称。
  • --measurement - 存储数据的测量名称。 (可选,如果数据中没有测量列,则默认寻找)
  • --tags - (可选) 指定用作标签的列名数组。 (目前仅支持用户指定的字符串) 例如:--tags=host,region

以下示例展示了如何将 ./Examples/example.csv 文件 中的 CSV 数据写入 InfluxDB (作为行协议)

influx3 write_file --file ./Examples/example.csv --measurement table2 --time Date --tags host,region

配置命令

config 命令允许您管理应用程序的配置。它有以下子命令: createupdateusedeletelist

创建

create 子命令创建一个新的配置。它需要 --name--host--token--database--org 参数。--active 参数是可选的,可以用来设置新的配置为活动配置。

示例用法

influx3.py config create --name="my-config" --host="us-east-1-1.aws.cloud2.influxdata.com" --token="<your token>" --database="<database or bucket name>" --org="<your org ID>" --active

更新

update 子命令更新现有的配置。需要 --name 参数来指定要更新的配置。所有其他参数 (--host--token--database--org--active) 都是可选的。

示例用法

influx3.py config update --name="my-config" --host="new-host.com"

使用

use 子命令将特定的配置设置为活动配置。需要 --name 参数来指定要使用的配置。

示例用法

influx3.py config use --name="my-config"

删除

delete 子命令删除配置。需要 --name 参数来指定要删除的配置。

示例用法

influx3.py config delete --name="my-config"

列表

list 子命令列出所有配置。

示例用法

influx3.py config list

请将 "my-config""us-east-1-1.aws.cloud2.influxdata.com""<your token>""<database or bucket name>""<your org ID>" 替换为您的实际值。

(Beta) OpenAI (ChatGPT) 支持

CLI 还包含一个 beta 功能,允许您使用 OpenAI 的 ChatGPT 查询数据。要使用此功能,您必须拥有一个 OpenAI API 密钥。您可以通过注册 OpenAI 等待列表 来获取一个。一旦您有了 API 密钥,您就可以将其设置为名为 OPENAI_API_KEY 的环境变量。

要使用此功能,您可以使用 ChatGPT 命令

export OPENAI_API_KEY=sk-o2Sbq3aVBp

influx3 chatgpt get average vibration grouped by machineID from machine_data
Run InfluxQL query: SELECT MEAN(vibration) AS avg_vibration FROM machine_data GROUP BY machineID
|    | iox::measurement   | time                | machineID   |   avg_vibration |
|---:|:-------------------|:--------------------|:------------|----------------:|
|  0 | machine_data       | 1970-01-01 00:00:00 | machine1    |         85.2356 |
|  1 | machine_data       | 1970-01-01 00:00:00 | machine2    |        190.273  |
|  2 | machine_data       | 1970-01-01 00:00:00 | machine3    |         85.4789 |
Press TAB to fetch next chunk of data

客户端库

底层客户端库也适用于在您的代码中使用: https://github.com/InfluxCommunity/influxdb3-python

贡献

在为 CLI 或客户端库开发新功能时,请确保在两个地方测试您的功能以避免破坏性更改。

项目详情


下载文件

下载适合您平台的文件。如果您不确定选择哪个,请了解有关安装包的更多信息。

源代码分发

influxdb3-python-cli-0.3.2.tar.gz (13.7 kB 查看哈希值)

上传时间 源代码

构建分发

influxdb3_python_cli-0.3.2-py3-none-any.whl (14.8 kB 查看哈希值)

上传时间 Python 3

由以下支持