c_oss.go 1.4 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152
  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. c_log.GlobalLogger.Infof("oss 配置信息为:%v", ossConnectInfo)
  36. OssClient, err = oss.New(ossConnectInfo.Endpoint, ossConnectInfo.AccessKeyId, ossConnectInfo.AccessKeySecret, oss.UseCname(true))
  37. if err != nil {
  38. c_log.GlobalLogger.Error("无法创建阿里云client:", err)
  39. os.Exit(-1)
  40. }
  41. OssBucket, err = OssClient.Bucket(ossConnectInfo.BucketName)
  42. if err != nil {
  43. c_log.GlobalLogger.Error("无法创建阿里云bucket:", err)
  44. os.Exit(-1)
  45. }
  46. c_log.GlobalLogger.Info("初始化OSS客户端对象 - 成功。")
  47. }