[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.]
Begins an asynchronous operation to retrieve the container's attributes. Namespace: Microsoft.WindowsAzure.StorageClient
Assembly: Microsoft.WindowsAzure.StorageClient (in Microsoft.WindowsAzure.StorageClient.dll)
Begins an asynchronous operation to retrieve the container's attributes. Namespace: Microsoft.WindowsAzure.StorageClient
Assembly: Microsoft.WindowsAzure.StorageClient (in Microsoft.WindowsAzure.StorageClient.dll)
Usage
| Visual Basic |
|---|
Dim instance As CloudBlobContainer Dim callback As AsyncCallback Dim state As Object Dim returnValue As IAsyncResult returnValue = instance.BeginFetchAttributes(callback, state) |
Syntax
| Visual Basic |
|---|
Public Function BeginFetchAttributes ( _ callback As AsyncCallback, _ state As Object _ ) As IAsyncResult |
| C# |
|---|
public IAsyncResult BeginFetchAttributes ( AsyncCallback callback, Object state ) |
| C++ |
|---|
public: IAsyncResult^ BeginFetchAttributes ( AsyncCallback^ callback, Object^ state ) |
| J# |
|---|
| JScript |
|---|
Parameters
- 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.
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.