给定AWSS3Client,如何获取所有 S3 对象路径的完整列表?
例子:
存储桶名称:foo有 5 个对象
我想得到一个List[String]由这 5 个项目组成的。
我怎样才能做到这一点?
为此,您可以调用
listObjects(bucketName).getObjectSummaries()
Run Code Online (Sandbox Code Playgroud)
在对AmazonS3Client对象,然后叠代的对象摘要该名单,要求getKey()各一个。
(该listObjects()方法返回一个ObjectListing,然后该getObjectSummaries()方法返回一个List<S3ObjectSummary>- 并且每个都S3ObjectSummary包含键!)
如果有很多对象,您还必须处理ObjectListing被截断的情况,例如使用listNextBatchOfObjects(). 另请参阅ObjectListing.isTruncated()( javadoc )。
最后,只需添加bucketName+ "/"到每个键。