if its possible you can go on with spinning up multiple thread , to process the blob items as async process !
u can use the following code , it will for sure improve the performance :
async public static Task ListBlobsSegmentedInFlatListing()
{
CloudStorageAccount storageAccount = CloudStorageAccount.Parse(
CloudConfigurationManager.GetSetting("StorageConnectionString"));
CloudBlobClient blobClient = storageAccount.CreateCloudBlobClient();
CloudBlobContainer container = blobClient.GetContainerReference("myblobs");
Console.WriteLine("List blobs in pages:");
BlobResultSegment resultSegment = await container.ListBlobsSegmentedAsync(
"", true, BlobListingDetails.All, 10, null, null, null);
int i = 0;
if (resultSegment.Results.Count<IListBlobItem>() > 0) { Console.WriteLine("Page {0}:", ++i); }
foreach (var blobItem in resultSegment.Results)
{
Console.WriteLine("\t{0}", blobItem.StorageUri.PrimaryUri);
}
Console.WriteLine();
BlobContinuationToken continuationToken = resultSegment.ContinuationToken;
while (continuationToken != null)
{
resultSegment = await container.ListBlobsSegmentedAsync(
"", true, BlobListingDetails.All, 10, continuationToken, null, null);
if (resultSegment.Results.Count<IListBlobItem>() > 0) { Console.WriteLine("Page {0}:", ++i); }
foreach (var blobItem in resultSegment.Results)
{
Console.WriteLine("\t{0}", blobItem.StorageUri.PrimaryUri);
}
Console.WriteLine();
continuationToken = resultSegment.ContinuationToken;
}
}