Compartilhar via


CloudBlob.DownloadToFileParallelAsync Método

Definição

Sobrecargas

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

Inicia uma operação assíncrona para baixar o conteúdo de um blob em um arquivo fazendo solicitações paralelas.

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

Inicia uma operação assíncrona para baixar o conteúdo de um blob em um arquivo fazendo solicitações paralelas.

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

Inicia uma operação assíncrona para baixar o conteúdo de um blob em um arquivo fazendo solicitações paralelas.

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

Inicia uma operação assíncrona para baixar o conteúdo de um blob em um arquivo fazendo solicitações paralelas.

[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

Parâmetros

path
String

Uma cadeia de caracteres que contém o caminho para o arquivo de destino.

mode
FileMode

Um FileMode valor de enumeração que determina como abrir ou criar o arquivo.

parallelIOCount
Int32

O número máximo de intervalos que podem ser baixados simultaneamente

rangeSizeInBytes
Nullable<Int64>

O tamanho de cada intervalo individual em bytes que está sendo dowloaded em paralelo. O tamanho do intervalo deve ser um múltiplo de 4 KB e um mínimo de 4 MB. Se nenhum valor for passado, um valor padrão de 16 MB ou 4 MB se o MD5 transacional estiver habilitado.

offset
Int64

O deslocamento do blob.

length
Nullable<Int64>

O número de bytes a serem baixados.

accessCondition
AccessCondition

Um objeto AccessCondition que representa a condição que deve ser atendida para que a solicitação continue.

options
BlobRequestOptions

Um objeto BlobRequestOptions que especifica opções adicionais para a solicitação.

operationContext
OperationContext

Um objeto OperationContext que representa o contexto da operação atual.

cancellationToken
CancellationToken

Um CancellationToken a ser observado ao aguardar a conclusão da tarefa.

Retornos

Um objeto Task que representa a operação assíncrona.

Atributos

Comentários

ParallelIOCount e rangeSizeInBytes devem ser ajustados dependendo da CPU, memória e largura de banda. Essa API só deve ser usada para downloads maiores, pois uma solicitação de HEAD é feita antes de baixar os dados. Para blobs menores, use DownloadToFileAsync(). Para obter o melhor desempenho, é recomendável experimentar vários valores e medir a taxa de transferência. Um lugar para começar seria definir parallelIOCount como o número de CPUs. Em seguida, ajuste rangeSizeInBytes para que parallelIOCount times rangeSizeInBytes seja igual à quantidade de memória que você deseja que o processo consuma.

Aplica-se a

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

Inicia uma operação assíncrona para baixar o conteúdo de um blob em um arquivo fazendo solicitações paralelas.

[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

Parâmetros

path
String

Uma cadeia de caracteres que contém o caminho para o arquivo de destino.

mode
FileMode

Um FileMode valor de enumeração que determina como abrir ou criar o arquivo.

parallelIOCount
Int32

O número máximo de intervalos que podem ser baixados simultaneamente.

rangeSizeInBytes
Nullable<Int64>

O tamanho de cada intervalo individual em bytes que está sendo dowloaded em paralelo. O tamanho do intervalo deve ser um múltiplo de 4 KB e um mínimo de 4 MB. Se nenhum valor for passado, um valor padrão de 16 MB será usado ou 4 MB se o MD5 transacional estiver habilitado.

cancellationToken
CancellationToken

Um CancellationToken a ser observado ao aguardar a conclusão da tarefa.

Retornos

Um objeto Task que representa a operação assíncrona.

Atributos

Exemplos


// 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);

Comentários

ParallelIOCount e rangeSizeInBytes devem ser ajustados dependendo da CPU, memória e largura de banda. Essa API só deve ser usada para downloads maiores, pois uma solicitação de HEAD é feita antes de baixar os dados. Para blobs menores, use DownloadToFileAsync(). Para obter o melhor desempenho, é recomendável experimentar vários valores e medir a taxa de transferência. Um lugar para começar seria definir parallelIOCount como o número de CPUs. Em seguida, ajuste rangeSizeInBytes para que parallelIOCount times rangeSizeInBytes seja igual à quantidade de memória que você deseja que o processo consuma.

Aplica-se a

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

Inicia uma operação assíncrona para baixar o conteúdo de um blob em um arquivo fazendo solicitações paralelas.

[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

Parâmetros

path
String

Uma cadeia de caracteres que contém o caminho para o arquivo de destino.

mode
FileMode

Um FileMode valor de enumeração que determina como abrir ou criar o arquivo.

parallelIOCount
Int32

O número máximo de intervalos que podem ser baixados simultaneamente

rangeSizeInBytes
Nullable<Int64>

O tamanho de cada intervalo individual em bytes que está sendo dowloaded em paralelo. O tamanho do intervalo deve ser um múltiplo de 4 KB e um mínimo de 4 MB. Se nenhum valor for passado, um valor padrão de 16 MB será usado ou 4 MB se o MD5 transacional estiver habilitado.

Retornos

Um objeto Task que representa a operação assíncrona.

Atributos

Comentários

ParallelIOCount e rangeSizeInBytes devem ser ajustados dependendo da CPU, memória e largura de banda. Essa API só deve ser usada para downloads maiores, pois uma solicitação de HEAD é feita antes de baixar os dados. Para blobs menores, use DownloadToFileAsync(). Para obter o melhor desempenho, é recomendável experimentar vários valores e medir a taxa de transferência. Um lugar para começar seria definir parallelIOCount como o número de CPUs. Em seguida, ajuste rangeSizeInBytes para que parallelIOCount times rangeSizeInBytes seja igual à quantidade de memória que você deseja que o processo consuma.

Aplica-se a