Documentation

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 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 the jsonStr 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)
    )
  }))

New! Cloud or OSS?

InfluxDB OSS 2.0 now generally available!

InfluxDB OSS 2.0 is now generally available and ready for production use. See the InfluxDB OSS 2.0 release notes.

For information about upgrading to InfluxDB OSS 2.0, see: