CloudBlobClient.BeginListBlobsWithPrefixSegmented Method (String, Int32, ResultContinuation, AsyncCallback, Object) |
See Also Example |
Begins an asynchronous operation to return a result segment containing a collection of blob items whose names begin with the specified prefix. Use this overload when you want to control the maximum number of results returned at a time, and when you want to use a continuation token to determine whether there are more results to return from the service after the current page completes. 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 maxResults As Integer Dim continuationToken As ResultContinuation Dim callback As AsyncCallback Dim state As Object Dim returnValue As IAsyncResult returnValue = instance.BeginListBlobsWithPrefixSegmented(prefix, maxResults, continuationToken, callback, state) |
Syntax
Visual Basic |
---|
Public Function BeginListBlobsWithPrefixSegmented ( _ prefix As String, _ maxResults As Integer, _ continuationToken As ResultContinuation, _ callback As AsyncCallback, _ state As Object _ ) As IAsyncResult |
C# |
---|
public IAsyncResult BeginListBlobsWithPrefixSegmented ( string prefix, int maxResults, ResultContinuation continuationToken, AsyncCallback callback, Object state ) |
C++ |
---|
public: IAsyncResult^ BeginListBlobsWithPrefixSegmented ( String^ prefix, int maxResults, ResultContinuation^ continuationToken, AsyncCallback^ callback, Object^ state ) |
J# |
---|
JScript |
---|
Parameters
- prefix
Type: System.String
The blob name prefix. This value must be preceded by the name of the container.
- maxResults
Type: System.Int32
A non-negative integer value that indicates the maximum number of results to be returned at a time, up to the per-operation limit of 5000. If this value is zero, the maximum possible number of results will be returned.
- continuationToken
Type: Microsoft.WindowsAzure.StorageClient.ResultContinuation
A continuation token returned by a previous listing operation.
- callback
Type: System.AsyncCallback
The callback delegate that will receive notification when the asynchronous operation completes.
- state
Type: System.Object
A user-defined object that will be passed to the callback delegate.
Return Value
Type: System.IAsyncResultAn IAsyncResult that references the asynchronous operation.Example
The following sample code lists blobs in a container with an asynchronous operation. The blob prefix includes the name of the container and the beginning of the blob name.
C# | Copy Code |
---|---|
static void ListBlobsInSegmentsAsynchronously(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)); //Begin the operation to return the first segment of blobs, passing the service client to the callback. blobClient.BeginListBlobsWithPrefixSegmented("lotsofblobs/0", ListBlobsInSegmentsCallback, blobClient); } static void ListBlobsInSegmentsCallback(IAsyncResult result) { CloudBlobClient blobClient = (CloudBlobClient)result.AsyncState; //End the operation. ResultSegment<IListBlobItem> resultSegment = blobClient.EndListBlobsWithPrefixSegmented(result); //Enumerate the blob items. foreach (var blobItem in resultSegment.Results) { Console.WriteLine(blobItem.Uri); } //Check the continuation token to determine whether there are more results. if (resultSegment.ContinuationToken != null) { //Get the next result segment. resultSegment = resultSegment.GetNext(); //Enumerate the blob items. foreach (var blobItem in resultSegment.Results) { Console.WriteLine(blobItem.Uri); } } } |
Remarks
The BeginListBlobsWithPrefixSegmented method begins an operation to list blobs in pages. A page is a set of results of a specified size; it is represented by the ResultSegment class. By returning blobs in pages, you can control the number of blobs returned per operation. This may be useful if, for example, you are displaying a web page with some predefined number of blobs on it.
To specify the page size to return, pass in a non-zero value for the maxResults parameter. Passing in zero for the maxResults parameter returns either the maximum number of results available, or the per-operation limit of 5000 results.
If you have specified a page size, you can check the HasMoreResults property to check whether the page is complete. If HasMoreResults is true, the complete page has not been returned for some reason. Call GetNext to return the remaining results in the page.
Note that if you have not specified a page size, HasMoreResults will always be false.
Check the value of the ContinuationToken property to determine whether there are more results to return from the service after the page is complete. The continuation token is non-null as long as there are more results to return from the service. If the page is complete, then HasMoreResults will be false, but if the continuation token is non-null, there are additional results to return beyond that page.
Call the GetNext method to return the next segment of results from the service.