[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 download the contents of a blob to a stream, 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 CloudBlob
Dim target As Stream
Dim options As BlobRequestOptions
Dim callback As AsyncCallback
Dim state As Object
Dim returnValue As IAsyncResult
returnValue = instance.BeginDownloadToStream(target, options, callback, state) |
Syntax
Visual Basic |
---|
Public Function BeginDownloadToStream ( _
target As Stream, _
options As BlobRequestOptions, _
callback As AsyncCallback, _
state As Object _
) As IAsyncResult |
C# |
---|
public IAsyncResult BeginDownloadToStream (
Stream target,
BlobRequestOptions options,
AsyncCallback callback,
Object state
) |
C++ |
---|
public:
IAsyncResult^ BeginDownloadToStream (
Stream^ target,
BlobRequestOptions^ options,
AsyncCallback^ callback,
Object^ state
) |
Parameters
- target
Type: System.IO.Stream
The target stream.
- 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 downloads a text blob to a file stream in order to append it to a text file.
C# | Copy Code |
---|
static void DownloadBlobToStreamAsync(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 blob.
CloudBlob blob = blobClient.GetBlobReference("mycontainer/myblob.txt");
// Set timeout interval to 2 minutes.
BlobRequestOptions options = new BlobRequestOptions();
options.Timeout = new TimeSpan(0, 2, 0);
// Download the blob to a file stream.
FileStream stream = new FileStream("C:\\appendtofile.txt", FileMode.Append);
blob.BeginDownloadToStream(stream, options, DownloadBlobToStreamCallback, new Object[]{blob, stream});
}
static void DownloadBlobToStreamCallback(IAsyncResult result)
{
// Get array passed to callback.
Object[] state = (Object[])result.AsyncState;
CloudBlob blob = (CloudBlob)state[0];
FileStream stream = (FileStream)state[1];
// End the operation.
blob.EndDownloadToStream(result);
// Close the stream.
stream.Close();
}
|
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.
Platforms
Change History
See Also