6.3 KiB
title | list_title | description | menu | weight | related | list_code_example | ||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
Write to InfluxDB | InfluxDB | Use [`to()`](/flux/v0/stdlib/influxdata/influxdb/to/) or [`experimental.to()`](/flux/v0/stdlib/experimental/to/) to write data to InfluxDB using Flux. |
|
101 |
|
```js data |> to(bucket: "example-bucket") ``` |
To write data to InfluxDB using Flux, use to()
or experimental.to()
.
Provide the following parameters to both functions:
- bucket or bucketID: InfluxDB bucket name or bucket ID to write to.
- org or orgID: InfluxDB organization name or organization ID to write to.
- host: InfluxDB URL or InfluxDB Cloud region URL.
- token: InfluxDB API token.
Write options
Write data to InfluxDB
Use to()
to write data structured using the standard
InfluxDB v2.x and InfluxDB Cloud data structure.
Data must include, at a minimum, the following columns:
_time
_measurement
_field
_value
All other columns are written to InfluxDB as tags.
Given the following input stream of tables:
_time | _measurement | id | loc | _field | _value |
---|---|---|---|---|---|
2021-01-01T00:00:00Z | m | 001 | SF | temp | 72.1 |
2021-01-01T01:00:00Z | m | 001 | SF | temp | 71.8 |
2021-01-01T02:00:00Z | m | 001 | SF | temp | 71.2 |
_time | _measurement | id | loc | _field | _value |
---|---|---|---|---|---|
2021-01-01T00:00:00Z | m | 001 | SF | hum | 40.5 |
2021-01-01T01:00:00Z | m | 001 | SF | hum | 50.1 |
2021-01-01T02:00:00Z | m | 001 | SF | hum | 52.8 |
to()
generates the following line protocol
and writes it 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
Example: Write data to a bucket
{{< code-tabs-wrapper >}} {{% code-tabs %}} In the same org In a different org On a remote host {{% /code-tabs %}} {{% code-tab-content %}}
data
|> to(bucket: "example-bucket")
{{% /code-tab-content %}} {{% code-tab-content %}}
data
|> to(bucket: "example-bucket", org: "example-org", token: "mY5uPeRs3Cre7tok3N")
{{% /code-tab-content %}} {{% code-tab-content %}}
data
|> to(
bucket: "example-bucket",
org: "example-org",
token: "mY5uPeRs3Cre7tok3N",
host: "https://myinfluxdbdomain.com/8086",
)
{{% /code-tab-content %}} {{< /code-tabs-wrapper >}}
Write pivoted data to InfluxDB
Use experimental.to()
to write
pivoted data to InfluxDB.
Input data must have the following columns:
_time
_measurement
All columns in the group key
other than _time
and _measurement
are written to InfluxDB as tags.
Columns not in the group key are written to InfluxDB as fields.
{{% note %}}
_start
and _stop
columns are ignored.
{{% /note %}}
To write pivoted data to InfluxDB:
- Import the
experimental
package. - Use
experimental.to()
to write pivoted data to an InfluxDB bucket.
import "experimental"
data
|> experimental.to(bucket: "example-bucket")
Given the following input stream of tables:
{{< flux/group-key "[_measurement, id, loc]" >}}
_time | _measurement | id | loc | min | max | mean |
---|---|---|---|---|---|---|
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 | FR | 1 | 13 | 7.0 |
_time | _measurement | id | loc | min | max | mean |
---|---|---|---|---|---|---|
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()
generates the following line protocol
and writes it 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
Example: Write pivoted data to InfluxDB
{{< code-tabs-wrapper >}} {{% code-tabs %}} In the same org In a different org On a remote host {{% /code-tabs %}} {{% code-tab-content %}}
import "experimental"
data
|> experimental.to(bucket: "example-bucket")
{{% /code-tab-content %}} {{% code-tab-content %}}
import "experimental"
data
|> experimental.to(bucket: "example-bucket", org: "example-org", token: "mY5uPeRs3Cre7tok3N")
{{% /code-tab-content %}} {{% code-tab-content %}}
import "experimental"
data
|> experimental.to(
bucket: "example-bucket",
org: "example-org",
token: "mY5uPeRs3Cre7tok3N",
host: "https://myinfluxdbdomain.com/8086",
)
{{% /code-tab-content %}} {{< /code-tabs-wrapper >}}