给定AWSS3Client,如何获得所有S3对象的完整列表?路径?
示例:
Bucket Name: foo 有5个对象
我希望获得由这5个项目组成的List[String]
。
我该怎么做?
答案 0 :(得分:3)
为此,您可以致电
listObjects(bucketName).getObjectSummaries()
在AmazonS3Client
对象上,然后遍历该对象摘要列表,在每个对象摘要上调用getKey()
。
(listObjects()
方法返回ObjectListing
,然后getObjectSummaries()
方法返回List<S3ObjectSummary>
- 每个S3ObjectSummary
都包含密钥!)< / p>
如果有很多对象,您还必须处理ObjectListing
被截断的情况,例如使用listNextBatchOfObjects()
。另请参阅ObjectListing.isTruncated()
(javadoc)。
最后,只需在每个密钥前加bucketName+ "/"
。