docs-v2/content/v2.0/reference/flux/functions/built-in/outputs/to.md

4.3 KiB

title description aliases menu weight
to() function The `to()` function writes data to an InfluxDB v2.0 bucket.
/v2.0/reference/flux/functions/outputs/to
v2_0_ref
name parent
to built-in-outputs
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

SELECT INTO