51 lines
1.3 KiB
Go
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

package minio
import (
"context"
"gitee.ltd/lxh/wechat-robot/internal/config"
"github.com/gofiber/fiber/v2/log"
"github.com/minio/minio-go/v7"
"github.com/minio/minio-go/v7/pkg/credentials"
)
var minioClient *minio.Client
// Init
// @description: 初始化Minio连接
func Init() {
cfg, err := config.Load()
if err != nil {
log.Panicf("加载配置失败: %s", err.Error())
return
}
ctx := context.Background()
// 初使化 minio client对象。
minioClient, err = minio.New(cfg.Minio.Endpoint, &minio.Options{
Creds: credentials.NewStaticV4(cfg.Minio.AccessKeyID, cfg.Minio.SecretAccessKey, ""),
Secure: cfg.Minio.UseSsl,
})
if err != nil {
log.Panicf("OSS初始化失败: %v", err.Error())
}
log.Debug("OSS连接成功开始判断桶是否存在")
// 判断捅是否存在,不存在就创建
var exists bool
exists, err = minioClient.BucketExists(ctx, cfg.Minio.BucketName)
if err != nil {
log.Panicf("判断桶失败: %v", err)
}
if !exists {
log.Debug("桶不存在,开始创建")
// 创建桶
err = minioClient.MakeBucket(ctx, cfg.Minio.BucketName, minio.MakeBucketOptions{Region: "us-east-1"})
if err != nil {
log.Panicf("OSS桶创建失败: %v", err.Error())
}
log.Debug("桶创建成功")
} else {
log.Debug("桶已存在")
}
log.Info("OSS初始化成功")
}