你当前正在访问 Microsoft Azure Global Edition 技术文档网站。 如果需要访问由世纪互联运营的 Microsoft Azure 中国技术文档网站,请访问 https://docs.azure.cn

CloudBlob.DownloadToFileParallelAsync 方法

定义

重载

DownloadToFileParallelAsync(String, FileMode, Int32, Nullable<Int64>, Int64, Nullable<Int64>, AccessCondition, BlobRequestOptions, OperationContext, CancellationToken)

启动异步操作,通过发出并行请求将 Blob 的内容下载到文件。

DownloadToFileParallelAsync(String, FileMode, Int32, Nullable<Int64>, CancellationToken)

启动异步操作,通过发出并行请求将 Blob 的内容下载到文件。

DownloadToFileParallelAsync(String, FileMode, Int32, Nullable<Int64>)

启动异步操作,通过发出并行请求将 Blob 的内容下载到文件。

DownloadToFileParallelAsync(String, FileMode, Int32, Nullable<Int64>, Int64, Nullable<Int64>, AccessCondition, BlobRequestOptions, OperationContext, CancellationToken)

启动异步操作,通过发出并行请求将 Blob 的内容下载到文件。

[Microsoft.Azure.Storage.DoesServiceRequest]
public virtual System.Threading.Tasks.Task DownloadToFileParallelAsync (string path, System.IO.FileMode mode, int parallelIOCount, long? rangeSizeInBytes, long offset, long? length, Microsoft.Azure.Storage.AccessCondition accessCondition, Microsoft.Azure.Storage.Blob.BlobRequestOptions options, Microsoft.Azure.Storage.OperationContext operationContext, System.Threading.CancellationToken cancellationToken);
[<Microsoft.Azure.Storage.DoesServiceRequest>]
abstract member DownloadToFileParallelAsync : string * System.IO.FileMode * int * Nullable<int64> * int64 * Nullable<int64> * Microsoft.Azure.Storage.AccessCondition * Microsoft.Azure.Storage.Blob.BlobRequestOptions * Microsoft.Azure.Storage.OperationContext * System.Threading.CancellationToken -> System.Threading.Tasks.Task
override this.DownloadToFileParallelAsync : string * System.IO.FileMode * int * Nullable<int64> * int64 * Nullable<int64> * Microsoft.Azure.Storage.AccessCondition * Microsoft.Azure.Storage.Blob.BlobRequestOptions * Microsoft.Azure.Storage.OperationContext * System.Threading.CancellationToken -> System.Threading.Tasks.Task
Public Overridable Function DownloadToFileParallelAsync (path As String, mode As FileMode, parallelIOCount As Integer, rangeSizeInBytes As Nullable(Of Long), offset As Long, length As Nullable(Of Long), accessCondition As AccessCondition, options As BlobRequestOptions, operationContext As OperationContext, cancellationToken As CancellationToken) As Task

参数

path
String

包含目标文件路径的字符串。

mode
FileMode

一个 FileMode 枚举值,该值确定如何打开或创建文件。

parallelIOCount
Int32

可同时下载的最大范围数

rangeSizeInBytes
Nullable<Int64>

并行加载的每个单独范围的大小(以字节为单位)。 范围大小必须是 4 KB 的倍数,并且最小为 4 MB。 如果未传递任何值,则默认值为 16 MB,如果启用了事务 MD5,则默认值为 4MB。

offset
Int64

Blob 的偏移量。

length
Nullable<Int64>

要下载的字节数。

accessCondition
AccessCondition

一个 AccessCondition 对象,表示继续处理请求而必须满足的条件。

options
BlobRequestOptions

一个 BlobRequestOptions 对象,它指定请求的其他选项。

operationContext
OperationContext

一个 OperationContext 对象,它一个表示当前操作的上下文。

cancellationToken
CancellationToken

等待任务完成期间要观察的 CancellationToken

返回

表示异步操作的 Task 对象。

属性

注解

parallelIOCount 和 rangeSizeInBytes 应根据 CPU、内存和带宽进行调整。 此 API 只应用于较大的下载,因为HEAD请求是在下载数据之前发出的。 对于较小的 Blob,请使用 DownloadToFileAsync () 。 若要获得最佳性能,建议尝试多个值并测量吞吐量。 首先,将 parallelIOCount 设置为 CPU 数。 然后调整 rangeSizeInBytes,使 parallelIOCount 乘以 rangeSizeInBytes 等于希望进程使用的内存量。

适用于

DownloadToFileParallelAsync(String, FileMode, Int32, Nullable<Int64>, CancellationToken)

启动异步操作,通过发出并行请求将 Blob 的内容下载到文件。

[Microsoft.Azure.Storage.DoesServiceRequest]
public virtual System.Threading.Tasks.Task DownloadToFileParallelAsync (string path, System.IO.FileMode mode, int parallelIOCount, long? rangeSizeInBytes, System.Threading.CancellationToken cancellationToken);
[<Microsoft.Azure.Storage.DoesServiceRequest>]
abstract member DownloadToFileParallelAsync : string * System.IO.FileMode * int * Nullable<int64> * System.Threading.CancellationToken -> System.Threading.Tasks.Task
override this.DownloadToFileParallelAsync : string * System.IO.FileMode * int * Nullable<int64> * System.Threading.CancellationToken -> System.Threading.Tasks.Task
Public Overridable Function DownloadToFileParallelAsync (path As String, mode As FileMode, parallelIOCount As Integer, rangeSizeInBytes As Nullable(Of Long), cancellationToken As CancellationToken) As Task

参数

path
String

包含目标文件路径的字符串。

mode
FileMode

一个 FileMode 枚举值,该值确定如何打开或创建文件。

parallelIOCount
Int32

可同时下载的最大范围数。

rangeSizeInBytes
Nullable<Int64>

并行加载的每个单独范围的大小(以字节为单位)。 范围大小必须是 4 KB 的倍数,并且最小为 4 MB。 如果未传递任何值,则使用默认值 16 MB;如果启用了事务性 MD5,则为 4MB。

cancellationToken
CancellationToken

等待任务完成期间要观察的 CancellationToken

返回

表示异步操作的 Task 对象。

属性

示例


// When calling the DownloadToFileParallelAsync API,
// the parallelIOCount variable represents how many ranges can be downloaded concurrently. If the
// parallel I/O count reaches this threshold, no more further requests are made until one range completes.
// The rangeSizeInBytes represents the size of each individual range that is being dowloaded in parallel.
// Passing a cancellation token is advised since for certain network errors, this code will continue to retry indefintitely.
int parallelIOCount = 16;
long rangeSizeInBytes = 16*Constants.MB;
CancellationTokenSource cancellationTokenSource = new CancellationTokenSource();
await blob.DownloadToFileParallelAsync(outputFileName, FileMode.Create, parallelIOCount, rangeSizeInBytes, cancellationTokenSource.Token);

注解

parallelIOCount 和 rangeSizeInBytes 应根据 CPU、内存和带宽进行调整。 此 API 只应用于较大的下载,因为HEAD请求是在下载数据之前发出的。 对于较小的 Blob,请使用 DownloadToFileAsync () 。 若要获得最佳性能,建议尝试多个值并测量吞吐量。 首先,将 parallelIOCount 设置为 CPU 数。 然后调整 rangeSizeInBytes,使 parallelIOCount 乘以 rangeSizeInBytes 等于希望进程使用的内存量。

适用于

DownloadToFileParallelAsync(String, FileMode, Int32, Nullable<Int64>)

启动异步操作,通过发出并行请求将 Blob 的内容下载到文件。

[Microsoft.Azure.Storage.DoesServiceRequest]
public virtual System.Threading.Tasks.Task DownloadToFileParallelAsync (string path, System.IO.FileMode mode, int parallelIOCount, long? rangeSizeInBytes);
[<Microsoft.Azure.Storage.DoesServiceRequest>]
abstract member DownloadToFileParallelAsync : string * System.IO.FileMode * int * Nullable<int64> -> System.Threading.Tasks.Task
override this.DownloadToFileParallelAsync : string * System.IO.FileMode * int * Nullable<int64> -> System.Threading.Tasks.Task
Public Overridable Function DownloadToFileParallelAsync (path As String, mode As FileMode, parallelIOCount As Integer, rangeSizeInBytes As Nullable(Of Long)) As Task

参数

path
String

包含目标文件路径的字符串。

mode
FileMode

一个 FileMode 枚举值,该值确定如何打开或创建文件。

parallelIOCount
Int32

可同时下载的最大范围数

rangeSizeInBytes
Nullable<Int64>

并行加载的每个单独范围的大小(以字节为单位)。 范围大小必须是 4 KB 的倍数,并且最小为 4 MB。 如果未传递任何值,则使用默认值 16 MB;如果启用了事务性 MD5,则为 4MB。

返回

表示异步操作的 Task 对象。

属性

注解

parallelIOCount 和 rangeSizeInBytes 应根据 CPU、内存和带宽进行调整。 此 API 只应用于较大的下载,因为HEAD请求是在下载数据之前发出的。 对于较小的 Blob,请使用 DownloadToFileAsync () 。 若要获得最佳性能,建议尝试多个值并测量吞吐量。 首先,将 parallelIOCount 设置为 CPU 数。 然后调整 rangeSizeInBytes,使 parallelIOCount 乘以 rangeSizeInBytes 等于希望进程使用的内存量。

适用于