Client是OSS的Go客户端,用于管理存储空间和文件等OSS资源。
新建Client时,需要指定Endpoint。有关Endpoint的更多信息,请参见访问域名和数据中心和自定义访问域名。
可选的参数如下:
参数 | 说明 | 默认值 |
---|---|---|
UseCname | 是否使用自定义域名CNAME | 否 |
Timeout | 请求超时时间,包括连接超时、Socket读写超时,单位秒 | 连接超时30秒,读写超时60秒 |
SecurityToken | 临时用户的SecurityToken | 空 |
EnableMD5 | 是否开启MD5校验。推荐使用CRC校验,CRC的效率高于MD5 | 否 |
EnableCRC | 是否开启CRC校验 | 是 |
Proxy | 代理服务器,如http://8.8.8.8:3128 |
空 |
AuthProxy | 带账号密码的代理服务器 | 空 |
使用OSS域名新建Client
下面的代码用于使用OSS域名新建Client:
import "github.com/aliyun/aliyun-oss-go-sdk/oss" client, err := oss.New("<yourEndpoint>", "<yourAccessKeyId>", "<yourAccessKeySecret>") if err != nil { fmt.Println("Error:", err) os.Exit(-1) }
使用自定义域名新建Client
自定义域名的完整代码请参见GitHub。
以下代码用于使用自定义域名新建Client:
import "github.com/aliyun/aliyun-oss-go-sdk/oss" // oss.UseCname(true)为开启CNAME。CNAME是指将自定义域名绑定到存储空间上。 client, err := oss.New("<yourEndpoint>", "<yourAccessKeyId>", "<yourAccessKeySecret>", oss.UseCname(true)) if err != nil { fmt.Println("Error:", err) os.Exit(-1) }
注意 使用CNAME时,无法进行列举存储空间的操作,因为自定义域名已经绑定到某个特定的存储空间。
使用STS新建Client
以下代码用于使用STS新建一个Client:
import "github.com/aliyun/aliyun-oss-go-sdk/oss" client, err := oss.New("<yourEndpoint>", "<yourAccessKeyId>", "<yourAccessKeySecret>", oss.SecurityToken("<yourSecurityToken>")) if err != nil { fmt.Println("Error:", err) os.Exit(-1) }
更多信息请参见授权访问。
设置连接超时时间
以下代码用于设置连接超时时间:
import "github.com/aliyun/aliyun-oss-go-sdk/oss" // oss.Timeout(10, 120)表示设置HTTP连接超时时间为10秒(默认值为30秒),HTTP读写超时时间为120秒(默认值为60秒)。0表示永不超时(不推荐使用)。 client, err := oss.New("<yourEndpoint>", "<yourAccessKeyId>", "<yourAccessKeySecret>", oss.Timeout(10, 120)) if err != nil { fmt.Println("Error:", err) os.Exit(-1) }
CRC数据校验
上传、下载文件时默认开启CRC数据校验,确保上传、下载过程的数据完整性。以下代码用于关闭CRC数据校验:
警告 强烈建议您不要关闭CRC数据校验功能。如果您关闭此功能,则阿里云不保证上传、下载过程数据的完整性。
import "github.com/aliyun/aliyun-oss-go-sdk/oss" client, err := oss.New("<yourEndpoint>", "<yourAccessKeyId>", "<yourAccessKeySecret>", oss.EnableCRC(false)) if err != nil { fmt.Println("Error:", err) os.Exit(-1) }