package main
import (
"bytes"
"context"
"fmt"
"log"
minio "github.com/minio/minio-go/v7"
"github.com/minio/minio-go/v7/pkg/credentials"
)
func main() {
creds, err := credentials.NewSTSAssumeRole("http://10.10.11.190:9000", credentials.STSAssumeRoleOptions{
AccessKey: "minio",
SecretKey: "minio123",
Location: "us-east-1",
})
if err != nil {
log.Fatalln(err)
}
v, err := creds.Get()
if err != nil {
log.Fatalln(err)
}
fmt.Println(v)
opts := &minio.Options{
Creds: creds,
Secure: false,
}
mclnt, err := minio.New("10.10.11.190:9000", opts)
if err != nil {
log.Fatalln(err)
}
buckets, err := mclnt.ListBuckets(context.Background())
if err != nil {
log.Fatalln(err)
}
for _, v := range buckets {
fmt.Println(v)
}
d := bytes.NewReader([]byte("Hello, World"))
n, err := mclnt.PutObject(context.Background(), "test", "my-objectname.jpg", d, d.Size(), minio.PutObjectOptions{})
if err != nil {
log.Fatalln(err)
}
log.Println("Uploaded", "my-objectname", " of size: ", n, "Successfully.")
}