Files
open-im-server/internal/api/third/minio_init.go
T

53 lines
1.8 KiB
Go
Raw Normal View History

2022-02-19 18:48:15 +08:00
package apiThird
import (
"Open_IM/pkg/common/config"
"Open_IM/pkg/common/log"
"Open_IM/pkg/utils"
"context"
"github.com/minio/minio-go/v7"
"github.com/minio/minio-go/v7/pkg/credentials"
url2 "net/url"
)
func init() {
minioUrl, err := url2.Parse(config.Config.Credential.Minio.Endpoint)
if err != nil {
log.NewError("", utils.GetSelfFuncName(), "parse failed, please check config/config.yaml", err.Error())
return
}
minioClient, err := minio.New(minioUrl.Host, &minio.Options{
Creds: credentials.NewStaticV4(config.Config.Credential.Minio.AccessKeyID, config.Config.Credential.Minio.SecretAccessKey, ""),
Secure: false,
})
if err != nil {
log.NewError("", utils.GetSelfFuncName(), "init minio client failed", err.Error())
return
}
opt := minio.MakeBucketOptions{
Region: config.Config.Credential.Minio.Location,
ObjectLocking: false,
}
err = minioClient.MakeBucket(context.Background(), config.Config.Credential.Minio.Bucket, opt)
if err != nil {
2022-02-28 17:52:13 +08:00
log.NewInfo("", utils.GetSelfFuncName(), err.Error())
2022-02-19 18:48:15 +08:00
exists, err := minioClient.BucketExists(context.Background(), config.Config.Credential.Minio.Bucket)
if err == nil && exists {
log.NewInfo("", utils.GetSelfFuncName(), "We already own %s\n", config.Config.Credential.Minio.Bucket)
} else {
2022-02-28 17:52:13 +08:00
if err != nil {
log.NewError("", utils.GetSelfFuncName(), err.Error())
}
2022-02-28 17:47:53 +08:00
log.NewError("", utils.GetSelfFuncName(), "create bucket failed and bucket not exists")
2022-02-19 18:48:15 +08:00
return
}
}
2022-03-02 19:07:17 +08:00
// 自动化桶public的代码
2022-02-21 16:41:56 +08:00
//err = minioClient.SetBucketPolicy(context.Background(), config.Config.Credential.Minio.Bucket, policy.BucketPolicyReadWrite)
//if err != nil {
// log.NewError("", utils.GetSelfFuncName(), "SetBucketPolicy failed please set in ", err.Error())
2022-03-01 15:53:33 +08:00
// return`z
2022-02-21 16:41:56 +08:00
//}
2022-02-19 18:48:15 +08:00
log.NewInfo("", utils.GetSelfFuncName(), "minio create and set policy success")
}