Convert results to JSON
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 theaverage_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 thejsonStr
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)
)
})
)
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 InfluxDB and this documentation. To find support, use the following resources:
Customers with an annual or support contract can contact InfluxData Support.