InfluxDB v2 Go 客户端库
使用 InfluxDB 3 客户端进行查询
InfluxDB 3 支持使用 InfluxDB v2 和 v1 工具的 写入数据兼容性终结点。然而,/api/v2/query API 终结点和相关工具(例如 InfluxDB v2 客户端库和 influx CLI)无法查询存储在 InfluxDB 3 Core 中的数据。
提供了 InfluxDB 3 客户端库,它们可与您的代码集成,以写入和查询存储在 InfluxDB 3 Core 中的数据。
比较可用于与 InfluxDB 3 Core 交互的工具。
使用 InfluxDB Go 客户端库 将数据写入 InfluxDB 3 Core 数据库。
本指南假定您对 Go 和 InfluxDB 有一定的了解。如果您是初学者,请参阅 InfluxDB 入门。
开始之前
将客户端包添加到您的项目依赖项中。
# Add InfluxDB Go client package to your project go.mod go get github.com/influxdata/influxdb-client-go/v2请确保 InfluxDB 正在运行并且您可以连接到它。有关连接到 InfluxDB 3 Core 集群时要使用的 URL 的信息,请联系您的 InfluxData 客户代表。
InfluxDB Go 客户端库的样板代码
使用 Go 库从 InfluxDB 写入和查询数据。
在您的 Go 程序中,导入必要的包并指定可执行程序的入口点。
package main import ( "context" "fmt" "time" "github.com/influxdata/influxdb-client-go/v2" )为您的 InfluxDB 数据库 (bucket)、组织 (必需,但将被忽略) 和 数据库令牌 定义变量。
bucket := "DATABASE_NAME" org := "ignored" token := "DATABASE_TOKEN" // Store the URL of your InfluxDB instance url := "https://:8181"创建 InfluxDB Go 客户端,并传入
url和token参数。client := influxdb2.NewClient(url, token)使用
WriteAPIBlocking方法创建一个**写入客户端**,并传入org和bucket参数。writeAPI := client.WriteAPIBlocking(org, bucket)
使用 Go 将数据写入 InfluxDB
使用 Go 库将数据写入 InfluxDB。
创建一个 point,并使用 API writer 结构体的
WritePoint方法将其写入 InfluxDB。关闭客户端以刷新所有待处理的写入并完成。
p := influxdb2.NewPoint("stat", map[string]string{"unit": "temperature"}, map[string]interface{}{"avg": 24.5, "max": 45}, time.Now()) writeAPI.WritePoint(context.Background(), p) client.Close()
完整的示例写入脚本
package main
import (
"context"
"fmt"
"time"
"github.com/influxdata/influxdb-client-go/v2"
)
func main() {
bucket := "DATABASE_NAME"
org := "ignored"
token := "DATABASE_TOKEN"
// Store the URL of your InfluxDB instance
url := "https://:8181"
// Create new client with default option for server url authenticate by token
client := influxdb2.NewClient(url, token)
// User blocking write client for writes to desired bucket
writeAPI := client.WriteAPIBlocking(org, bucket)
// Create point using full params constructor
p := influxdb2.NewPoint("stat",
map[string]string{"unit": "temperature"},
map[string]interface{}{"avg": 24.5, "max": 45},
time.Now())
// Write point immediately
writeAPI.WritePoint(context.Background(), p)
// Ensures background processes finishes
client.Close()
}此页面是否有帮助?
感谢您的反馈!
支持和反馈
感谢您成为我们社区的一员!我们欢迎并鼓励您对 InfluxDB 3 Core 和本文档提供反馈和错误报告。要获得支持,请使用以下资源
具有年度合同或支持合同的客户可以 联系 InfluxData 支持。