4.3 KiB
title | description | aliases | menu | weight | |||||||
---|---|---|---|---|---|---|---|---|---|---|---|
to() function | The `to()` function writes data to an InfluxDB v2.0 bucket. |
|
|
401 |
The to()
function writes data to an InfluxDB v2.0 bucket.
Function type: Output
to(
bucket: "my-bucket",
org: "my-org",
timeColumn: "_time",
tagColumns: ["tag1", "tag2", "tag3"],
fieldFn: (r) => ({ [r._field]: r._value })
)
// OR
to(
bucketID: "1234567890",
orgID: "0987654321",
timeColumn: "_time",
tagColumns: ["tag1", "tag2", "tag3"],
fieldFn: (r) => ({ [r._field]: r._value })
)
{{% note %}}
Output data requirements
The to()
function converts output data into line protocol and writes it to InfluxDB.
Line protocol requires each record to have a timestamp, a measurement, a field, and a value.
All output data must include the following columns:
_time
_measurement
_field
_value
{{% /note %}}
Parameters
{{% note %}}
bucket
OR bucketID
is required.
{{% /note %}}
bucket
The bucket to which data is written. Mutually exclusive with bucketID
.
Data type: String
bucketID
The ID of the bucket to which data is written. Mutually exclusive with bucket
.
Data type: String
org
The organization name of the specified bucket
.
Only required when writing to a remote host.
Mutually exclusive with orgID
Data type: String
{{% note %}}
Specify either an org
or an orgID
, but not both.
{{% /note %}}
orgID
The organization ID of the specified bucket
.
Only required when writing to a remote host.
Mutually exclusive with org
.
Data type: String
timeColumn
The time column of the output.
Default is "_time"
.
Data type: String
tagColumns
The tag columns of the output.
Defaults to all columns with type string
, excluding all value columns and the _field
column if present.
Data type: Array of strings
fieldFn
Function that takes a record from the input table and returns an object.
For each record from the input table, fieldFn
returns an object that maps output the field key to the output value.
Default is (r) => ({ [r._field]: r._value })
Data type: Function Output data type: Object
{{% note %}}
Make sure fieldFn
parameter names match each specified parameter. To learn why, see Match parameter names.
{{% /note %}}
Examples
Default to() operation
Given the following table:
_time | _start | _stop | _measurement | _field | _value |
---|---|---|---|---|---|
0005 | 0000 | 0009 | "a" | "temp" | 100.1 |
0006 | 0000 | 0009 | "a" | "temp" | 99.3 |
0007 | 0000 | 0009 | "a" | "temp" | 99.9 |
The default to
operation:
// ...
|> to(bucket:"my-bucket", org:"my-org")
is equivalent to writing the above data using the following line protocol:
_measurement=a temp=100.1 0005
_measurement=a temp=99.3 0006
_measurement=a temp=99.9 0007
Custom to() operation
The to()
functions default operation can be overridden. For example, given the following table:
_time | _start | _stop | tag1 | tag2 | hum | temp |
---|---|---|---|---|---|---|
0005 | 0000 | 0009 | "a" | "b" | 55.3 | 100.1 |
0006 | 0000 | 0009 | "a" | "b" | 55.4 | 99.3 |
0007 | 0000 | 0009 | "a" | "b" | 55.5 | 99.9 |
The operation:
// ...
|> to(bucket:"my-bucket", org:"my-org", tagColumns:["tag1"], fieldFn: (r) => return {"hum": r.hum, "temp": r.temp})
is equivalent to writing the above data using the following line protocol:
_tag1=a hum=55.3,temp=100.1 0005
_tag1=a hum=55.4,temp=99.3 0006
_tag1=a hum=55.5,temp=99.9 0007