参考官方文档
命令行
MinIO 开启Server端服务
1 . 在 Desktop 创建文件夹 "minIOTest"
2 . 命令行执行 "minio server minIOTest"
3 . 访问"http://127.0.0.1:9000"
4 . 账号密码均为:"minioadmin"
代码部分
package main
import (
"context"
"fmt"
"github.com/minio/minio-go/v7"
"github.com/minio/minio-go/v7/pkg/credentials"
"log"
cfg "minioTest2/config"
"time"
)
// 全局变量
var (
minioClient *minio.Client
err error
ctx context.Context
cancel func()
bucketName = "hhz-demo"
)
// InitClient : 连接 minIO 返回对应client
func InitClient(){
// 使用ssl
useSSL := true
// 初使化minio client对象。
if minioClient, err = minio.New(cfg.Endpoint, &minio.Options{
Creds: credentials.NewStaticV4(cfg.AccessKey, cfg.SecretKey, ""),
Secure: useSSL,
}) ; err != nil {
fmt.Println(err)
return
}
}
// CreateBucket : 创建名称为 "bucketName"
func CreateBucket( bucketName string ){
ctx, cancel = context.WithTimeout(context.Background(), 100 * time.Second)
defer cancel()
// Region : Beijing
location := "cn-north-1"
if err = minioClient.MakeBucket(ctx, bucketName, minio.MakeBucketOptions{Region: location});
err != nil {
// 检查存储桶是否已经存在。
exists, errBucketExists := minioClient.BucketExists(ctx, bucketName)
if errBucketExists == nil && exists {
log.Printf("We already own %s\n", bucketName)
} else {
log.Fatalln(err)
}
} else {
log.Printf("Successfully created %s\n", bucketName)
}
}
func main() {
InitClient()
CreateBucket(bucketName)
}
上课笔记
minio.New()
参数;
参数 | 类型 | 描述 |
---|---|---|
endpoint |
string | S3兼容对象存储服务endpoint |
accessKeyID |
string | 对象存储的Access key |
secretAccessKey |
string | 对象存储的Secret key |
ssl |
bool | true代表使用HTTPS |
- 操作存储桶
MakeBucket(bucketName, location string) error
创建一个存储桶。
参数
参数 | 类型 | 描述 |
---|---|---|
bucketName |
string | 存储桶名称 |
location |
string | 存储桶被创建的region(地区),默认是us-east-1(美国东一区),下面列举的是其它合法的值。注意:如果用的是minio服务的话,resion是在它的配置文件中,(默认是us-east-1)。 |
cn-north-1 | ||
cn-northwest-1 |