Microsoft.WindowsAzure.MediaServices.Client.BlobTransferClient.DownloadBlob C# (CSharp) Method

DownloadBlob() public method

Downloads the specified blob to the specified location.
public DownloadBlob ( Uri uri, string localFile, Microsoft.WindowsAzure.MediaServices.Client.FileEncryption fileEncryption, ulong initializationVector, CancellationToken cancellationToken, IRetryPolicy retryPolicy, Func getSharedAccessSignature = null ) : Task
uri System.Uri The blob url from which file needs to be downloaded.If blob has private read permissions then appropriate sas url need to be passed
localFile string The full path where file will be saved
fileEncryption Microsoft.WindowsAzure.MediaServices.Client.FileEncryption The file encryption if file has been encrypted. Pass null if no encryption has been used
initializationVector ulong The initialization vector if encryption has been used.
cancellationToken System.Threading.CancellationToken The cancellation token.
retryPolicy IRetryPolicy The RetryPolicy delegate returns a ShouldRetry delegate, which can be used to implement a custom retry policy.RetryPolicies class can bee used to get default policies
getSharedAccessSignature Func A callback function which returns Sas signature for the file to be downloaded
return Task
        public virtual Task DownloadBlob(
            Uri uri,
            string localFile,
            FileEncryption fileEncryption,
            ulong initializationVector,
            CancellationToken cancellationToken,
            IRetryPolicy retryPolicy,
            Func<string> getSharedAccessSignature = null
            )
        {
            return DownloadBlob(uri, localFile, fileEncryption, initializationVector, null, cancellationToken, retryPolicy, getSharedAccessSignature);
        }

Same methods

BlobTransferClient::DownloadBlob ( Uri uri, string localFile, Microsoft.WindowsAzure.MediaServices.Client.FileEncryption fileEncryption, ulong initializationVector, Microsoft.WindowsAzure.Storage.Blob.CloudBlobClient client, CancellationToken cancellationToken, IRetryPolicy retryPolicy, Func getSharedAccessSignature = null, long start, long length = -1 ) : Task

Usage Example

        /// <summary>
        /// Downloads the file asynchronously .
        /// </summary>
        /// <param name="destinationPath">The path to download the file to.</param>
        /// <param name="blobTransferClient">The <see cref="BlobTransferClient"/> which is used to download files.</param>
        /// <param name="locator">An asset <see cref="ILocator"/> which defines permissions associated with the Asset.</param>
        /// <param name="retryPolicy">The retry policy.</param>
        /// <param name="cancellationToken">The cancellation token.</param>
        /// <returns>A function delegate that returns the future result to be available through the Task.</returns>
        internal Task DownloadToFileAsync(string destinationPath, BlobTransferClient blobTransferClient, ILocator locator, IRetryPolicy retryPolicy, CancellationToken cancellationToken)
        {
            FileEncryption fileEncryption = this.GetFileEncryption();

            cancellationToken.Register(() => this.Cleanup(null, fileEncryption, null, null));
            return(Task.Factory.StartNew(() =>
            {
                cancellationToken.ThrowIfCancellationRequested(() => this.Cleanup(null, fileEncryption, null, null));
                ulong iv = Convert.ToUInt64(this.InitializationVector, CultureInfo.InvariantCulture);
                UriBuilder uriBuilder = new UriBuilder(locator.BaseUri);
                uriBuilder.Path += String.Concat("/", Name);
                blobTransferClient.TransferProgressChanged += this.OnDownloadBlobTransferProgressChanged;

                blobTransferClient.DownloadBlob(
                    uriBuilder.Uri,
                    destinationPath,
                    fileEncryption,
                    iv,
                    cancellationToken,
                    retryPolicy,
                    () => locator.ContentAccessComponent)
                .Wait(cancellationToken);

                cancellationToken.ThrowIfCancellationRequested(() => this.Cleanup(null, fileEncryption, null, null));
            },
                                         cancellationToken)
                   .ContinueWith(
                       t =>
            {
                t.ThrowIfFaulted(() => this.Cleanup(null, fileEncryption, null, null));
                cancellationToken.ThrowIfCancellationRequested(() => this.Cleanup(null, fileEncryption, null, null));
                this.Cleanup(null, fileEncryption, null, null);
            },
                       cancellationToken));
        }
All Usage Examples Of Microsoft.WindowsAzure.MediaServices.Client.BlobTransferClient::DownloadBlob