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.
53 lines
1.3 KiB
53 lines
1.3 KiB
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
|
|
}
|
|
|