You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

54 lines
1.3 KiB

9 months ago
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
}