文档文档

使用 influxdb3 CLI 写入数据

InfluxDB 3 Core 现已公开发布 Alpha 版本

InfluxDB 3 Core 现已公开发布 alpha 版本,可用于测试和反馈,但不适用于生产环境。该产品和本文档都仍在开发中。我们欢迎并鼓励您提供关于 alpha 版本使用体验的反馈,并邀请您加入我们的公共频道以获取更新和分享反馈。

Alpha 版本的预期和建议

使用 influxdb3 CLI 将 Line Protocol 数据写入 InfluxDB 3 Core。

构建 Line Protocol

基本了解 Line Protocol之后,您现在可以构建 Line Protocol 并将数据写入 InfluxDB 3 Core。考虑一个用例,您从家中的传感器收集数据。每个传感器收集温度、湿度和一氧化碳读数。要收集此数据,请使用以下模式

  • home
    • 标签
      • room:客厅或厨房
    • 字段
      • temp:温度,单位 °C(浮点数)
      • hum:湿度百分比(浮点数)
      • co:一氧化碳,单位百万分之几 (ppm)(整数)
    • 时间戳:Unix 时间戳,精度为

以下 Line Protocol 表示上述模式

home,room=Living\ Room temp=21.1,hum=35.9,co=0i 1641024000
home,room=Kitchen temp=21.0,hum=35.9,co=0i 1641024000
home,room=Living\ Room temp=21.4,hum=35.9,co=0i 1641027600
home,room=Kitchen temp=23.0,hum=36.2,co=0i 1641027600
home,room=Living\ Room temp=21.8,hum=36.0,co=0i 1641031200
home,room=Kitchen temp=22.7,hum=36.1,co=0i 1641031200
home,room=Living\ Room temp=22.2,hum=36.0,co=0i 1641034800
home,room=Kitchen temp=22.4,hum=36.0,co=0i 1641034800
home,room=Living\ Room temp=22.2,hum=35.9,co=0i 1641038400
home,room=Kitchen temp=22.5,hum=36.0,co=0i 1641038400
home,room=Living\ Room temp=22.4,hum=36.0,co=0i 1641042000
home,room=Kitchen temp=22.8,hum=36.5,co=1i 1641042000

对于本教程,您可以将此 Line Protocol 作为字符串直接传递给 influxdb3 write 命令,通过 stdin 传递,或者您可以将其保存到文件并从文件中读取。

将 Line Protocol 写入 InfluxDB

使用 influxdb3 write 命令 将家庭传感器示例数据写入 InfluxDB 3 Core。提供以下信息:

  • 使用 --database 选项的数据库名称

  • 您的 InfluxDB 3 Core 授权令牌,使用 -t--token 选项

  • Line Protocol。通过以下方式之一提供 Line Protocol:

    • 字符串
    • 包含 Line Protocol 的文件的路径,使用 --file 选项
    • 来自 stdin

InfluxDB 3 Core 通过识别哪个精度导致时间戳相对接近“现在”来自动检测时间戳精度。

influxdb3 write \
  --database 
DATABASE_NAME
\
--token
AUTH_TOKEN
\
'home,room=Living\ Room temp=21.1,hum=35.9,co=0i 1641024000 home,room=Kitchen temp=21.0,hum=35.9,co=0i 1641024000 home,room=Living\ Room temp=21.4,hum=35.9,co=0i 1641027600 home,room=Kitchen temp=23.0,hum=36.2,co=0i 1641027600 home,room=Living\ Room temp=21.8,hum=36.0,co=0i 1641031200 home,room=Kitchen temp=22.7,hum=36.1,co=0i 1641031200 home,room=Living\ Room temp=22.2,hum=36.0,co=0i 1641034800 home,room=Kitchen temp=22.4,hum=36.0,co=0i 1641034800 home,room=Living\ Room temp=22.2,hum=35.9,co=0i 1641038400 home,room=Kitchen temp=22.5,hum=36.0,co=0i 1641038400 home,room=Living\ Room temp=22.4,hum=36.0,co=0i 1641042000 home,room=Kitchen temp=22.8,hum=36.5,co=1i 1641042000'
  1. 在您的终端中,输入以下命令以创建示例数据文件

    echo 'home,room=Living\ Room temp=21.1,hum=35.9,co=0i 1641024000
    home,room=Kitchen temp=21.0,hum=35.9,co=0i 1641024000
    home,room=Living\ Room temp=21.4,hum=35.9,co=0i 1641027600
    home,room=Kitchen temp=23.0,hum=36.2,co=0i 1641027600
    home,room=Living\ Room temp=21.8,hum=36.0,co=0i 1641031200
    home,room=Kitchen temp=22.7,hum=36.1,co=0i 1641031200
    home,room=Living\ Room temp=22.2,hum=36.0,co=0i 1641034800
    home,room=Kitchen temp=22.4,hum=36.0,co=0i 1641034800
    home,room=Living\ Room temp=22.2,hum=35.9,co=0i 1641038400
    home,room=Kitchen temp=22.5,hum=36.0,co=0i 1641038400
    home,room=Living\ Room temp=22.4,hum=36.0,co=0i 1641042000
    home,room=Kitchen temp=22.8,hum=36.5,co=1i 1641042000' > ./home.lp
    
  2. 输入以下 CLI 命令以从示例文件写入数据

    influxdb3 write \
      --database 
    DATABASE_NAME
    \
    --token
    AUTH_TOKEN
    \
    ./home.lp
  1. 在您的终端中,输入以下命令以创建示例数据文件

    echo 'home,room=Living\ Room temp=21.1,hum=35.9,co=0i 1641024000
    home,room=Kitchen temp=21.0,hum=35.9,co=0i 1641024000
    home,room=Living\ Room temp=21.4,hum=35.9,co=0i 1641027600
    home,room=Kitchen temp=23.0,hum=36.2,co=0i 1641027600
    home,room=Living\ Room temp=21.8,hum=36.0,co=0i 1641031200
    home,room=Kitchen temp=22.7,hum=36.1,co=0i 1641031200
    home,room=Living\ Room temp=22.2,hum=36.0,co=0i 1641034800
    home,room=Kitchen temp=22.4,hum=36.0,co=0i 1641034800
    home,room=Living\ Room temp=22.2,hum=35.9,co=0i 1641038400
    home,room=Kitchen temp=22.5,hum=36.0,co=0i 1641038400
    home,room=Living\ Room temp=22.4,hum=36.0,co=0i 1641042000
    home,room=Kitchen temp=22.8,hum=36.5,co=1i 1641042000' > ./home.lp
    
  2. 输入以下 CLI 命令以从示例文件写入数据

    cat ./home.lp | influxdb3 write \
      --database 
    DATABASE_NAME
    \
    --token
    AUTH_TOKEN

替换以下内容

  • DATABASE_NAME:要写入的数据库的名称

  • AUTH_TOKEN:您的 InfluxDB 3 Core 授权令牌

    在 alpha 测试期间,InfluxDB 3 Core 不需要授权令牌。


此页内容是否对您有帮助?

感谢您的反馈!


Flux 的未来

Flux 即将进入维护模式。您可以继续像现在一样使用它,而无需更改任何代码。

阅读更多

InfluxDB 3 开源版本现已公开发布 Alpha 版本

InfluxDB 3 开源版本现已可用于 alpha 测试,根据 MIT 或 Apache 2 许可授权。

我们正在发布两个产品作为 alpha 版本的一部分。

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

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