@@ -390,14 +390,24 @@ func (o *ObjectStore) ListCommonPrefixes(bucket, prefix, delimiter string) ([]st
390
390
Delimiter : delimiter ,
391
391
}
392
392
393
- res , err := container .ListBlobs (params )
394
- if err != nil {
395
- return nil , errors .WithStack (err )
393
+ var prefixes []string
394
+ for {
395
+ res , err := container .ListBlobs (params )
396
+ if err != nil {
397
+ return nil , errors .WithStack (err )
398
+ }
399
+ prefixes = append (prefixes , res .BlobPrefixes ... )
400
+ if res .NextMarker == "" {
401
+ break
402
+ }
403
+ params .Marker = res .NextMarker
396
404
}
397
405
398
- return res . BlobPrefixes , nil
406
+ return prefixes , nil
399
407
}
400
408
409
+
410
+
401
411
func (o * ObjectStore ) ListObjects (bucket , prefix string ) ([]string , error ) {
402
412
container , err := o .containerGetter .getContainer (bucket )
403
413
if err != nil {
@@ -408,17 +418,22 @@ func (o *ObjectStore) ListObjects(bucket, prefix string) ([]string, error) {
408
418
Prefix : prefix ,
409
419
}
410
420
411
- res , err := container .ListBlobs (params )
412
- if err != nil {
413
- return nil , errors .WithStack (err )
414
- }
415
-
416
- ret := make ([]string , 0 , len (res .Blobs ))
417
- for _ , blob := range res .Blobs {
418
- ret = append (ret , blob .Name )
421
+ var objects []string
422
+ for {
423
+ res , err := container .ListBlobs (params )
424
+ if err != nil {
425
+ return nil , errors .WithStack (err )
426
+ }
427
+ for _ , blob := range res .Blobs {
428
+ objects = append (objects , blob .Name )
429
+ }
430
+ if res .NextMarker == "" {
431
+ break
432
+ }
433
+ params .Marker = res .NextMarker
419
434
}
420
435
421
- return ret , nil
436
+ return objects , nil
422
437
}
423
438
424
439
func (o * ObjectStore ) DeleteObject (bucket string , key string ) error {
0 commit comments