Перечислить все объекты в Alibaba OSS Bucket с помощью Java SDK
Используя Alibaba OSS Java SDK, я могу получить не более 100 объектов в Bucket. Как перечислить все объекты?
группа компиляции: 'com.aliyun.oss', имя: 'aliyun-sdk-oss', версия: '3.9.1'
ObjectListing objectListing = ossClient.listObjects(bucketName);
int count = 1;
// Use objectListing.getObjectSummaries to obtain the descriptions of all objects.
for (OSSObjectSummary objectSummary : objectListing.getObjectSummaries()) {
System.out.println(count++ + " - " + objectSummary.getKey() + " " +
"(size = " + objectSummary.getSize() + ")");
}
1 ответ
Решение
Используя приведенный ниже код, можно перечислить все объекты из Bucket. Ссылка на ссылку.
do
{
System.out.println("**** ITERATION COUNT - " + itCount++ + "*****");
// The number of objects listed in each page is specified by the maxKeys parameter. If the object number is larger than the specified value, other files are listed in another page.
ListObjectsRequest listObjectsRequest = new ListObjectsRequest(bucketName, null, nextMarker, null, 100);
result = client.listObjects(listObjectsRequest);
for (OSSObjectSummary summary: result.getObjectSummaries())
{
System.out.println("Object Count: " + objCount++ + ", Name:" + summary.getKey());
}
nextMarker = result.getNextMarker();
} while (result.isTruncated());