BlobStorage.Advanced.ListContainersWithPrefixAsync C# (CSharp) Method

ListContainersWithPrefixAsync() private static method

Lists containers in the storage account whose names begin with the specified prefix, and return container metadata as part of the listing operation.
private static ListContainersWithPrefixAsync ( Microsoft.WindowsAzure.Storage.Blob.CloudBlobClient blobClient, string prefix ) : System.Threading.Tasks.Task
blobClient Microsoft.WindowsAzure.Storage.Blob.CloudBlobClient The Blob service client.
prefix string The container name prefix.
return System.Threading.Tasks.Task
        private static async Task ListContainersWithPrefixAsync(CloudBlobClient blobClient, string prefix)
        {
            Console.WriteLine("List all containers beginning with prefix {0}, plus container metadata:", prefix);

            BlobContinuationToken continuationToken = null;
            ContainerResultSegment resultSegment = null;

            try
            {
                do
                {
                    // List containers beginning with the specified prefix, returning segments of 5 results each. 
                    // Note that passing in null for the maxResults parameter returns the maximum number of results (up to 5000).
                    // Requesting the container's metadata as part of the listing operation populates the metadata, 
                    // so it's not necessary to call FetchAttributes() to read the metadata.
                    resultSegment = await blobClient.ListContainersSegmentedAsync(
                        prefix, ContainerListingDetails.Metadata, 5, continuationToken, null, null);

                    // Enumerate the containers returned.
                    foreach (var container in resultSegment.Results)
                    {
                        Console.WriteLine("\tContainer:" + container.Name);

                        // Write the container's metadata keys and values.
                        foreach (var metadataItem in container.Metadata)
                        {
                            Console.WriteLine("\t\tMetadata key: " + metadataItem.Key);
                            Console.WriteLine("\t\tMetadata value: " + metadataItem.Value);
                        }
                    }

                    // Get the continuation token.
                    continuationToken = resultSegment.ContinuationToken;

                } while (continuationToken != null);

                Console.WriteLine();
            }
            catch (StorageException e)
            {
                Console.WriteLine(e.Message);
                Console.ReadLine();
                throw;
            }
        }