将数据写入 InfluxDB 3 Core
使用诸如 influxctl
CLI、Telegraf 和 InfluxDB 客户端库之类的工具将时间序列数据写入 InfluxDB 3 Core。Line protocol 是一种基于文本的格式,用于将数据写入 InfluxDB。 有工具可用于将其他格式(例如—CSV)转换为 line protocol。
为您的工作负载选择写入端点
当引入现有的 v1 写入工作负载时,请使用 InfluxDB 3 Core HTTP API /write
端点。 当创建新的写入工作负载时,请使用 HTTP API /api/v2/write
端点。
Line protocol
所有写入 InfluxDB 的数据都使用 line protocol 写入,这是一种基于文本的格式,可让您提供将数据点写入 InfluxDB 所需的信息。
Line protocol 元素
在 InfluxDB 中,一个点包含表名、一个或多个字段、时间戳以及提供有关观测元数据的可选标签。
每行 line protocol 都包含以下元素
* 必需- * 表:一个字符串,用于标识存储数据的表。
- 标签集:逗号分隔的键值对列表,每个键值对代表一个标签。 标签键和值都是未加引号的字符串。 空格、逗号和等号字符必须转义。
- * 字段集:逗号分隔的键值对列表,每个键值对代表一个字段。 字段键是未加引号的字符串。 空格和逗号必须转义。 字段值可以是 字符串(带引号)、浮点数、整数、无符号整数 或 布尔值。
- 时间戳:与数据关联的 Unix 时间戳。 InfluxDB 支持高达纳秒级的精度。 如果时间戳的精度不是纳秒,则在将数据写入 InfluxDB 时必须指定精度。
Line protocol 元素解析
- 表:第一个未转义的逗号之前,第一个空格之前的所有内容。
- 标签集:第一个未转义的逗号和第一个未转义的空格之间的键值对。
- 字段集:第一个和第二个未转义的空格之间的键值对。
- 时间戳:第二个未转义的空格之后的整数值。
- 行由换行符 (
\n
) 分隔。 Line protocol 对空格敏感。
myTable, field1="v1",field2=1i
有关模式设计建议,请参阅 InfluxDB 模式设计。
将数据写入 InfluxDB
使用 HTTP API 和客户端库写入数据
使用 /api/v3/write_lp
HTTP API 端点和 InfluxDB API 客户端将点作为 line protocol 数据写入 InfluxDB 3 Core。
使用兼容性 API 和客户端库写入数据
使用与 InfluxDB v2 和 v1 客户端兼容的 HTTP API 端点将点作为 line protocol 数据写入 InfluxDB 3 Core。
使用 Telegraf 写入数据
使用 Telegraf 收集数据并写入 InfluxDB 3 Core。
使用 influxdb3 CLI 写入数据
使用 influxdb3
CLI 将 line protocol 数据写入 InfluxDB 3 Core。
写入数据的最佳实践
了解有关将数据写入 InfluxDB 3 Core 的建议和最佳实践。
问题排查写入数据问题
问题排查写入数据问题。 查找写入失败的响应代码。 了解写入失败的原因,从超出速率或负载限制到语法错误和模式冲突。
此页面是否对您有帮助?
感谢您的反馈!
支持和反馈
感谢您成为我们社区的一份子! 我们欢迎并鼓励您提供有关 InfluxDB 3 Core 和本文档的反馈和错误报告。 要寻求支持,请使用以下资源
拥有年度合同或支持合同的客户可以联系 InfluxData 支持。