ObsClient初始化
功能说明
ObsClient是访问OBS服务的Go客户端,它为调用者提供一系列与OBS服务进行交互的接口,用于管理、操作桶(Bucket)和对象(Object)等OBS服务上的资源。
初始化方法
func New(ak, sk, endpoint string, configurers ...configurer) (*ObsClient, error)
参数描述
|
字段名 |
类型 |
约束 |
说明 |
|---|---|---|---|
|
ak |
string |
必选 |
访问密钥中的AK。 |
|
sk |
string |
必选 |
访问密钥中的SK。 |
|
endpoint |
string |
必选 |
连接OBS的服务地址。包含协议类型、域名(或IP)、端口号。示例:https://your-endpoint:443。 您可以从这里查看OBS当前开通的服务地址。 |
|
configurers |
configurer(obs包中的私有类型) |
可选 |
一组用于配置ObsClient的参数,可进行连接超时时间、最大重试次数、最大连接数等配置。 |
可用的configurer
|
创建方式 |
说明 |
|---|---|
|
WithSslVerifyAndPemCerts(sslVerify bool, pemCerts []byte) |
配置验证服务端证书的参数。默认为不验证。 |
|
WithHeaderTimeout(headerTimeout int) |
配置获取响应头的超时时间。默认为60秒。 |
|
WithMaxConnections(maxConnsPerHost int) |
配置允许最大HTTP空闲连接数。默认为1000。 |
|
WithConnectTimeout(connectTimeout int) |
配置建立HTTP/HTTPS连接的超时时间(单位:秒)。默认为60秒。 |
|
WithSocketTimeout(socketTimeout int) |
配置读写数据的超时时间(单位:秒)。默认为60秒。 |
|
WithIdleConnTimeout(idleConnTimeout int) |
配置空闲的HTTP连接在连接池中的超时时间(单位:秒)。默认为30秒。 |
|
WithMaxRetryCount(maxRetryCount int) |
配置HTTP/HTTPS连接异常时的请求重试次数。默认为3次。 |
|
WithProxyUrl(proxyUrl string) |
配置HTTP代理。 |
|
WithHttpTransport(transport *http.Transport) |
配置自定义的Transport。 |
|
WithRequestContext(ctx context.Context) |
配置每次HTTP请求的上下文。 |
|
WithMaxRedirectCount(maxRedirectCount int) |
配置HTTP/HTTPS请求重定向的最大次数。默认为3次。 |
|
WithSecurityToken(securityToken string) |
配置临时访问密钥中的SecurityToken。 |
代码样例
import (
"obs"
)
var ak = "*** Provide your Access Key ***"
var sk = "*** Provide your Secret Key ***"
var endpoint = "https://your-endpoint"
var obsClient, _ = obs.New(
ak,
sk,
endpoint,
obs.WithConnectTimeout(30),
obs.WithSocketTimeout(60),
obs.WithMaxConnections(100),
obs.WithMaxRetryCount(3),
)
func main() {
obsClient.Close()
}