写入InfluxDB
要使用 Flux 将数据写入 InfluxDB,请使用 to() 或 experimental.to()。
两个函数都提供以下参数:
- bucket 或 bucketID: InfluxDB 桶名称 或 桶 ID 以便写入。
- org 或 orgID: 要写入的 InfluxDB 组织名称 或 组织 ID。
- host: InfluxDB URL 或 InfluxDB Cloud region URL.
- token: InfluxDB API令牌.
书写选项
写入数据到InfluxDB
使用 to() 来写入使用标准
InfluxDB v2.x 和 InfluxDB Cloud 数据结构 结构化的数据。
数据必须至少包含以下列:
_time_measurement_field_value
所有其他列都作为 标签 写入 InfluxDB。
给定以下输入 stream of tables:
| _时间 | _测量 | id | 位置 | _字段 | _值 |
|---|---|---|---|---|---|
| 2021-01-01T00:00:00Z | m | 001 | SF | 温度 | 72.1 |
| 2021-01-01T01:00:00Z | m | 001 | SF | 温度 | 71.8 |
| 2021-01-01T02:00:00Z | m | 001 | SF | 温度 | 71.2 |
| 时间 | 测量 | 标识 | 位置 | 字段 | 值 |
|---|---|---|---|---|---|
| 2021-01-01T00:00:00Z | m | 001 | SF | hum | 40.5 |
| 2021-01-01T01:00:00Z | 米 | 001 | SF | 湿度 | 50.1 |
| 2021-01-01T02:00:00Z | m | 001 | SF | hum | 52.8 |
to() 生成以下 行协议 并将其写入 InfluxDB:
m,id=001,loc=SF temp=72.1,hum=40.5 1609459200000000000
m,id=001,loc=SF temp=71.8,hum=50.1 1609462800000000000
m,id=001,loc=SF temp=71.2,hum=52.8 1609466400000000000
示例:向桶中写入数据
data
|> to(bucket: "example-bucket")
data
|> to(bucket: "example-bucket", org: "example-org", token: "mY5uPeRs3Cre7tok3N")
data
|> to(
bucket: "example-bucket",
org: "example-org",
token: "mY5uPeRs3Cre7tok3N",
host: "https://myinfluxdbdomain.com/8086",
)
将透视数据写入InfluxDB
使用 experimental.to() 将
透视 数据写入 InfluxDB。
输入数据必须具有以下列:
_time_measurement
所有在分组键中的列,除了_time和_measurement,都作为标签写入InfluxDB。不在分组键中的列作为字段写入InfluxDB。
_start 和 _stop 列被忽略。
将透视数据写入InfluxDB:
- 导入
experimental包。 - 使用
experimental.to()将透视数据写入 InfluxDB 存储桶。
import "experimental"
data
|> experimental.to(bucket: "example-bucket")
给定以下输入 stream of tables:
组键 = [_measurement, id, loc]
| 时间 | 测量 | 标识 | 位置 | 最小值 | 最大值 | 平均值 |
|---|---|---|---|---|---|---|
| 2021-01-01T00:00:00Z | m | 001 | FR | 2 | 6 | 4.0 |
| 2021-01-01T01:00:00Z | m | 001 | FR | 2 | 18 | 10.0 |
| 2021-01-01T02:00:00Z | m | 001 | 法国 | 1 | 13 | 7.0 |
| 时间 | 测量 | 编号 | 位置 | 最小值 | 最大值 | 平均值 |
|---|---|---|---|---|---|---|
| 2021-01-01T00:00:00Z | m | 001 | BK | 4 | 4 | 4.0 |
| 2021-01-01T01:00:00Z | m | 001 | BK | 3 | 5 | 4.0 |
| 2021-01-01T02:00:00Z | m | 001 | BK | 5 | 8 | 6.5 |
experimental.to() 生成以下 行协议 并将其写入 InfluxDB:
m,id=001,loc=FR min=2i,max=6i,mean=4 1609459200000000000
m,id=001,loc=FR min=2i,max=18i,mean=10 1609462800000000000
m,id=001,loc=FR min=1i,max=13i,mean=7 1609466400000000000
m,id=001,loc=BK min=4i,max=4i,mean=4 1609459200000000000
m,id=001,loc=BK min=3i,max=5i,mean=4 1609462800000000000
m,id=001,loc=BK min=5i,max=3i,mean=6.5 1609466400000000000
示例:将透视数据写入InfluxDB
import "experimental"
data
|> experimental.to(bucket: "example-bucket")
import "experimental"
data
|> experimental.to(bucket: "example-bucket", org: "example-org", token: "mY5uPeRs3Cre7tok3N")
import "experimental"
data
|> experimental.to(
bucket: "example-bucket",
org: "example-org",
token: "mY5uPeRs3Cre7tok3N",
host: "https://myinfluxdbdomain.com/8086",
)