【发布时间】:2019-03-03 02:23:16
【问题描述】:
我的桶里有很多钥匙(压缩的)。
我们只想从 s3 请求最后创建的 X 个键。
我们使用 Java API。但是,我找不到如何只获取最后修改/创建的方法。
我们自己对列表进行了排序,但仍然没有得到最后 X 项。这是有问题的,因为这个桶可能很大,我们不想检索所有结果并对其进行排序。
public List<MyObject> getResults(int numberOfResults) {
ObjectListing listing = s3Client.listObjects(new ListObjectsRequest()
.withBucketName(bucketName)
.withMaxKeys(numberOfResults));
List<S3ObjectSummary> list = listing.getObjectSummaries();
// our internal sorting logic:
List<MyObject> myObjects = list.stream().map(item ->
MyObject.builder().resultKey(item.getKey()).createdDate(item.getLastModified()).build()).sorted(Comparator.comparing(MyObject::getCreatedDate))
.collect(Collectors.toList());
return myObjects;
}
有什么想法吗?
【问题讨论】:
-
文件如何更新和上传?是否只能通过同一个 Java 应用程序?
标签: amazon-web-services amazon-s3