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() }