Url从Amazon S3获取文件

use*_*928 42 get amazon-s3

我在查找如何从Amazon S3访问文件时遇到了一些麻烦.让我们说该文件所在的存储桶是BUCKET_NAME,文件是FILE_NAME等.我尝试了以下两个网址:

https://s3.amazonaws.com/BUCKET_NAME/FILE_NAME/
?Expires=EXPIRATION
&Signature=SIGNATURE
&SignatureVersion=2
&SignatureMethod=HmacSHA1
&AWSAccessKeyId=KEYID
Run Code Online (Sandbox Code Playgroud)

但是这给了我以下错误: __CODE__ 指定的密钥不存在.

而我也试过了

https://s3.amazonaws.com/BUCKET_NAME/
?Key=FILE_NAME
&Expires=EXPIRATION
&Signature=SIGNATURE
&SignatureVersion=2
&SignatureMethod=HmacSHA1
&AWSAccessKeyId=KEYID
Run Code Online (Sandbox Code Playgroud)

但是这会返回一个网页,其中包含给定存储桶(包括FILE_NAME)中所有文件的列表,而不是我想要的特定文件.我也尝试将"Action = GetObject"投入到url中,但这似乎没有改变任何东西.

找出哪个(如果有的话)是正确的方法以及我做错了什么会很有帮助.我一直在挖掘亚马逊文档一段时间,但我似乎无法解决它.

谢谢.

ste*_*bot 57

它的实际配方更像是:

https://<bucket-name>.s3.amazonaws.com/<key>
Run Code Online (Sandbox Code Playgroud)

看到这里


Seb*_*ber 24

这里有文档,我将以法兰克福地区为例.

2种不同的URL样式:

但是这个网址不起作用:

消息是明确的: The bucket you are attempting to access must be addressed using the specified endpoint. Please send all future requests to this endpoint.

我可能正在谈论另一个问题,因为我没有收到NoSuchKey错误,但我怀疑错误信息随着时间的推移变得更加清晰......

  • 路径样式 URL 已弃用。AWS 将在未来某个时候放弃对它们的支持。请参阅 https://aws.amazon.com/blogs/aws/amazon-s3-path-deprecation-plan-the-rest-of-the-story/ (3认同)

orl*_*ade 20

也许不是OP之后的内容,但对于那些搜索URL以简单地访问S3上的可读对象的人更像是:

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

哪里<region>是一样的东西s3-ap-southeast-2.

单击S3 GUI中的项目以获取存储桶的链接.