首先,你需要先安装minio/stable/mc
适用于 Linux/Mac
brew install minio/stable/mc
比创建别名:
mc alias set <ALIAS> <YOUR-S3-ENDPOINT> <YOUR-ACCESS-KEY> <YOUR-SECRET-KEY> --api <API-SIGNATURE> --path <BUCKET-LOOKUP-TYPE>
例如:
mc alias set minio http://192.168.1.51 BKIKJAA5BMMU2RHO6IBB V7f1CwQqAcwo80UEIJEjc5gVQUSSx5ohQ9GSrr12
对于 Amazon S3 云存储:
mc alias set s3 https://s3.amazonaws.com BKIKJAA5BMMU2RHO6IBB V7f1CwQqAcwo80UEIJEjc5gVQUSSx5ohQ9GSrr12
对于谷歌云存储
mc alias set gcs https://storage.googleapis.com BKIKJAA5BMMU2RHO6IBB V8f1CwQqAcwo80UEIJEjc5gVQUSSx5ohQ9GSrr12
例如(在我的本地系统中):
mc alias set minio http://localhost:9000 admin password
接下来,
使用别名,此处存储桶名称为 photos,图片名称为 p.png
mc share download --recursive minio/photos/p.png
你会得到这样的输出:
URL: http://localhost:9000/photos/p.png
Expire: 7 days 0 hours 0 minutes 0 seconds
Share: http://localhost:9000/photos/p.png?X-Amz-Algorithm=AWS4-HMAC-SHA256&X-Amz-Credential=admin%2F20220314%2Fus-east-1%2Fs3%2Faws4_request&X-Amz-Date=20220314T113907Z&X-Amz-Expires=604800&X-Amz-SignedHeaders=host&X-Amz-Signature=34cef307940b43debf85c2d66berb4576132bf2c2a8b19c8ab5b368ef73ff517
或者如果您想从程序中生成链接
Golang 代码:
package main
import (
"context"
"fmt"
"github.com/minio/minio-go/v7"
"github.com/minio/minio-go/v7/pkg/credentials"
"log"
"net/url"
"time"
)
func main() {
endpoint := "127.0.0.1:9000"
accessKeyID := "admin"
secretAccessKey := "password"
useSSL := false
minioClient, err := minio.New(endpoint, &minio.Options{
Creds: credentials.NewStaticV4(accessKeyID, secretAccessKey, ""),
Secure: useSSL,
})
if err != nil {
log.Fatalln(err)
}
fmt.Println(minioClient)
// Set request parameters for content-disposition.
reqParams := make(url.Values)
reqParams.Set("response-content-disposition", "attachment; filename=\"p.png\"")
// Generates a presigned url which expires in a day.
presignedURL, err := minioClient.PresignedGetObject(context.Background(), "photos", "p.png", time.Second*24*60*60, reqParams)
if err != nil {
log.Println(err)
return
}
fmt.Println("Successfully generated presigned URL", presignedURL)
}
更多信息:
https://docs.min.io/minio/baremetal/reference/minio-mc/mc-share-download.html
https://docs.min.io/docs/minio-client-quickstart-guide.html
https://docs.min.io/docs/golang-client-api-reference.html