tongchenkeji 发表于:2023-5-4 16:26:360次点击 已关注取消关注 关注 私信 对象存储文件如何修改默认查询数量 ,还有就是对象存储希望能按照时间倒序排序[阿里云oss] 暂停朗读为您朗读 「点点赞赏,手留余香」 赞赏 还没有人赞赏,快来当第一个赞赏的人吧! 海报 对象存储OSS# 对象存储1210
wljslmzAM 2023-11-27 23:11:47 1 阿里云对象存储(OSS)默认查询数量可以通过分页查询参数来设置,具体可以参考OSS文档: 列举所有Object:https://help.aliyun.com/document_detail/31989.html 列举Bucket下所有文件:https://help.aliyun.com/document_detail/31983.html 例如,你可以使用setMaxKeys方法来设置每页返回的最大数量: ObjectListing objectListing = ossClient.listObjects(new ListObjectsRequest(bucketName).withMaxKeys(100)); 另外,OSS默认按照时间正序排序,即创建时间早的文件排在前面。如果你需要按照时间倒序排序,可以使用分页查询参数中的withMarker方法配合修改日期作为标记,然后将结果集排序。具体可以参考OSS文档: 对象列表排序:https://help.aliyun.com/document_detail/31989.html 示例如下: // 列出Bucket下所有文件,每页返回100个文件ListObjectsRequest listRequest = new ListObjectsRequest(bucketName).withMaxKeys(100);ObjectListing objectListing = null;List allObjects = new ArrayList<>();do { // 如果已经有上一页的数据,则设置maker以获取下一页数据 if(objectListing != null) { listRequest.withMarker(objectListing.getNextMarker()); } objectListing = ossClient.listObjects(listRequest); allObjects.addAll(objectListing.getObjectSummaries());} while(objectListing.isTruncated());// 按照时间倒序排序allObjects.sort((o1, o2) -> o2.getLastModified().compareTo(o1.getLastModified())); 以上示例代码中,通过获取ObjectListing对象,并调用getNextMarker方法获取下一页的标记,以实现分页查询。在获取到所有文件信息后,通过Collections.sort方法按照时间倒序排序,以获取倒序排列的文件列表。
阿里云对象存储(OSS)默认查询数量可以通过分页查询参数来设置,具体可以参考OSS文档:
例如,你可以使用
setMaxKeys
方法来设置每页返回的最大数量:另外,OSS默认按照时间正序排序,即创建时间早的文件排在前面。如果你需要按照时间倒序排序,可以使用分页查询参数中的
withMarker
方法配合修改日期作为标记,然后将结果集排序。具体可以参考OSS文档:示例如下:
以上示例代码中,通过获取
ObjectListing
对象,并调用getNextMarker
方法获取下一页的标记,以实现分页查询。在获取到所有文件信息后,通过Collections.sort
方法按照时间倒序排序,以获取倒序排列的文件列表。使用OSS API的MODIFY命令:可以使用OSS API的MODIFY命令修改文件的权限,然后重新上传该文件以应用更改。