experimental.chain() function

The experimental.chain() function is subject to change at any time. By using this function, you accept the risks of experimental functions.

The experimental.chain() function runs two queries in a single Flux script sequentially and outputs the results of the second query. Flux typically executes multiple queries in a single script in parallel. Running the queries sequentially ensures any dependencies the second query has on the results of the first query are met.

Applicable use cases
  • Writing to a bucket and querying the written data in a single Flux script or InfluxDB task.
  • Execute queries sequentially in testing scenarios.

Function type: Miscellaneous

import "experimental"

  first: query1,
  second: query2



The first query to execute.

Data type: Stream of tables


The second query to execute.

Data type: Stream of tables


Write to a bucket and query the written data

import "experimental"

downsampled_max = from(bucket: "example-bucket-1")
  |> range(start: -1d)
  |> filter(fn: (r) => r._measurement == "example-measurement")
  |> aggregateWindow(every: 1h, fn: max)
  |> to(bucket: "downsample-1h-max", org: "example-org")

average_max = from(bucket: "downsample-1h-max")
  |> range(start: -1d)
  |> filter(fn: (r) => r.measurement == "example-measurement")
  |> mean()

  first: downsampled_max,
  second: average_max

Cloud or OSS?

InfluxDB OSS 2.0 now generally available!

InfluxDB OSS 2.0 is now generally available and ready for production use. See the InfluxDB OSS 2.0 release notes.

For information about upgrading to InfluxDB OSS 2.0, see: