in src/main/java/org/elasticsearch/aliyun/oss/blobstore/OssBlobStore.java [98:112]
Map<String, BlobMetaData> listBlobsByPrefix(String keyPath, String prefix) throws IOException {
MapBuilder<String, BlobMetaData> blobsBuilder = MapBuilder.newMapBuilder();
String actualPrefix = keyPath + (prefix == null ? StringUtils.EMPTY : prefix);
String nextMarker = null;
ObjectListing blobs;
do {
blobs = listBlobs(actualPrefix, nextMarker);
for (OSSObjectSummary summary : blobs.getObjectSummaries()) {
String blobName = summary.getKey().substring(keyPath.length());
blobsBuilder.put(blobName, new PlainBlobMetaData(blobName, summary.getSize()));
}
nextMarker = blobs.getNextMarker();
} while (blobs.isTruncated());
return blobsBuilder.immutableMap();
}