package config import ( "cicv-data-closedloop/common/config/c_log" "github.com/aliyun/aliyun-oss-go-sdk/oss" "os" "sync" ) type OssConnectInfoStruct struct { Endpoint string `json:"endpoint"` AccessKeyId string `json:"accessKeyId"` AccessKeySecret string `json:"accessKeySecret"` BucketName string `json:"bucketName"` } var ( OssClient *oss.Client OssBucket *oss.Bucket OssMutex sync.Mutex ) func InitOssConfig() { if !LocalConfig.Internet { // 如果没有网,就是完全用不了oss,直接不初始化 return } var err error c_log.GlobalLogger.Info("初始化OSS客户端对象 - 开始。") //// 1 访问 HTTP 服务获取 OSS 配置 //var get string //// 等待网络可达 //for { // get, err = util.HttpGet(LocalConfig.UrlGetOssConfig) // if err != nil { // c_log.GlobalLogger.Error("http 获取 oss 配置时出错。可能需要等待网络初始化完成:", err) // time.Sleep(time.Duration(2) * time.Second) // continue // } // break //} //var ossConnectInfo OssConnectInfoStruct //err = json.Unmarshal([]byte(get), &ossConnectInfo) //if err != nil { // c_log.GlobalLogger.Error("解析json时出错:", err) // os.Exit(-1) //} ossConnectInfo := OssConnectInfoStruct{ Endpoint: "http://36.110.106.156:20204/", AccessKeyId: "n8glvFGS25MrLY7j", AccessKeySecret: "xZ2Fozoarpfw0z28FUhtg8cu0yDc5d", BucketName: "dcl", } OssClient, err = oss.New(ossConnectInfo.Endpoint, ossConnectInfo.AccessKeyId, ossConnectInfo.AccessKeySecret, oss.UseCname(true)) //OssClient, err = oss.New(ossConnectInfo.Endpoint, ossConnectInfo.AccessKeyId, ossConnectInfo.AccessKeySecret, oss.UseCname(false)) if err != nil { c_log.GlobalLogger.Error("无法创建阿里云client:", err) os.Exit(-1) } // 超时时间设置 //OssClient.Config.Timeout = 3600 OssBucket, err = OssClient.Bucket(ossConnectInfo.BucketName) if err != nil { c_log.GlobalLogger.Error("无法创建阿里云bucket:", err) os.Exit(-1) } c_log.GlobalLogger.Info("初始化OSS客户端对象 - 成功。") }