Docs

to() function

The to() function writes data to an InfluxDB v2.0 bucket.

Function type: Output

to(
  bucket: "my-bucket",
  org: "my-org",
  host: "http://example.com:8086",
  token: "xxxxxx",
  timeColumn: "_time",
  tagColumns: ["tag1", "tag2", "tag3"],
  fieldFn: (r) => ({ [r._field]: r._value })
)

// OR

to(
  bucketID: "1234567890",
  orgID: "0987654321",
  host: "http://example.com:8086",
  token: "xxxxxx",
  timeColumn: "_time",
  tagColumns: ["tag1", "tag2", "tag3"],
  fieldFn: (r) => ({ [r._field]: r._value })
)

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

Parameters

bucket OR bucketID is required.

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

Specify either an org or an orgID, but not both.

orgID

The organization ID of the specified bucket. Only required when writing to a remote host. Mutually exclusive with org.

Data type: String

host

The remote InfluxDB host to which to write. If specified, a token is required.

Data type: String

token

The authorization token to use when writing to a remote host. Required when a host is specified.

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

Examples

Default to() operation

Given the following table:

_time_start_stop_measurement_field_value
000500000009“a”“temp”100.1
000600000009“a”“temp”99.3
000700000009“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_stoptag1tag2humtemp
000500000009“a”“b”55.3100.1
000600000009“a”“b”55.499.3
000700000009“a”“b”55.599.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