CloudBlobContainer.ListBlobs Method ()

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 collection of the blobs in the container.

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

Usage

Visual Basic
Dim instance As CloudBlobContainer
Dim returnValue As IEnumerable(Of IListBlobItem)

returnValue = instance.ListBlobs

Syntax

Visual Basic
Public Function ListBlobs As IEnumerable(Of IListBlobItem)
C#
public IEnumerable<IListBlobItem> ListBlobs ()
C++
public:
IEnumerable<IListBlobItem^>^ ListBlobs ()
J#
JScript

Return Value

Type: System.Collections.Generic.IEnumerable

An enumerable collection of objects that implement IListBlobItem.

Example

The following code example lists blobs in a container first hierarchically, and then using a flat blob listing. Note that the two listings will differ only if the blobs in the container include a delimiter character in their names, and therefore constitute a virtual directory structure.

C# Copy Code
static void ListBlobsInContainer(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));

    //Get a reference to the container.
    CloudBlobContainer container = blobClient.GetContainerReference("myblobs");

    //List blobs and directories in this container hierarchically (which is the default listing).
    foreach (var blobItem in container.ListBlobs())
    {
        Console.WriteLine(blobItem.Uri);
    }
    Console.WriteLine();

    //List blobs in this container using a flat listing.
    BlobRequestOptions options = new BlobRequestOptions();
    options.UseFlatBlobListing = true;

    //List snapshots, which requires a flat blob listing.
    options.BlobListingDetails = BlobListingDetails.Snapshots;
            
    foreach (var blobItem in container.ListBlobs(options))
    {
        Console.WriteLine(blobItem.Uri);
    }
}

Remarks

The types of objects returned by the ListBlobs method depend on the type of listing that is being performed. If the UseFlatBlobListing property is set to true, the listing will return an enumerable collection of CloudBlob objects. If UseFlatBlobListing is set to false (the default value), the listing may return a collection containing CloudBlob objects and CloudBlobDirectory objects. The latter case provides a convenience for subsequent enumerations over a virtual blob hierarchy.


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