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

New! Cloud or OSS?