如何在 Go 中使用 Minio 预签名 URL

How to use Minio presigned URLs with Go

目标:

通过签名URLs(使用github.com/minio/minio-go/v6)实现读取Minio对象

尝试:

我遵循了 github 中的示例: https://github.com/minio/minio-go/blob/master/examples/s3/presignedgetobject.go

并使用 PresignedGetObject(),我最终得到一个 net/url 结构。当我连接 url.Hosturl.Path 值时,结果类似于:localhost:9000/inputs/2ea471a5521c.pdb。它只是链接到 Minio UI.

中的对象

我希望客户端生成一个签名的 URL,以便在使用 curl 查询时能够下载对象,否则,在 Google 云存储中会出现类似这样的情况: https://cloud.google.com/storage/docs/access-control/signed-urls#example

我是否遗漏了一些额外的逻辑,或者我是否误解了什么是 minio 预签名 URL?谢谢。

如果你想要预签名的 url 作为字符串,你可以简单地调用

presignedURL.String()

https://golang.org/pkg/net/url/#URL.String