c_oss.go 2.0 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869
  1. package config
  2. import (
  3. "cicv-data-closedloop/common/config/c_log"
  4. "github.com/aliyun/aliyun-oss-go-sdk/oss"
  5. "os"
  6. "sync"
  7. )
  8. type OssConnectInfoStruct struct {
  9. Endpoint string `json:"endpoint"`
  10. AccessKeyId string `json:"accessKeyId"`
  11. AccessKeySecret string `json:"accessKeySecret"`
  12. BucketName string `json:"bucketName"`
  13. }
  14. var (
  15. OssClient *oss.Client
  16. OssBucket *oss.Bucket
  17. OssMutex sync.Mutex
  18. )
  19. func InitOssConfig() {
  20. if !LocalConfig.Internet { // 如果没有网,就是完全用不了oss,直接不初始化
  21. return
  22. }
  23. var err error
  24. c_log.GlobalLogger.Info("初始化OSS客户端对象 - 开始。")
  25. //// 1 访问 HTTP 服务获取 OSS 配置
  26. //var get string
  27. //// 等待网络可达
  28. //for {
  29. // get, err = util.HttpGet(LocalConfig.UrlGetOssConfig)
  30. // if err != nil {
  31. // c_log.GlobalLogger.Error("http 获取 oss 配置时出错。可能需要等待网络初始化完成:", err)
  32. // time.Sleep(time.Duration(2) * time.Second)
  33. // continue
  34. // }
  35. // break
  36. //}
  37. //var ossConnectInfo OssConnectInfoStruct
  38. //err = json.Unmarshal([]byte(get), &ossConnectInfo)
  39. //if err != nil {
  40. // c_log.GlobalLogger.Error("解析json时出错:", err)
  41. // os.Exit(-1)
  42. //}
  43. ossConnectInfo := OssConnectInfoStruct{
  44. Endpoint: "http://36.110.106.156:20204/",
  45. AccessKeyId: "n8glvFGS25MrLY7j",
  46. AccessKeySecret: "xZ2Fozoarpfw0z28FUhtg8cu0yDc5d",
  47. BucketName: "dcl",
  48. }
  49. OssClient, err = oss.New(ossConnectInfo.Endpoint, ossConnectInfo.AccessKeyId, ossConnectInfo.AccessKeySecret, oss.UseCname(true))
  50. //OssClient, err = oss.New(ossConnectInfo.Endpoint, ossConnectInfo.AccessKeyId, ossConnectInfo.AccessKeySecret, oss.UseCname(false))
  51. if err != nil {
  52. c_log.GlobalLogger.Error("无法创建阿里云client:", err)
  53. os.Exit(-1)
  54. }
  55. // 超时时间设置
  56. //OssClient.Config.Timeout = 3600
  57. OssBucket, err = OssClient.Bucket(ossConnectInfo.BucketName)
  58. if err != nil {
  59. c_log.GlobalLogger.Error("无法创建阿里云bucket:", err)
  60. os.Exit(-1)
  61. }
  62. c_log.GlobalLogger.Info("初始化OSS客户端对象 - 成功。")
  63. }