向 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 (默认) |
| 秒 | ✅ s | ✅ s | ✅ second |
| 毫秒 | ✅ ms | ✅ ms | ✅ millisecond |
| 微秒 | ✅ u or µ | ✅ us | ✅ microsecond |
| 纳秒 | ✅ ns | ✅ ns | ✅ nanosecond |
| 分钟 | ✅ m | ❌ 否 | ❌ 否 |
| 小时 | ✅ h | ❌ 否 | ❌ 否 |
| 默认 | 纳秒 | 纳秒 | 自动 (猜测) |
- 所有写入端点都接受行协议格式的时间戳。
- InfluxDB 3 Core 将时间戳乘以相应的精度值,将其转换为纳秒用于内部存储。
- 所有时间戳都将内部存储为纳秒,无论写入时指定的精度如何。
行协议
所有写入 InfluxDB 的数据都使用 行协议 写入,这是一种基于文本的格式,允许您提供将数据点写入 InfluxDB 所需的信息。
行协议元素
在 InfluxDB 中,一个数据点包含一个表名、一个或多个字段、一个时间戳以及提供观测元数据的可选标签。
行协议的每一行包含以下元素
* 必需- * 表名: 一个字符串,用于标识存储数据的表。
- 标签集: 逗号分隔的键值对列表,每个键值对代表一个标签。标签键和值是未加引号的字符串。空格、逗号和等号字符必须转义。
- * 字段集: 逗号分隔的键值对列表,每个键值对代表一个字段。字段键是未加引号的字符串。空格和逗号必须转义。 字段值可以是 字符串(加引号)、浮点数、整数、无符号整数 或 布尔值。
- 时间戳: 与数据关联的 Unix 时间戳。InfluxDB 支持最高纳秒精度。如果时间戳的精度不是纳秒,则必须在将数据写入 InfluxDB 时指定精度。
行协议元素解析
- 表名: 第一个未转义的逗号之前,第一个空格之前的所有内容。
- 标签集: 第一个未转义的逗号和第一个未转义的空格之间的键值对。
- 字段集: 第一个和第二个未转义的空格之间的键值对。
- 时间戳: 第二个未转义的空格之后的整数值。
- 行由换行符 (
\n) 分隔。行协议对空格敏感。
myTable, field1="v1",field2=1i
有关模式设计建议,请参阅 InfluxDB 模式设计。
将数据写入 InfluxDB
使用 InfluxDB 客户端库写入数据
使用 InfluxDB API 客户端将数据点作为行协议数据写入 InfluxDB 3 Core。
使用 InfluxDB HTTP API 写入数据
使用 /api/v3/write_lp、/api/v2/write 或 /write HTTP API 端点将数据写入 InfluxDB 3 Core。
使用 Telegraf 写入数据
使用 Telegraf 收集数据并将其写入 InfluxDB 3 Core。
使用 influxdb3 CLI 写入数据
使用 influxdb3 CLI 将行协议数据写入 InfluxDB 3 Core。
写入数据的最佳实践
了解将数据写入 InfluxDB 3 Core 的建议和最佳实践。
排查写入数据的问题
排查写入数据的问题。查找写入失败的响应代码。了解写入如何失败,从超出速率或有效负载限制,到语法错误和模式冲突。
此页面是否有帮助?
感谢您的反馈!
支持和反馈
感谢您成为我们社区的一员!我们欢迎并鼓励您对 InfluxDB 3 Core 和本文档提供反馈和错误报告。要获得支持,请使用以下资源
具有年度合同或支持合同的客户可以 联系 InfluxData 支持。