VERTRIEB: 1-800-867-1380

Festlegen von Timeouts für Blob-Dienstvorgänge

Letzte Aktualisierung: Oktober 2011

Jeder Aufruf einer Blob-Dienst-API kann ein Timeoutintervall enthalten. Dieses wird auf zwei unterschiedliche Arten verwendet.

  • Der Blob-Dienst gibt einen Fehler zurück, wenn das Timeoutintervall beim Verarbeiten der Anforderung abläuft.

  • Wenn Sie einen Speicherclient verwenden und dieser innerhalb des Timeoutintervalls keine Antwort mit HTTP-Statuscode vom Dienst empfängt, löst er eine Ausnahme aus. Das Timeout gilt nur für den Empfang des Statuscodes und nicht für den Empfang des Nachrichtentexts oder den Abschluss der Datenübertragung an den Client.

Das Standardtimeoutintervall für REST-Aufrufe des Blob-Diensts beträgt 30 Sekunden. Auch das maximale Timeoutintervall für Blob-Dienstvorgänge beträgt 30 Sekunden. Einige Ausnahmen sind weiter unten aufgeführt. Der Blob-Dienst verringert längere Timeouts auf 30 Sekunden. Standardmäßig geben Speicherclients für die meisten Aufrufe des Blob-Diensts ein Timeout von 90 Sekunden an. Der Blob-Dienst gibt einen Fehler zurück, wenn er nicht innerhalb von 30 Sekunden eine ordnungsgemäße Antwort erstellen kann, und der Speicherclient wartet 90 Sekunden auf den Empfang einer Antwort, bevor er eine Ausnahme auslöst.

Das Timeoutintervall kann für eine einzelne BLOB-Anforderung mit Microsoft.WindowsAzure.StorageClient.BlobRequestOptions.Timeout festgelegt werden, und das standardmäßige Timeoutintervall für alle BLOB-Speicherclients kann mithilfe von Microsoft.WindowsAzure.StorageClient.CloudBlobClient.Timeout festgelegt werden.

Im folgenden Beispiel legt der REST-URI das Timeoutintervall für den List Containers-Vorgang auf 20 Sekunden fest:

GET https://myaccount.blob.core.windows.net?comp=list&timeout=20

Im folgenden C#-Beispiel wird das Timeout für den Speicherclient auf 5 Minuten für einen einzelnen BLOB-Download festgelegt:

BlobRequestOptions largeBlobDownloadOptions = new BlobRequestOptions()
{
  Timeout = TimeSpan.FromMinutes(5) // Larger timeout for larger file
};
blob.DownloadToFile(largeBlobDownloadOptions);

Die folgenden Vorgänge implementieren Ausnahmen, die vom Standardtimeoutintervall von 30 Sekunden abweichen:

  • Aufrufen zum Abrufen eines BLOB, von Seitenbereichen oder einer Sperrliste werden zur Durchführung 2 Minuten pro MB gewährt. Wenn ein Vorgang durchschnittlich länger als 2 Minuten pro MB dauert, tritt ein Timeout ein.

  • Aufrufen zum Schreiben eines BLOB, eines Blocks oder einer Seite werden zur Durchführung 10 Minuten pro MB gewährt. Wenn ein Vorgang durchschnittlich länger als 10 Minuten pro MB dauert, tritt ein Timeout ein.

  • Der maximale Timeoutwert zum Schreiben einer Sperrliste beträgt 60 Sekunden.

  • Ein Container, der vor Kurzem gelöscht wurde, kann erst dann neu erstellt werden, wenn alle zugehörigen BLOBs gelöscht wurden. Abhängig davon, wie viele Daten im Container gespeichert wurden, kann das vollständige Löschen Sekunden oder Minuten dauern. Wenn Sie versuchen, während dieser Bereinigung einen Container mit demselben Namen zu erstellen, gibt der Aufruf sofort einen Fehler zurück.

Siehe auch

Fanden Sie dies hilfreich?
(1500 verbleibende Zeichen)
Vielen Dank für Ihr Feedback.
Anzeigen:
© 2014 Microsoft