I have a scheduled task that applies a window function to a measurement series that then writes the output table to another measurement series in the same bucket. What I want to do is apply exactly the same function to multiple buckets within the same task. I know in my task script I can use buckets() to get a list of all buckets in my organisation. But I don’t see an obvious way of iterating the buckets like the following psuedo code:
customers = buckets()
|> map(fn: (r) => ({
bucketSeries = from(bucket: r.name)
|> range(start: -12h)
|> filter(fn: (r) =>
(r["_measurement"] == "mymeasurement"))
|> aggregateWindow(...)
|> set(key: "_measurement", value: "newmeasure")
|> to(bucket: r.name)
}))
Any help is much appreciated.