experimental.chain() function
experimental.chain()
is subject to change at any time.
experimental.chain()
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
-
Write to an InfluxDB bucket and query the written data in a single Flux script.
_Note:
experimental.chain()
does not guarantee that data written to InfluxDB is immediately queryable. A delay between when data is written and when it is queryable may cause a query usingexperimental.chain()
to fail. -
Execute queries sequentially in testing scenarios.
Function type signature
(first: stream[A], second: stream[B]) => stream[B] where A: Record, B: Record
Parameters
first
(Required) First query to execute.
second
(Required) Second query to execute.
Examples
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()
experimental.chain(first: downsampled_max, second: average_max)
Was this page helpful?
Thank you for your feedback!
Support and feedback
Thank you for being part of our community! We welcome and encourage your feedback and bug reports for Flux and this documentation. To find support, use the following resources:
Customers with an annual or support contract can contact InfluxData Support.