对象存储服务 OBS-快速入门(Go SDK):初始化OBS客户端

时间:2025-05-08 15:06:43

初始化OBS客户端

向OBS发送任一HTTP/HTTPS请求之前,必须先创建一个ObsClient结构体:
 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
// 引入依赖包
import (
    obs "github.com/huaweicloud/huaweicloud-sdk-go-obs/obs"
)

func main() {
    //推荐通过环境变量获取AKSK,这里也可以使用其他外部引入方式传入,如果使用硬编码可能会存在泄露风险。
    //您可以登录访问管理控制台获取访问密钥AK/SK,获取方式请参见https://support.huaweicloud.com/usermanual-ca/ca_01_0003.html。
    ak := os.Getenv("AccessKeyID")
    sk := os.Getenv("SecretAccessKey")
    // 【可选】如果使用临时AK/SK和SecurityToken访问OBS,同样建议您尽量避免使用硬编码,以降低信息泄露风险。您可以通过环境变量获取访问密钥AK/SK,也可以使用其他外部引入方式传入。
    // securityToken := os.Getenv("SecurityToken")
    // endpoint填写Bucket对应的Endpoint, 这里以华北-北京四为例,其他地区请按实际情况填写。
    endPoint := "https://obs.cn-north-4.myhuaweicloud.com"
    // 创建obsClient实例
    // 如果使用临时AKSK和SecurityToken访问OBS,需要在创建实例时通过obs.WithSecurityToken方法指定securityToken值。
    obsClient, err := obs.New(ak, sk, endPoint, obs.WithSignature(obs.SignatureObs)/*, obs.WithSecurityToken(securityToken)*/)
    if err == nil {
        // 使用访问OBS

        // 关闭obsClient
        obsClient.Close()
    }
}
  • 更多关于OBS客户端初始化的内容请参考“初始化”章节。
  • 日志配置详见日志初始化
  • 如果设置的endpoint不带协议类型,则默认使用HTTPS协议。
  • 出于DNS解析性能和OBS服务可靠性的考虑,不允许将endpoint设置为IP,必须使用 域名 访问OBS服务。
support.huaweicloud.com/sdk-go-devg-obs/obs_23_0103.html