InfluxDB v2 Go 客户端库
使用 InfluxDB 3 客户端
/api/v2/query
API 端点和相关工具(例如 InfluxDB v2 客户端库和 influx
CLI)无法查询 InfluxDB 集群。
InfluxDB 3 客户端库 和 Flight SQL 客户端 可用,它们与您的代码集成,用于写入和查询存储在 InfluxDB Clustered 中的数据。
InfluxDB 3 支持许多不同的工具,用于写入和查询数据。 比较您可以使用的工具来与 InfluxDB Clustered 交互。
使用 InfluxDB Go 客户端库 将数据写入 InfluxDB Clustered 数据库。
本指南假定您对 Go 和 InfluxDB 有一定的了解。如果刚开始入门,请参阅InfluxDB 入门。
开始之前
将客户端软件包添加到您的项目依赖项中。
# Add InfluxDB Go client package to your project go.mod go get github.com/influxdata/influxdb-client-go/v2
确保 InfluxDB 正在运行并且您可以连接到它。有关使用哪个 URL 连接到您的 InfluxDB 集群的信息,请联系您的 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://cluster-host.com"
创建 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://cluster-host.com"
// 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 Clustered 和本文档提供反馈和错误报告。要获得支持,请使用以下资源
拥有年度合同或支持合同的客户可以联系 InfluxData 支持。