我在我们的存储桶中有许多密钥(压缩)。如何从S3存储桶中获取最后一个X修改过的文件
我们只想从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应用程序? – mostafazh