c_oss.go 1.4 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051
  1. package config
  2. import (
  3. "cicv-data-closedloop/common/config/c_log"
  4. "cicv-data-closedloop/common/util"
  5. "encoding/json"
  6. "github.com/aliyun/aliyun-oss-go-sdk/oss"
  7. "os"
  8. "sync"
  9. )
  10. type OssConnectInfoStruct struct {
  11. Endpoint string `json:"endpoint"`
  12. AccessKeyId string `json:"accessKeyId"`
  13. AccessKeySecret string `json:"accessKeySecret"`
  14. BucketName string `json:"bucketName"`
  15. }
  16. var (
  17. OssClient *oss.Client
  18. OssBucket *oss.Bucket
  19. OssMutex sync.Mutex
  20. )
  21. func InitOssConfig() {
  22. c_log.GlobalLogger.Info("初始化OSS客户端对象 - 开始。")
  23. // 1 访问 HTTP 服务获取 OSS 配置
  24. get, err := util.HttpGet(LocalConfig.UrlGetOssConfig)
  25. if err != nil {
  26. c_log.GlobalLogger.Error("http获取oss配置时出错:", err)
  27. os.Exit(-1)
  28. }
  29. var ossConnectInfo OssConnectInfoStruct
  30. err = json.Unmarshal([]byte(get), &ossConnectInfo)
  31. if err != nil {
  32. c_log.GlobalLogger.Error("解析json时出错:", err)
  33. os.Exit(-1)
  34. }
  35. OssClient, err = oss.New(ossConnectInfo.Endpoint, ossConnectInfo.AccessKeyId, ossConnectInfo.AccessKeySecret, oss.UseCname(true))
  36. if err != nil {
  37. c_log.GlobalLogger.Error("无法创建阿里云client:", err)
  38. os.Exit(-1)
  39. }
  40. OssBucket, err = OssClient.Bucket(ossConnectInfo.BucketName)
  41. if err != nil {
  42. c_log.GlobalLogger.Error("无法创建阿里云bucket:", err)
  43. os.Exit(-1)
  44. }
  45. c_log.GlobalLogger.Info("初始化OSS客户端对象 - 成功。")
  46. }