Padawan
Padawan

Reputation: 49

How do I list blobs contained in a directory Azure

So I am trying to list blobs contained in a virtual folder let's call it "VF"

I have tried many methods for example:

var storageAccount = CloudStorageAccount.Parse("...");

var blobClient = storageAccount.CreateCloudBlobClient();

var container = blobClient.GetContainerReference("Container_Name");

List<IListBlobItem> blobslist = container.ListBlobsSegmentedAsync("VF", true).ToList();

But I receive errors like:

Error: Argument 2: cannot convert from 'bool' to 'Microsoft.WindowsAzure.Storage.Blobl.BlobContinuationToken"}

I am trying to return file contents using an API, is this why I am receiving trouble and am using the incorrect methods?

Any help is greatly appreciated

Upvotes: 2

Views: 2215

Answers (1)

Marcus H&#246;glund
Marcus H&#246;glund

Reputation: 16801

You need to implement the usage of BlobContinuationToken correctly.

Try it like this

if (CloudStorageAccount.TryParse(connectionString, out CloudStorageAccount storageAccount))
{
    var context = new OperationContext();
    var options = new BlobRequestOptions();
    var cloudBlobClient = storageAccount.CreateCloudBlobClient();
    var cloudBlobContainer = cloudBlobClient.GetContainerReference(blobContainerName);
    BlobContinuationToken blobContinuationToken = null;
    do
    {
        var results = await cloudBlobContainer.ListBlobsSegmentedAsync(null, true, BlobListingDetails.All,
            null, blobContinuationToken, options, context);
        blobContinuationToken = results.ContinuationToken;
        foreach (var item in results.Results)
        {
            //do what you want with each blob
        }
    } while (blobContinuationToken != null);
}

Upvotes: 5

Related Questions