在 aws 控制台中更快地搜索 s3 存储桶中的文件

faster search of file in s3 bucket in aws console

我正在搜索包含大量文件的 S3 存储桶中的特定文件。在我的应用程序中,我收到 403 访问被拒绝的错误,如果我尝试从存储桶中获取文件,使用 s3cmd 时我会收到 403(禁止访问)错误。我的问题是我不确定权限是否有问题(因为我可以获得其他文件)或文件不在存储桶中。我已经开始在 Amazon 控制台界面中搜索,但我滚动了几个小时,我还没有到达“4....”(我仍然在“39...”),我正在寻找的文件是在文件夹 "C03215".

那么,有没有更快的方法来验证文件是否存在于存储桶中?或者有没有办法在进行自动滚动的同时做其他事情(因为如果我不滚动,则不会加载任何新内容)?

P.S.: 我无权使用 s3cmd

列出

唯一的 "faster way" 是对存储桶具有 s3:ListBucket 权限,因为正如您所注意到的,如果您不这样做,S3 对 GET 请求的响应是故意模棱两可的t.

If the object you request does not exist, the error Amazon S3 returns depends on whether you also have the s3:ListBucket permission.

If you have the s3:ListBucket permission on the bucket, Amazon S3 will return an HTTP status code 404 ("no such key") error.

If you don’t have the s3:ListBucket permission, Amazon S3 will return an HTTP status code 403 ("access denied") error.

http://docs.aws.amazon.com/AmazonS3/latest/API/RESTObjectGET.html

此外,无法在控制台中加速滚动。

关于在控制台加速滚动

像你一样,我有成千上万的对象需要很长时间才能在控制台中滚动。

我最近发现了如何直接跳转到控制台中的特定 path/folder,这将节省我的鼠标手指和理智!

这仅适用于文件夹,但不适用于实际的叶对象本身。

在浏览器的 URL 栏中查看存储桶时,您会看到如下内容:

console.aws.amazon.com/s3/home?region=eu-west-1#&bucket=your-bucket-name&prefix=

如果您在前缀后附加对象的路径并按回车键,您会认为它应该跳转到该对象但它什么都不做(至少在 chrome 中)。

但是,如果您在前缀后附加对象的路径,请按回车键,然后按刷新 (f5),控制台将在您指定的位置重新加载。

例如

console.aws.amazon.com/s3/home?region=eu-west-1#&bucket=your-bucket-name&prefix=development/2015-04/TestEvent/93edfcbg-5e27-42d3-a2f9-3d86a63d27f9/

当这个问题被弄清楚时,我们办公室里的人都非常高兴!