写入 Influx
influx write 命令通过 stdin 或指定文件将数据写入 InfluxDB。使用 行协议、注释 CSV 或 扩展注释 CSV 写入数据。如果您写入 CSV 数据,CSV 注释决定数据如何转换为行协议。
用法
influx write [flags]
influx write [command]
必需数据
要将数据写入InfluxDB,您必须为每一行提供以下内容:
- 测量
- 字段
- 值
行协议
在 行协议 中,行数据的结构 决定了测量、字段和数值。
带注释的CSV
在 带注释的CSV 中,测量、字段和数值由
_measurement、_field 和 _value 列表示。
它们的类型由CSV注释确定。
要成功将带注释的CSV写入InfluxDB,请包含所有
注释行。
扩展注释的CSV
在 扩展注释的CSV 中,测量、字段、值及其类型由 CSV注释 决定。
子命令
| 子命令 | 描述 |
|---|---|
| dryrun | 写入标准输出而不是InfluxDB |
标志
| 标志 | 描述 | 输入类型 | 映射到 ? | |
|---|---|---|---|---|
-c | --active-config | 用于命令的CLI配置 | string | |
-b | --bucket | 存储桶名称(与 --bucket-id 互斥) | 字符串 | INFLUX_BUCKET_NAME |
--bucket-id | 存储桶 ID(与 --bucket 互斥) | 字符串 | INFLUX_BUCKET_ID | |
--configs-path | 指向 influx CLI 配置的路径(默认 ~/.influxdbv2/configs) | string | INFLUX_CONFIGS_PATH | |
--compression | 输入压缩 (none 或 gzip,默认是 none,除非输入文件以 .gz 结尾。) | string | ||
--debug | 将错误输出到stderr | |||
--encoding | 输入的字符编码(默认 UTF-8) | 字符串 | ||
--errors-file | 用于记录被拒绝行错误的文件路径 | string | ||
-f | --file | 要导入的文件 | stringArray | |
--format | 输入格式 (lp 或 csv, 默认 lp) | 字符串 | ||
--header | 在CSV输入数据前添加标题行 | string | ||
-h | --help | 写入命令的帮助 | ||
--host | InfluxDB的HTTP地址(默认是 http://localhost:8086) | 字符串 | INFLUX_HOST | |
--max-line-length | 单行可以读取的最大字节数(默认 16000000) | 整数 | ||
-o | --org | 组织名称(与 --org-id 互斥) | 字符串 | INFLUX_ORG |
--org-id | 组织 ID(与 --org 互斥) | 字符串 | INFLUX_ORG_ID | |
-p | --precision | 时间戳的精度(默认 ns) | 字符串 | INFLUX_PRECISION |
--rate-limit | 限制写入速率(示例: 5MB/5min 或 1MB/s)。 | string | ||
--skip-verify | 跳过TLS证书验证 | INFLUX_SKIP_VERIFY | ||
--skipHeader | 跳过输入数据的前 n 行 | 整数 | ||
--skipRowOnError | 将CSV错误输出到stderr,但继续处理 | |||
-t | --token | API令牌 | 字符串 | INFLUX_TOKEN |
-u | --url | 从中导入数据的URL | stringArray |
示例
身份验证凭据
下面的示例假设您的 InfluxDB 主机、组织 和 令牌 是通过 活动 influx CLI 配置 或环境变量 (INFLUX_HOST、INFLUX_ORG 和 INFLUX_TOKEN) 提供的。如果您没有设置 CLI 配置或环境变量,请在每个命令中使用以下标志包含这些必需的凭据:
--host: InfluxDB 主机-o, --org或--org-id: InfluxDB 组织名称或 ID-t, --token: InfluxDB API 令牌
编写线协议
写入CSV数据
行协议
通过标准输入写入线协议
influx write --bucket example-bucket "
m,host=host1 field1=1.2,field2=5i 1640995200000000000
m,host=host2 field1=2.4,field2=3i 1640995200000000000
"
从文件写入线协议
influx write \
--bucket example-bucket \
--file path/to/line-protocol.txt
跳过文件中的表头行
influx write \
--bucket example-bucket \
--file path/to/line-protocol.txt
--skipHeader 8
从多个文件写入线协议
influx write \
--bucket example-bucket \
--file path/to/line-protocol-1.txt \
--file path/to/line-protocol-2.txt
从URL写入线协议
influx write \
--bucket example-bucket \
--url https://example.com/line-protocol.txt
从多个URL写入线协议
influx write \
--bucket example-bucket \
--url https://example.com/line-protocol-1.txt \
--url https://example.com/line-protocol-2.txt
从多个源写入行协议
influx write \
--bucket example-bucket \
--file path/to/line-protocol-1.txt \
--url https://example.com/line-protocol-2.txt
从压缩文件中写入线协议
# The influx CLI assumes files with the .gz extension use gzip compression
influx write \
--bucket example-bucket \
--file path/to/line-protocol.txt.gz
# Specify gzip compression for gzipped files without the .gz extension
influx write \
--bucket example-bucket \
--file path/to/line-protocol.txt.comp \
--compression gzip
CSV
通过标准输入写入注释的CSV数据
influx write \
--bucket example-bucket \
--format csv \
"#group,false,false,false,false,true,true
#datatype,string,long,dateTime:RFC3339,double,string,string
#default,_result,,,,,
,result,table,_time,_value,_field,_measurement
,,0,2020-12-18T18:16:11Z,72.7,temp,sensorData
,,0,2020-12-18T18:16:21Z,73.8,temp,sensorData
,,0,2020-12-18T18:16:31Z,72.7,temp,sensorData
,,0,2020-12-18T18:16:41Z,72.8,temp,sensorData
,,0,2020-12-18T18:16:51Z,73.1,temp,sensorData
"
通过标准输入写入扩展注释的CSV数据
influx write \
--bucket example-bucket \
--format csv \
"#constant measurement,sensorData
#datatype dateTime:RFC3339,double
time,temperature
2020-12-18T18:16:11Z,72.7
2020-12-18T18:16:21Z,73.8
2020-12-18T18:16:31Z,72.7
2020-12-18T18:16:41Z,72.8
2020-12-18T18:16:51Z,73.1
"
从文件中写入带注释的CSV数据
influx write \
--bucket example-bucket \
--file path/to/data.csv
从多个文件写入带注释的CSV数据
influx write \
--bucket example-bucket \
--file path/to/data-1.csv \
--file path/to/data-2.csv
从URL写入带注释的CSV数据
influx write \
--bucket example-bucket \
--url https://example.com/data.csv
从多个URL写入带注释的CSV数据
influx write \
--bucket example-bucket \
--url https://example.com/data-1.csv \
--url https://example.com/data-2.csv
从多个来源写入带注释的CSV数据
influx write \
--bucket example-bucket \
--file path/to/data-1.csv \
--url https://example.com/data-2.csv
在CSV数据前添加注释标题
influx write \
--bucket example-bucket \
--header "#constant measurement,birds" \
--header "#datatype dateTime:2006-01-02,long,tag" \
--file path/to/data.csv
从压缩文件写入带注释的CSV数据
# The influx CLI assumes files with the .gz extension use gzip compression
influx write \
--bucket example-bucket \
--file path/to/data.csv.gz
# Specify gzip compression for gzipped files without the .gz extension
influx write \
--bucket example-bucket \
--file path/to/data.csv.comp \
--compression gzip
使用速率限制写入注释的CSV数据
influx write \
--bucket example-bucket \
--file path/to/data.csv \
--rate-limit 5MB/5min