CloudBlobClient.ListContainers Method (String, ContainerListingDetails)

Storage Client Library NET API

[This topic is part of the Microsoft Azure Storage Client Library 1.7, which has been deprecated. See Storage Client Library for the latest version.]

Returns an enumerable, lazily retrieved collection of containers whose names begin with the specified prefix, and optionally returns container metadata.

Namespace: Microsoft.WindowsAzure.StorageClient
Assembly: Microsoft.WindowsAzure.StorageClient (in Microsoft.WindowsAzure.StorageClient.dll)

Usage

Visual Basic
Dim instance As CloudBlobClient
Dim prefix As String
Dim detailsIncluded As ContainerListingDetails
Dim returnValue As IEnumerable(Of CloudBlobContainer)

returnValue = instance.ListContainers(prefix, detailsIncluded)

Syntax

Visual Basic
Public Function ListContainers ( _
	prefix As String, _
	detailsIncluded As ContainerListingDetails _
) As IEnumerable(Of CloudBlobContainer)
C#
public IEnumerable<CloudBlobContainer> ListContainers (
	string prefix,
	ContainerListingDetails detailsIncluded
)
C++
public:
IEnumerable<CloudBlobContainer^>^ ListContainers (
	String^ prefix, 
	ContainerListingDetails detailsIncluded
)
J#
JScript

Parameters

prefix

Type: System.String

The container name prefix.

detailsIncluded

Type: Microsoft.WindowsAzure.StorageClient.ContainerListingDetails

A value that indicates whether to return container metadata with the listing.

Return Value

Type: System.Collections.Generic.IEnumerable

An enumerable collection of containers that are retrieved lazily.

Example

The following code example demonstrates a few different options for listing containers in a storage account.

C# Copy Code
static void ListContainersInAccount(Uri blobEndpoint, string accountName, string accountKey)
{
    //Create service client for credentialed access to the Blob service.
    CloudBlobClient blobClient = 
        new CloudBlobClient(blobEndpoint, new StorageCredentialsAccountAndKey(accountName, accountKey));

    //List all containers in this storage account.
    foreach (var container in blobClient.ListContainers())
    {
        Console.WriteLine("Container:" + container.Name);
    }
    Console.WriteLine();

    //List containers in this storage account whose names begin with the prefix "my".
    foreach (var container in blobClient.ListContainers("my"))
    {
        Console.WriteLine("Container:" + container.Name);
    }
    Console.WriteLine();

    //List containers in this storage account whose names begin with the prefix "my", 
    //and return container metadata.
    //Note that requesting the container's metadata as part of the listing operation 
    //populates the metadata, so it's not necessary to call FetchAttributes().
    foreach (var container in blobClient.ListContainers("my", ContainerListingDetails.Metadata))
    {
        Console.WriteLine("Container:" + container.Name);
        //Write out the container's metadata values.
        Console.WriteLine("Container metadata:");
        foreach (var metadataKey in container.Metadata.Keys)
        {
            Console.WriteLine("\tMetadata key: " + metadataKey.ToString());
            Console.WriteLine("\tMetadata value: " + container.Metadata.Get(metadataKey.ToString()));
        }
    }
}

Remarks

This method lists all containers in the storage account whose names begin with the specified prefix, and optionally returns container metadata. To return container metadata with the listing, set the detailsIncluded parameter to Metadata. To enumerate containers without metadata, set the detailsIncluded parameter to None.

Note
If you specify that the listing should include container metadata, each container's metadata will be populated; it's not necessary to fetch the container's attributes to populate the metadata.


Thread Safety

Any public static (Shared in Visual Basic) members of this type are thread safe. Any instance members are not guaranteed to be thread safe.

Platforms

Development Platforms

Windows Vista, Windows 7, Windows Server 2008, Windows 8.1, Windows Server 2012 R2, Windows 8 and Windows Server 2012

Change History

See Also