连接数据库实例

最近更新时间:2024-07-22 17:17:31

我的收藏

功能介绍

NewRpcClient() 用于通过 RPC(Remote Procedure Call,远程过程调用)的请求方式创建一个向量数据库的客户端对象,用于与向量数据库服务器连接并进行数据交互。
NewClient()为了兼容旧版本而保留,用于通过 HTTP I/O 请求方式创建一个向量数据库的客户端对象,与向量数据库服务器连接并进行数据交互。
说明:
Go SDK 为 1.3.2 及以上版本支持 RPC(Remote Procedure Call,远程过程调用)通信,在多线程场景,RPC 可以提供比 HTTP I/O 更好的的并发请求能力。

请求示例

RPC 请求(推荐)
HTTP IO 请求(兼容 Restful 旧版本 )
package main
import (
"time"
"github.com/tencent/vectordatabase-sdk-go/tcvectordb"
)

func main() {
// 初始化客户端
var defaultOption = &tcvectordb.ClientOption{
Timeout: 30 * time.Second,
MaxIdldConnPerHost: 2,
IdleConnTimeout: time.Minute,
ReadConsistency: tcvectordb.EventualConsistency,
}
_, err := tcvectordb.NewRpcClient("http://10.0.X.X:80", "root", "eC4bLRy2va******************************", defaultOption)
if err != nil {
panic(err)
}
}
package main
import (
"time"
"github.com/tencent/vectordatabase-sdk-go/tcvectordb"
)

func main() {
// 初始化客户端
var defaultOption = &tcvectordb.ClientOption{
Timeout: 30 * time.Second,
MaxIdldConnPerHost: 2,
IdleConnTimeout: time.Minute,
ReadConsistency: tcvectordb.EventualConsistency,
}
_, err := tcvectordb.NewClient("http://10.0.X.X:80", "root", "eC4bLRy2va******************************", defaultOption)
if err != nil {
panic(err)
}
}

请求参数

参数名称
子参数
参数含义
是否必选
获取方式
url
-
客户端所需连接的向量数据库服务端访问地址。
获取向量数据库实例内网 IP 地址与端口,请登录 向量数据库控制台,在实例详情页面网络信息区域直接复制访问地址。具体操作,请参见 查看实例信息



username
-
客户端访问向量数据库服务端的账号。
数据库当前仅支持 root 账号。
key
-
客户端访问向量数据库服务端的 API 密钥,用于进行身份认证。
请登录 向量数据库控制台,在密钥管理页面直接复制密钥。具体操作,请参见 密钥管理



ClientOption
ReadConsistency
设置读一致性。
取值如下所示,默认为 EventualConsistency
StrongConsistency:强一致性。
EventualConsistency:最终一致性。
Timeout
请求超时时间。
单位:秒。
默认值:5。
取值范围:大于等于0。
MaxIdldConnPerHost
最大的空闲连接数。
默认为 2。
取值范围:大于0,如配置为0,或小于0,则使用默认值。
IdleConnTimeout
设置空闲连接的超时时间。


默认值:不限制。
取值说明:大于0。如果配置为0,或者负数,表示不限制空闲连接的超时时间。
举例:time.Second*10。