文档文档

向 InfluxDB 3 Core 写入数据

使用 influxdb3 CLI、Telegraf 和 InfluxDB 客户端库等工具将时间序列数据写入 InfluxDB 3 Core。 行协议 是用于将数据写入 InfluxDB 的基于文本的格式。

提供了工具可将其他格式(例如—CSV)转换为行协议。

为您的工作负载选择写入端点

创建新的写入工作负载时,请使用 InfluxDB HTTP API /api/v3/write_lp 端点客户端库

迁移现有的v1写入工作负载时,请使用 InfluxDB 3 Core HTTP API /write 端点

迁移现有的v2写入工作负载时,请使用 InfluxDB 3 Core HTTP API /api/v2/write 端点

对于 Telegraf,请使用 InfluxDB v1.x outputs.influxdb 或 v2.x outputs.influxdb_v2 输出插件。请参阅如何 使用 Telegraf 写入数据

跨写入 API 的时间戳精度

InfluxDB 3 Core 提供多个写入端点以兼容不同的 InfluxDB 版本。下表比较了 v1、v2 和 v3 写入 API 的时间戳精度支持情况

精度v1 (/write)v2 (/api/v2/write)v3 (/api/v3/write_lp)
自动检测❌ 否❌ 否auto (默认)
sssecond
毫秒msmsmillisecond
微秒u or µusmicrosecond
纳秒nsnsnanosecond
分钟m❌ 否❌ 否
小时h❌ 否❌ 否
默认纳秒纳秒自动 (猜测)
  • 所有写入端点都接受行协议格式的时间戳。
  • InfluxDB 3 Core 将时间戳乘以相应的精度值,将其转换为纳秒用于内部存储。
  • 所有时间戳都将内部存储为纳秒,无论写入时指定的精度如何。

行协议

所有写入 InfluxDB 的数据都使用 行协议 写入,这是一种基于文本的格式,允许您提供将数据点写入 InfluxDB 所需的信息。

行协议元素

在 InfluxDB 中,一个数据点包含一个表名、一个或多个字段、一个时间戳以及提供观测元数据的可选标签。

行协议的每一行包含以下元素

* 必需
  • * 表名: 一个字符串,用于标识存储数据的表。
  • 标签集: 逗号分隔的键值对列表,每个键值对代表一个标签。标签键和值是未加引号的字符串。空格、逗号和等号字符必须转义。
  • * 字段集: 逗号分隔的键值对列表,每个键值对代表一个字段。字段键是未加引号的字符串。空格和逗号必须转义。 字段值可以是 字符串(加引号)、浮点数整数无符号整数布尔值
  • 时间戳: 与数据关联的 Unix 时间戳。InfluxDB 支持最高纳秒精度。如果时间戳的精度不是纳秒,则必须在将数据写入 InfluxDB 时指定精度。

行协议元素解析

  • 表名: 第一个未转义的逗号之前,第一个空格之前的所有内容。
  • 标签集: 第一个未转义的逗号和第一个未转义的空格之间的键值对。
  • 字段集: 第一个和第二个未转义的空格之间的键值对。
  • 时间戳: 第二个未转义的空格之后的整数值。
  • 行由换行符 (\n) 分隔。行协议对空格敏感。

myTable,tag1=val1,tag2=val2 field1="v1",field2=1i 0000000000000000000


有关模式设计建议,请参阅 InfluxDB 模式设计

将数据写入 InfluxDB


此页面是否有帮助?

感谢您的反馈!


InfluxDB 3.8 新特性

InfluxDB 3.8 和 InfluxDB 3 Explorer 1.6 的主要增强功能。

查看博客文章

InfluxDB 3.8 现已适用于 Core 和 Enterprise 版本,同时发布了 InfluxDB 3 Explorer UI 的 1.6 版本。本次发布着重于操作成熟度,以及如何更轻松地部署、管理和可靠地运行 InfluxDB。

更多信息,请查看

InfluxDB Docker 的 latest 标签将指向 InfluxDB 3 Core

在 **2026 年 2 月 3 日**,InfluxDB Docker 镜像的 latest 标签将指向 InfluxDB 3 Core。为避免意外升级,请在您的 Docker 部署中使用特定的版本标签。

如果使用 Docker 来安装和运行 InfluxDB,latest 标签将指向 InfluxDB 3 Core。为避免意外升级,请在您的 Docker 部署中使用特定的版本标签。例如,如果使用 Docker 运行 InfluxDB v2,请将 latest 版本标签替换为 Docker pull 命令中的特定版本标签 — 例如

docker pull influxdb:2