Convert results to JSON
This page documents an earlier version of InfluxDB. InfluxDB v2.7 is the latest stable version. View this page in the v2.7 documentation.
This example uses NOAA water sample data.
Send each record to a URL endpoint using the HTTP POST method. This example uses json.encode() to convert a value into JSON bytes, then uses http.post() to send them to a URL endpoint.
The following query:
- Uses filter() to filter the
average_temperature
measurement. - Uses mean() to calculate the average value from results.
- Uses map() to create a new column,
jsonStr
, and build a JSON object using column values from the query. It then byte-encodes the JSON object and stores it as a string in thejsonStr
column. - Uses http.post() to send the
jsonStr
value from each record to an HTTP endpoint.
import "http"
import "json"
from(bucket: "noaa")
|> filter(fn: (r) => r._measurement == "average_temperature")
|> mean()
|> map(fn: (r) => ({r with jsonStr: string(v: json.encode(v: {"location": r.location, "mean": r._value}))}))
|> map(
fn: (r) => ({
r with
status_code: http.post(
url: "http://somehost.com/",
headers: {x: "a", y: "b"},
data: bytes(v: r.jsonStr)
)
})
)
当前内容版权归 jasper-zhang 或其关联方所有,如需对内容或内容相关联开源项目进行关注与资助,请访问 jasper-zhang .