CloudBlobContainer.BeginFetchAttributes Method (BlobRequestOptions, AsyncCallback, Object) |
See Also Example |
Begins an asynchronous operation to retrieve the container's attributes, using a conditional request based on the BlobRequestOptions that you specify. Namespace: Microsoft.WindowsAzure.StorageClient
Assembly: Microsoft.WindowsAzure.StorageClient (in Microsoft.WindowsAzure.StorageClient.dll)
Usage
Visual Basic |
---|
Dim instance As CloudBlobContainer Dim options As BlobRequestOptions Dim callback As AsyncCallback Dim state As Object Dim returnValue As IAsyncResult returnValue = instance.BeginFetchAttributes(options, callback, state) |
Syntax
Visual Basic |
---|
Public Function BeginFetchAttributes ( _ options As BlobRequestOptions, _ callback As AsyncCallback, _ state As Object _ ) As IAsyncResult |
C# |
---|
public IAsyncResult BeginFetchAttributes ( BlobRequestOptions options, AsyncCallback callback, Object state ) |
C++ |
---|
public: IAsyncResult^ BeginFetchAttributes ( BlobRequestOptions^ options, AsyncCallback^ callback, Object^ state ) |
J# |
---|
JScript |
---|
Parameters
- options
Type: Microsoft.WindowsAzure.StorageClient.BlobRequestOptions
An object that specifies any additional options for the request.
- 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 code example retrieves a container's attributes and writes out its properties and metadata.
C# | Copy Code |
---|---|
static void FetchContainerAttributesAsync(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 a container. CloudBlobContainer container = blobClient.GetContainerReference("mycontainer"); //Populate the container's properties and metadata. container.BeginFetchAttributes(FetchContainerAttributesCallback, container); } static void FetchContainerAttributesCallback(IAsyncResult result) { CloudBlobContainer container = (CloudBlobContainer)result.AsyncState; //Handle the exception in case the container does not exist. try { //End the operation. container.EndFetchAttributes(result); //List some container properties. Console.WriteLine("Container: " + container.Name); Console.WriteLine(); Console.WriteLine("Container properties:"); Console.WriteLine("\tLastModifiedUTC: " + container.Attributes.Properties.LastModifiedUtc); Console.WriteLine("\tETag: " + container.Attributes.Properties.ETag); Console.WriteLine(); //Enumerate the container's metadata. foreach (var metadataKey in container.Metadata.Keys) { Console.WriteLine("Metadata name: " + metadataKey.ToString()); Console.WriteLine("Metadata value: " + container.Metadata.Get(metadataKey.ToString())); } } catch (StorageClientException e) { if (e.ErrorCode == StorageErrorCode.ResourceNotFound) { Console.WriteLine("Container does not exist."); } else { Console.WriteLine(e.ErrorCode); } } } |
Remarks
The BeginFetchAttributes method begins an operation to populate the container's system properties and user-defined metadata. Before reading a container's properties or metadata, you should always call this method or the FetchAttributes method to retrieve the latest values for the container's properties and metadata from the service.