如何列出特定 S3 存储桶中的所有文件? [英] How to list all files from a specific S3 Bucket?

查看:64
本文介绍了如何列出特定 S3 存储桶中的所有文件?的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我在我的项目中使用 AWS S3 存储桶,在该项目中我使用 API 上传图像和列出图像,效果很好.

I am using AWS S3 bucket for my project where I am uploading images and listing images using APIs, which is working pretty fine.

现在我想列出特定 S3 存储桶/文件夹的所有文件(特定存储桶的对象列表).

Now I want to list all files of a specific S3 bucket/folder (listing of objects of the specific bucket).

这是我的 S3 存储桶的屏幕截图:

Here is the screenshot of my S3 bucket:

我尝试给存储桶命名

  1. wevieu/development/user_default/
  2. wevieu/development/user_default
  3. s3://wevieu/development/user_default/

等等.但没有任何帮助.

etc. but nothing helped me.

大多数情况下,我收到此错误或任何其他带有 400 响应的错误:

指定的键不存在.(服务:Amazon S3;状态代码:404;错误代码:NoSuchKey;

The specified key does not exist. (Service: Amazon S3; Status Code: 404; Error Code: NoSuchKey;

我尝试了 12, 3 解决方案但没有'不寻求任何帮助.

I tried 1 , 2, 3 solutions but didn't get help from any of this.

如果有人之前成功地做到了这一点,请帮助我.

Help me if anyone have done this before successfully.

注意:我使用的是这个 SDK 版本com.amazonaws:aws-java-sdk-s3:1.11.423

Note: I am using this SDK version com.amazonaws:aws-java-sdk-s3:1.11.423

推荐答案

好的.所以我得到了解决方案.

Ok. So I got the solution.

您需要在列出 S3 中的对象之前添加权限.如果缺少权限,那么您的代码会给您带来错误.

You need to add the permissions before listing objects in your S3. If permissions are missing then your code will give you errors.

我使用的代码是这样的,在添加权限之前不起作用.

The code that I did use is this, which was not working before adding permission.

添加权限后,我可以列出所有对象.

After adding permissions, I am able to list all objects.

objectListing = s3client.listObjects("wevieu", "development/user_default");
        if (objectListing != null) {
            List<S3ObjectSummary> s3ObjectSummariesList = objectListing.getObjectSummaries();
            if (!s3ObjectSummariesList.isEmpty()) {
                for (S3ObjectSummary objectSummary : s3ObjectSummariesList) {
                    System.out.println("file name:"+objectSummary.getKey());
                }
            }
        }

这篇关于如何列出特定 S3 存储桶中的所有文件?的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆