文档文档

使用 influxdb3 CLI 写入数据

使用 influxdb3 CLI 将行协议数据写入 InfluxDB 3 Core。

使用 API 进行批量和更高容量的写入

influxdb3 CLI 让您可以快速开始将数据写入 InfluxDB 3 Core。 对于批量和更高容量的写入工作负载,请使用 API 客户端库Telegraf

构建行协议

通过 对行协议的基本理解,您可以构建行协议格式的数据并将其写入 InfluxDB 3 Core。 考虑一个您从家中的传感器收集数据的用例。 每个传感器收集温度、湿度和一氧化碳读数。 要收集此数据,请使用以下模式

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

以下行协议表示上述模式

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

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

将行协议写入 InfluxDB

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

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

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

  • 行协议。 通过以下方式之一提供行协议

    • 字符串
    • 包含行协议的文件路径,使用 --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
    \
    --file ./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 授权令牌

    在 Beta 期间,InfluxDB 3 Core 不需要授权令牌。


此页内容是否有帮助?

感谢您的反馈!


Flux 的未来

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

阅读更多

现已全面上市

InfluxDB 3 Core 和 Enterprise

快速启动。更快扩展。

获取更新

InfluxDB 3 Core 是一个开源、高速的最新数据引擎,可以实时收集和处理数据,并将其持久化到本地磁盘或对象存储。 InfluxDB 3 Enterprise 以 Core 的基础为构建,增加了高可用性、读取副本、增强的安全性以及数据压缩,从而实现更快的查询和优化的存储。 InfluxDB 3 Enterprise 的免费层级可供非商业家庭或业余爱好者使用。

有关更多信息,请查看