簡體   English   中英

Amazon S3-使用Java API遞歸列出S3存儲桶中的所有zip文件

[英]Amazon S3 - List all the zip files recursively within S3 bucket using Java API

我在亞馬遜上有一個S3存儲桶,試圖遞歸獲取位於存儲桶下文件夾中的所有zip文件的列表。

例如,我的zip文件位於如下所示的位置:

bucket1/${user1}/${date1}/abc.zip
bucket1/${user2}/${date2}/xyz.zip
bucket1/${user3}/${date3}/mno.zip

bucketName=bucket1
prefix=bucket1/

下面是我的代碼:

final AmazonS3 amazonS3 = AmazonS3Utils.getAmazonS3Client();
final ListObjectsRequest listObjectsRequest = new ListObjectsRequest().withBucketName("bucket1")
                                                                            .withPrefix("bucket1/");

ObjectListing current = amazonS3.listObjects(listObjectsRequest);
final List<S3ObjectSummary> keyList = current.getObjectSummaries();

while (current.isTruncated()) 
{
   keyList.addAll(current.getObjectSummaries());
   current = amazonS3.listNextBatchOfObjects(current);
}

keyList.addAll(current.getObjectSummaries());
for(S3ObjectSummary summary : keyList)
{
    System.out.println(summary.getKey());
}

但是我又得到一個空名單。

我做錯什么了嗎? 有什么方法可以從存儲桶中遞歸獲取zip文件列表嗎?

我唯一能看到的就是與您的S3存儲桶建立了連接。請嘗試以下操作,這可能會有所幫助

AWSCredentials credentials = new BasicAWSCredentials(accessKeyId,secretAccessKey);
        AmazonS3 s3Client = new AmazonS3Client(credentials);

ObjectListing objects = s3Client.listObjects(listobjectrequest);

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM