Gets or sets a value indicating whether the blob listing operation will list all blobs in a container in a flat listing, or whether it will list blobs hierarchically, by virtual directory. Namespace: Microsoft.WindowsAzure.StorageClient
Assembly: Microsoft.WindowsAzure.StorageClient (in Microsoft.WindowsAzure.StorageClient.dll)
Usage
Visual Basic |
---|
Dim instance As BlobRequestOptions Dim value As Boolean value = instance.UseFlatBlobListing instance.UseFlatBlobListing = value |
Syntax
Visual Basic |
---|
Public Property UseFlatBlobListing As Boolean |
C# |
---|
public bool UseFlatBlobListing { get; set; } |
C++ |
---|
public: property bool UseFlatBlobListing { bool get (); void set (bool value); } |
J# |
---|
JScript |
---|
Property Value
Type: System.BooleanTrue
if blobs will be listed in a flat listing; otherwise, false
. The default value is false
.
Example
The following code example lists blobs in both a virtual hierarchy and a flat listing, and shows some possible results.
C# | Copy Code |
---|---|
static void ListBlobsInVirtualDirectory(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 blobs in container 'mycontainer' beginning with prefix 'a/', using a hierarchical listing. //The results list only blobs directly beneath 'mycontainer/a/' foreach (var blobItem in blobClient.ListBlobsWithPrefix("mycontainer/a/")) { Console.WriteLine(blobItem.Uri); } //Hierarchical listing results: //http://storagesample.blob.core.windows.net/mycontainer/a/00001.txt //http://storagesample.blob.core.windows.net/mycontainer/a/b/ Console.WriteLine(); //List blobs in container 'mycontainer' beginning with prefix 'a/', using a flat listing. //The results list all blobs beneath 'mycontainer/a/', even if they are in a subdirectory. BlobRequestOptions options = new BlobRequestOptions(); options.UseFlatBlobListing = true; foreach (var blobItem in blobClient.ListBlobsWithPrefix("mycontainer/a/", options)) { Console.WriteLine(blobItem.Uri); } //Flat listing results: //http://storagesample.blob.core.windows.net/mycontainer/a/00001.txt //http://storagesample.blob.core.windows.net/mycontainer/a/b/00002.txt //http://storagesample.blob.core.windows.net/mycontainer/a/b/c/00003.txt //http://storagesample.blob.core.windows.net/mycontainer/a/b/c/00004.txt //http://storagesample.blob.core.windows.net/mycontainer/a/b/c/00005.txt //http://storagesample.blob.core.windows.net/mycontainer/a/b/c/00006.txt } |
Remarks
This property is applicable only to a request to list blobs.
By default, a blob listing operation lists blobs using a virtual hierarchy. In a hierarchical blob listing, a delimiter character used within blob names is treated as a path separator. The listing operation lists the blobs directly beneath a container or a virtual directory only. The listing operation may return objects of type CloudBlob and type CloudBlobDirectory.
Setting the UseFlatBlobListing to true lists blobs in a flat listing instead of in a virtual hierarchy. In a flat blob listing, all blobs beneath the designated starting point are returned, regardless of their position in a virtual hierarchy. A flat blob listing returns only objects of type CloudBlob.
To include snapshots in the listing, you must use a flat listing.