go influxdb2 查询数据库
时间: 2024-06-14 16:07:36 浏览: 18
以下是使用Go语言连接InfluxDB2并查询数据库的示例代码:
```go
package main
import (
"context"
"fmt"
"github.com/influxdata/influxdb-client-go/v2"
"github.com/influxdata/influxdb-client-go/v2/api/query"
)
func main() {
// 设置InfluxDB连接参数
client := influxdb2.NewClient("http://localhost:8086", "my-token")
queryAPI := client.QueryAPI("my-org")
// 构建查询语句
query := `from(bucket: "my-bucket") |> range(start: -1h) |> filter(fn: (r) => r._measurement == "cpu")`
// 执行查询
result, err := queryAPI.Query(context.Background(), query)
if err != nil {
fmt.Println("Error querying data: ", err.Error())
return
}
// 处理查询结果
if result.Err() != nil {
fmt.Println("Error processing query result: ", result.Err().Error())
return
}
// 解析查询结果
for result.Next() {
if result.TableChanged() {
fmt.Printf("Table: %s\n", result.TableMetadata().String())
}
fmt.Printf("Record: %s\n", result.Record().String())
}
// 关闭连接
client.Close()
}
```
请注意,上述代码中的连接参数需要根据你的实际情况进行修改,包括InfluxDB的地址、访问令牌、组织和桶等信息。查询语句也需要根据你的需求进行修改。