【发布时间】:2018-09-06 11:44:38
【问题描述】:
我看到的使用适用于 Go 的 AWS 开发工具包从 S3 下载文件的示例采用以下形式:
downloader := s3manager.NewDownloader(session, /* other args */)
s3object := &s3.GetObjectInput{
Bucket: aws.String(myBucket),
Key: aws.String(myKey),
}
bytesDownloaded, err := downloader.Download(myFile, s3object)
即使用bucket和key来指定文件。但是,如果我已经在 S3 上拥有文件的完整 URI 怎么办?例如:
https://s3.us-west-2.amazonaws.com/myBucket/myKey
有没有办法使用SDK直接使用URL指定要下载的文件?
不,存储桶不公开。在 SDK 中,我还设置了访问密钥和密钥(从示例代码中省略)。
最后,如果根本无法通过 SDK 完成我所要求的事情,那么这是一个可以接受(尽管不是理想)的答案。
【问题讨论】:
-
存储桶是公开的吗?
http.Get,无需 SDK。只要确保你看到的是森林。 -
不,存储桶不是公开的。 (我已更新问题以明确说明这一点。)