GoからinfluxDBを扱う時に気をつけること
influxDBのリファレンスにはSQLライクな構文が使えると書いてあった。(influxQL)
しかし、公式のGo-clientにはinfluxQLを使用する方法がないらしい。参考
私も見つけられなかった。
よって、SQLライクな構文は使用できず、Flux構文を使用することになる。
公式には以下のように書いてある。
import "experimental/geo"
sampleGeoData
|> geo.filterRows(
region: {lat: 30.04, lon: 31.23, radius: 200.0},
strict: true
)
実はこれ、import "experimental/geo"
も含めてflux queryとなっている。
つまり、go-clientでは以下のように書く。
_, _ := queryAPI.Query(
context.Background(),
`
import "experimental/geo"
|> geo.filterRows(
region: {lat: 30.04, lon: 31.23, radius: 200.0},
strict: true
)
`,
)
そう。まさかのqueryの中でimportするのである。
これには少々びっくりした。(jsxを思い出す)
終わりに
短い内容になってしまったが、知見の置き場ということで、まあ良いよね...