Java 亚马逊';s S3按日期顺序返回对象摘要?
当我通过Java 亚马逊';s S3按日期顺序返回对象摘要?,java,android,amazon-s3,Java,Android,Amazon S3,当我通过amazonS3Client.listObjects()从S3请求对象摘要时,列表将按字母顺序返回 有人知道如何让S3按日期(lastModified)顺序返回对象,以便首先返回最新的对象吗 谢谢。有趣的问题。 在我看来,ListObject的问题在于您必须下载对象,这些对象的大小可以是GB 对此没有解决方案,但我在.net开发论坛中找到了一个解决方法 只需将列表排序 Java8 s3ObjectSummaries.sort(Comparator.comparing(S3ObjectSu
amazonS3Client.listObjects()
从S3请求对象摘要时,列表将按字母顺序返回
有人知道如何让S3按日期(lastModified)顺序返回对象,以便首先返回最新的对象吗
谢谢。有趣的问题。
在我看来,ListObject的问题在于您必须下载对象,这些对象的大小可以是GB
对此没有解决方案,但我在.net开发论坛中找到了一个解决方法
只需将列表排序 Java8
s3ObjectSummaries.sort(Comparator.comparing(S3ObjectSummary::getLastModified));
之前
Collections.sort(s3ObjectSummaries, new Comparator<S3ObjectSummary>() {
public int compare(S3ObjectSummary o1, S3ObjectSummary o2) {
return o1.getLastModified().compareTo(o2.getLastModified());
}
});
Collections.sort(s3ObjectSummaries,新的Comparator(){
公共整数比较(S3ObjectSummary o1、S3ObjectSummary o2){
返回o1.getLastModified().compareTo(o2.getLastModified());
}
});
如果您将它们作为列表加载
,您可以在下载后使用Comparator
以任何方式订购它们汉克斯,是的,我可以使用Comparator订购返回的内容,但如果我的存储桶中有1000多个项目,则不能保证在前1000个项目内返回最新的对象,此外,对于一个移动应用程序,我使用分页,一次只请求20个项目。因此,我要求s3首先只返回最新的对象。如果ListObject结果被截断(即分页),这将不起作用