| 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.