gpt4 book ai didi

amazon-web-services - 如何在 golang 中从 AWS S3 获取资源 URL

转载 作者:IT王子 更新时间:2023-10-29 01:54:18 29 4
gpt4 key购买 nike

我需要使用 golang 和 official aws go sdk 获取资源的公共(public)永久(未签名)URL .在 Java AWS S3 SDK 中有一个名为 getResourceUrl() 的方法go 中的等价物是什么?

最佳答案

这是使用 go sdk 获取预签名 URL 的方式:

func GetFileLink(key string) (string, error) {
svc := s3.New(some params)

params := &s3.GetObjectInput{
Bucket: aws.String(a bucket name),
Key: aws.String(key),
}

req, _ := svc.GetObjectRequest(params)

url, err := req.Presign(15 * time.Minute) // Set link expiration time
if err != nil {
global.Log("[AWS GET LINK]:", params, err)
}

return url, err
}

如果您想要的只是公共(public)访问对象的 URL,您可以自己构建 URL:

https://<region>.amazonaws.com/<bucket-name>/<key>

us-east-2 之类的东西在哪里。所以使用 go 它将是这样的:

url := "https://%s.amazonaws.com/%s/%s"
url = fmt.Sprintf(url, "us-east-2", "my-bucket-name", "some-file.txt")

Here是 S3 所有可用区域的列表。

关于amazon-web-services - 如何在 golang 中从 AWS S3 获取资源 URL,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/46575011/

29 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com