c_oss.go 2.1 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970
  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://dcl.oss.icvdc.com",
  45. //Endpoint: "http://oss-cn-beijing-gqzl-d01-a.ops.gqzl-cloud.com/",
  46. AccessKeyId: "n8glvFGS25MrLY7j",
  47. AccessKeySecret: "xZ2Fozoarpfw0z28FUhtg8cu0yDc5d",
  48. BucketName: "dcl",
  49. }
  50. OssClient, err = oss.New(ossConnectInfo.Endpoint, ossConnectInfo.AccessKeyId, ossConnectInfo.AccessKeySecret, oss.UseCname(true))
  51. //OssClient, err = oss.New(ossConnectInfo.Endpoint, ossConnectInfo.AccessKeyId, ossConnectInfo.AccessKeySecret, oss.UseCname(false))
  52. if err != nil {
  53. c_log.GlobalLogger.Error("无法创建阿里云client:", err)
  54. os.Exit(-1)
  55. }
  56. // 超时时间设置
  57. //OssClient.Config.Timeout = 3600
  58. OssBucket, err = OssClient.Bucket(ossConnectInfo.BucketName)
  59. if err != nil {
  60. c_log.GlobalLogger.Error("无法创建阿里云bucket:", err)
  61. os.Exit(-1)
  62. }
  63. c_log.GlobalLogger.Info("初始化OSS客户端对象 - 成功。")
  64. }