Freigeben über


CloudBlob.DownloadToFileParallelAsync Methode

Definition

Überlädt

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

Initiiert einen asynchronen Vorgang, um den Inhalt eines Blobs durch parallele Anforderungen in eine Datei herunterzuladen.

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

Initiiert einen asynchronen Vorgang, um den Inhalt eines Blobs durch parallele Anforderungen in eine Datei herunterzuladen.

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

Initiiert einen asynchronen Vorgang, um den Inhalt eines Blobs durch parallele Anforderungen in eine Datei herunterzuladen.

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

Initiiert einen asynchronen Vorgang, um den Inhalt eines Blobs durch parallele Anforderungen in eine Datei herunterzuladen.

[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

Parameter

path
String

Eine Zeichenfolge, die den Pfad zur Zieldatei enthält.

mode
FileMode

Ein FileMode Enumerationswert, der bestimmt, wie die Datei geöffnet oder erstellt wird.

parallelIOCount
Int32

Die maximale Anzahl von Bereichen, die gleichzeitig heruntergeladen werden können

rangeSizeInBytes
Nullable<Int64>

Die Größe jedes einzelnen Bereichs in Bytes, der parallel geladen wird. Die Bereichsgröße muss ein Vielfaches von 4 KB und mindestens 4 MB sein. Wenn kein Wert übergeben wird, wird ein Standardwert von 16 MB oder 4 MB übergeben, wenn transaktionale MD5 aktiviert ist.

offset
Int64

Der Offset des Blobs.

length
Nullable<Int64>

Die Anzahl der herunterzuladenden Bytes.

accessCondition
AccessCondition

Ein AccessCondition-Objekt, das die Bedingung darstellt, die erfüllt werden muss, damit die Anforderung fortgesetzt werden kann.

options
BlobRequestOptions

Ein BlobRequestOptions-Objekt, das zusätzliche Optionen für die Anforderung angibt.

operationContext
OperationContext

Ein OperationContext-Objekt, das den Kontext für den aktuellen Vorgang darstellt.

cancellationToken
CancellationToken

Ein CancellationToken, das beim Warten auf den Abschluss einer Aufgabe überwacht werden soll.

Gibt zurück

Ein Task-Objekt, das den asynchronen Vorgang darstellt.

Attribute

Hinweise

ParallelIOCount und rangeSizeInBytes sollten je nach CPU, Arbeitsspeicher und Bandbreite angepasst werden. Diese API sollte nur für größere Downloads verwendet werden, da eine HEAD Anforderung vor dem Herunterladen der Daten erfolgt. Verwenden Sie für kleinere Blobs DownloadToFileAsync(). Um die beste Leistung zu erzielen, wird empfohlen, mehrere Werte auszuprobieren und den Durchsatz zu messen. Ein Ausgangspunkt wäre das Festlegen von parallelIOCount auf die Anzahl der CPUs. Passen Sie dann rangeSizeInBytes so an, dass parallelIOCount mal rangeSizeInBytes der Arbeitsspeichermenge entspricht, die der Prozess verbrauchen soll.

Gilt für:

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

Initiiert einen asynchronen Vorgang, um den Inhalt eines Blobs durch parallele Anforderungen in eine Datei herunterzuladen.

[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

Parameter

path
String

Eine Zeichenfolge, die den Pfad zur Zieldatei enthält.

mode
FileMode

Ein FileMode Enumerationswert, der bestimmt, wie die Datei geöffnet oder erstellt wird.

parallelIOCount
Int32

Die maximale Anzahl von Bereichen, die gleichzeitig heruntergeladen werden können.

rangeSizeInBytes
Nullable<Int64>

Die Größe jedes einzelnen Bereichs in Bytes, der parallel geladen wird. Die Bereichsgröße muss ein Vielfaches von 4 KB und mindestens 4 MB sein. Wenn kein Wert übergeben wird, wird ein Standardwert von 16 MB oder 4 MB verwendet, wenn transaktionale MD5 aktiviert ist.

cancellationToken
CancellationToken

Ein CancellationToken, das beim Warten auf den Abschluss einer Aufgabe überwacht werden soll.

Gibt zurück

Ein Task-Objekt, das den asynchronen Vorgang darstellt.

Attribute

Beispiele


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

Hinweise

ParallelIOCount und rangeSizeInBytes sollten je nach CPU, Arbeitsspeicher und Bandbreite angepasst werden. Diese API sollte nur für größere Downloads verwendet werden, da eine HEAD Anforderung vor dem Herunterladen der Daten erfolgt. Verwenden Sie für kleinere Blobs DownloadToFileAsync(). Um die beste Leistung zu erzielen, wird empfohlen, mehrere Werte auszuprobieren und den Durchsatz zu messen. Ein Ausgangspunkt wäre das Festlegen von parallelIOCount auf die Anzahl der CPUs. Passen Sie dann rangeSizeInBytes so an, dass parallelIOCount mal rangeSizeInBytes der Arbeitsspeichermenge entspricht, die der Prozess verbrauchen soll.

Gilt für:

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

Initiiert einen asynchronen Vorgang, um den Inhalt eines Blobs durch parallele Anforderungen in eine Datei herunterzuladen.

[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

Parameter

path
String

Eine Zeichenfolge, die den Pfad zur Zieldatei enthält.

mode
FileMode

Ein FileMode Enumerationswert, der bestimmt, wie die Datei geöffnet oder erstellt wird.

parallelIOCount
Int32

Die maximale Anzahl von Bereichen, die gleichzeitig heruntergeladen werden können

rangeSizeInBytes
Nullable<Int64>

Die Größe jedes einzelnen Bereichs in Bytes, der parallel geladen wird. Die Bereichsgröße muss ein Vielfaches von 4 KB und mindestens 4 MB sein. Wenn kein Wert übergeben wird, wird ein Standardwert von 16 MB oder 4 MB verwendet, wenn transaktionale MD5 aktiviert ist.

Gibt zurück

Ein Task-Objekt, das den asynchronen Vorgang darstellt.

Attribute

Hinweise

ParallelIOCount und rangeSizeInBytes sollten je nach CPU, Arbeitsspeicher und Bandbreite angepasst werden. Diese API sollte nur für größere Downloads verwendet werden, da eine HEAD Anforderung vor dem Herunterladen der Daten erfolgt. Verwenden Sie für kleinere Blobs DownloadToFileAsync(). Um die beste Leistung zu erzielen, wird empfohlen, mehrere Werte auszuprobieren und den Durchsatz zu messen. Ein Ausgangspunkt wäre das Festlegen von parallelIOCount auf die Anzahl der CPUs. Passen Sie dann rangeSizeInBytes so an, dass parallelIOCount mal rangeSizeInBytes der Arbeitsspeichermenge entspricht, die der Prozess verbrauchen soll.

Gilt für: