OBS客户端通用示例
更新时间: 2019-03-14 10:05
使用OBS客户端进行接口调用操作完成后,返回错误(error类型)为空,则表明返回值有效;若返回的错误不为空(通常为SDK自定义错误),则说明操作失败。
以下代码展示了使用OBS客户端的通用方式:
- // 引入依赖包
- import (
- "fmt"
- "obs"
- "strings"
- )
- var ak = "*** Provide your Access Key ***"
- var sk = "*** Provide your Secret Key ***"
- var endpoint = "https://yourdomainname"
- // 您的工程中可以只保留一个全局的ObsClient结构体
- // ObsClient是协程安全的,可在并发场景下使用
- // 创建ObsClient结构体
- var obsClient, _ = obs.New(
- ak,
- sk,
- endpoint,
- )
- func main() {
- // 调用接口进行操作,例如上传对象
- input := &obs.PutObjectInput{}
- input.Bucket = "bucketname"
- input.Key = "objectkey"
- input.Body = strings.NewReader("Hello OBS")
- output, err := obsClient.PutObject(input)
- if err == nil {
- // 未返回错误,操作成功
- fmt.Printf("RequestId:%s\n", output.RequestId)
- // 处理操作成功后业务逻辑
- } else {
- // 操作失败,获取详细异常信息
- if obsError, ok := err.(obs.ObsError); ok {
- fmt.Println(obsError.Status)
- fmt.Println(obsError.Code)
- fmt.Println(obsError.Message)
- fmt.Println(obsError.RequestId)
- } else {
- fmt.Println(err)
- }
- }
- // 关闭ObsClient结构体,如果是全局ObsClient结构体,可以不在每个方法调用完成后关闭
- // ObsClient在调用ObsClient.Close方法关闭后不能再次使用
- obsClient.Close()
- }
父主题:快速入门