devops/test/main.go

59 lines
1.4 KiB
Go

package main
import (
"context"
"fmt"
"github.com/minio/minio-go/v7"
"github.com/minio/minio-go/v7/pkg/credentials"
"log"
"time"
)
const (
endpoint = "minio.lingpaike.com"
// uat
//id = "WnNnehJLuSaPVRizxXCm"
//secret = "nf3uYJeVBBf8dvSxkumQch8EwCkfjIepLfmwjuQn"
// product
id = "n0Z66Sy1OtrIpp8eI9A4"
secret = "IvIGohy8Ms17qLwAJ0aaCpqzctaTDygvypzNi8Oq"
)
func main() {
minioClient, err := minio.New(endpoint, &minio.Options{
Creds: credentials.NewStaticV4(id, secret, ""),
Secure: true,
})
if err != nil {
panic(err)
}
buckets := []string{"product", "test", "develop"}
for _, bucket := range buckets {
ok, err := minioClient.BucketExists(context.Background(), bucket)
if err != nil {
panic(err)
}
log.Println(fmt.Sprintf("bucket %s exists: %v", bucket, ok))
}
log.Println("list objects")
for obj := range minioClient.ListObjects(context.Background(), "product", minio.ListObjectsOptions{Prefix: "i"}) {
url, err := minioClient.PresignedGetObject(context.Background(), "product", obj.Key, time.Hour, nil)
if err != nil {
log.Println("failed to get url", err)
return
}
log.Println("find object: ", obj.Key, obj.Size, url)
}
//_, err = minioClient.FPutObject(context.Background(), "product", "test.txt", "./test.txt", minio.PutObjectOptions{})
//if err != nil {
// panic(err)
//} else {
// log.Println("put file success")
//}
}