向量数据库 Viking DB 支持通过 Go SDK 操作数据库。在使用 Go SDK 之前,需要先完成安装 SDK 和 初始化 SDK 步骤。

为优化权限系统,向量库 SDK分为控制面和数据面,其中控制面为管理数据集、索引、离线任务;数据面为数据、检索和向量化。控制面同时支持从页面操作,请您根据需要配置依赖。
# 数据面SDK go get -u github.com/volcengine/vikingdb-go-sdk # 控制面SDK go get -u github.com/volcengine/volcengine-go-sdk
如需私网连接,参考私网连接方式进行配置并获取域名。目前私网连接请求域名仅支持http。
说明
代码中 Your ak 及 Your sk 需要分别替换为您的 AK 及 SK,Your host、Your region、Your scheme 替换为您使用的域名、地区、请求协议(http / https)。
Region 中文名称 | Region ID | 互联网域名(外网) | 私网连接终端节点服务(非域名,请参考私网连接文档) |
|---|---|---|---|
华北2(北京) | cn-beijing | ||
华南1(广州) | cn-guangzhou | ||
华东2(上海) | cn-shanghai | ||
亚太东南(柔佛) | ap-southeast-1 | 火山柔佛region不支持私网访问 |
package main import ( "fmt" "github.com/volcengine/vikingdb-go-sdk/vector" "os" "time" ) func main() { var ( accessKey = os.Getenv("VIKINGDB_AK") secretKey = os.Getenv("VIKINGDB_SK") //apiKey = os.Getenv("VIKINGDB_APIKEY") endpoint = "https://api-vikingdb.vikingdb.cn-beijing.volces.com" region = "cn-beijing" ) client, err := vector.New( vector.AuthIAM(accessKey, secretKey), // IAM auth // vector.AuthAPIKey(apiKey), // APIKey auth vector.WithEndpoint(endpoint), vector.WithRegion(region), vector.WithTimeout(time.Second*30), vector.WithMaxRetries(3), ) if err != nil { fmt.Println("New client failed, err: ", err) panic(err) } }
Region 中文名称 | Region ID | 互联网域名(外网) | 私网连接终端节点服务(非域名,请参考私网连接文档) |
|---|---|---|---|
华北2(北京) | cn-beijing | com.volces.privatelink.cn-beijing.api.vikingdb | |
华南1(广州) | cn-guangzhou | com.volces.privatelink.cn-guangzhou.api.vikingdb | |
华东2(上海) | cn-shanghai | com.volces.privatelink.cn-shanghai.api.vikingdb | |
亚太东南(柔佛) | ap-southeast-1 | com.volces.privatelink.ap-southeast-1.api.vikingdb |
package main import ( "fmt" "os" "github.com/volcengine/volcengine-go-sdk/service/vikingdb" "github.com/volcengine/volcengine-go-sdk/volcengine" "github.com/volcengine/volcengine-go-sdk/volcengine/credentials" "github.com/volcengine/volcengine-go-sdk/volcengine/session" ) func main() { var ( accessKey = os.Getenv("VIKINGDB_AK") secretKey = os.Getenv("VIKINGDB_SK") region = "cn-beijing" ) config := volcengine.NewConfig(). WithRegion(region). WithCredentials(credentials.NewStaticCredentials(accessKey, secretKey, "")) sess, err := session.NewSession(config) if err != nil { panic(err) } svc := vikingdb.New(sess) fmt.Printf("APIVersion: %s\n", svc.APIVersion) }