c_oss.go 1.4 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253
  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. // 超时时间设置
  41. //OssClient.Config.Timeout = 3600
  42. OssBucket, err = OssClient.Bucket(ossConnectInfo.BucketName)
  43. if err != nil {
  44. c_log.GlobalLogger.Error("无法创建阿里云bucket:", err)
  45. os.Exit(-1)
  46. }
  47. c_log.GlobalLogger.Info("初始化OSS客户端对象 - 成功。")
  48. }