| 12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970 |
- package paas
- import (
- "github.com/kataras/iris/v12"
- "github.com/minio/minio-go/v7"
- "github.com/minio/minio-go/v7/pkg/credentials"
- "log"
- )
- type MinioClient struct {
- ctx iris.Context
- client *minio.Client
- fileBucket string
- iconBucket string
- location string
- }
- func NewClient(ctx iris.Context) *MinioClient {
- var minioHost = ""
- var minioPort = ""
- var accessKey = ""
- var secretKey = ""
- minioClient, err := minio.New(
- minioHost + ":"+ minioPort,
- &minio.Options{
- Creds: credentials.NewStaticV4(accessKey, secretKey, ""),
- Secure: false,
- })
- if err != nil {
- log.Fatalf("connect minio server fail %s url %s", err.Error(), err.Error(), minioHost+":"+minioPort)
- }
-
- return &MinioClient{
- ctx: ctx,
- client: minioClient,
- location: "us-east-1",
- fileBucket: "file",
- iconBucket: "icon",
- }
- }
- func (c *MinioClient) checkBuckets() bool {
- b1 := c.checkBucket(c.fileBucket)
- b2 := c.checkBucket(c.iconBucket)
- return b1&&b2
- }
- func (c *MinioClient) checkBucket(bucketName string) bool {
- isExist, err1 := c.client.BucketExists(c.ctx, bucketName)
- if err1 != nil {
- log.Fatalf("checkBucket error " + err1.Error())
- return false
- }
-
- if !isExist {
- err2 := c.client.MakeBucket(c.ctx, bucketName, minio.MakeBucketOptions{Region: c.location})
- if err2 != nil {
- log.Fatalf("checkBucket error " + err2.Error())
- return false
- }
- }
- return true
- }
- func (c *MinioClient) uploadObject(objectName, localFileName string) {
- _, err := c.client.FPutObject(c.ctx, c.fileBucket, objectName, localFileName, minio.PutObjectOptions{})
- if err != nil {
- log.Fatalf("upload object error" + err.Error())
- }
- }
|