package data import ( "fm-upload/internal/conf" "fmt" "github.com/go-kratos/kratos/v2/log" "github.com/huaweicloud/huaweicloud-sdk-go-obs/obs" "github.com/huaweicloud/huaweicloud-sdk-go-v3/core/auth/basic" vod "github.com/huaweicloud/huaweicloud-sdk-go-v3/services/vod/v1" region "github.com/huaweicloud/huaweicloud-sdk-go-v3/services/vod/v1/region" ) type Hw struct { obs *obs.ObsClient vod *vod.VodClient config *conf.Data_HwOss } func NewHwUtils(c *conf.Data, logger log.Logger) (*Hw, error) { obs := NewHwObs(c.HwOss, logger) vod := NewHwVod(c.HwOss, logger) config := c.HwOss return &Hw{ obs: obs, vod: vod, config: config, }, nil } func NewHwObs(conf *conf.Data_HwOss, logger log.Logger) *obs.ObsClient { obs, err := obs.New(conf.AccessKeyId, conf.AccessKeySecret, conf.Endpoint) if err != nil { fmt.Println("初始化obs失败") return nil } fmt.Println("初始化obs成功") return obs } func NewHwVod(conf *conf.Data_HwOss, logger log.Logger) *vod.VodClient { auth := basic.NewCredentialsBuilder(). WithAk(conf.AccessKeyId). WithSk(conf.AccessKeySecret). Build() vod := vod.NewVodClient( vod.VodClientBuilder(). WithRegion(region.ValueOf("cn-north-4")). WithCredential(auth). Build()) fmt.Println("初始化vod成功") return vod }