(0) exportieren Drucken
Alle erweitern

Angeben des Bereichsheaders für Blob-Dienstvorgänge

Letzte Aktualisierung: November 2013

Einige GET-Vorgänge für Blob-Dienste unterstützen die Verwendung des HTTP-Range-Standardheaders. Viele HTTP-Clients, einschließlich der .NET-Clientbibliothek, beschränken die Größe des Range-Headers auf eine 32-Bit-Ganzzahl. Daher ist der Wert auf maximal 4 GB beschränkt. Da sowohl Block-BLOBs als auch Seiten-BLOBs größer als 4 GB sein können, akzeptiert der Blob-Dienst einen benutzerdefinierten Bereichsheader x-ms-range für jeden Vorgang, bei dem ein HTTP-Range-Header verwendet wird.

Einige HTTP-Clients, einschließlich der Microsoft Silverlight-Bibliothek, beschränken den Zugriff auf den Range-Header vollständig. Der x-ms-range-Header kann auch verwendet werden, um diese Einschränkungen zu umgehen.

Wenn der x-ms-range-Header für eine Anforderung angegeben ist, verwendet der Dienst den von x-ms-range angegebenen Bereich. Andernfalls wird der vom Range-Header angegebene Bereich verwendet.

noteHinweis
Die Azure-Speicherclientbibliothek übernimmt automatisch das Festlegen des entsprechenden Bereichsheaders für die Anforderung, wenn Sie die Range-Eigenschaft des PutPageProperties-Objekts festlegen.

Der Blob-Dienst akzeptiert zwei Bytebereiche für den Range-Header und den x-ms-range-Header. Der Bytebereich muss einem der folgenden Formate für die Header entsprechen:

  • bytes=startByte- für Anforderungen mit Version 2011-08-18 oder neuer

  • bytes=startByte-endByte für Anforderungen mit allen Versionen (2009-04-14 bis zur aktuellen Version)

Das erste Format, bytes=startByte-, ist nur für Anforderungen mit Version 2011-08-18 oder neuer oder für den Speicheremulatordienst in SDK 1.6 oder höher verfügbar. Dieser Bereich gibt Bytes vom startByte-Offset bis zum Ende des BLOB zurück. Um beispielsweise einen Bereich anzugeben, der alle Bytes nach den ersten 256 Bytes eines BLOB umfasst, können Sie einen der folgenden Header übergeben:

  • Range: bytes=255-

  • x-ms-range: bytes=255-

Der Content-Length-Header in der Antwort entspricht der Anzahl der Bytes vom Offset bis zum Ende des BLOB. Bei Verwendung des oben gezeigten Beispielbereichs für ein BLOB mit einer Länge von 1024 Bytes hätte Content-Length den Wert 756.

Wenn der Offset gültig ist und die Gesamtlänge des BLOBs nicht überschreitet, gibt die Anforderung den Statuscode 206 (Teilinhalt) zurück. Wenn der Offset ungültig ist und die Gesamtlänge des BLOBs überschreitet, gibt die Anforderung den Statuscode 416 (Angeforderter Bereich kann nicht erfüllt werden) zurück.

Das zweite Format, bytes=startByte-endByte, ist für Anforderungen mit allen Versionen (2009-04-14 bis zur aktuellen Version) und für alle Versionen des Speicheremulatordiensts verfügbar. Dieser Bereich gibt Bytes vom startByte-Offset bis endByte zurück. Um beispielsweise einen Bereich anzugeben, der die ersten 512 Bytes eines BLOB umfasst, übergeben Sie einen der folgenden Header:

  • Range: bytes=0-511

  • x-ms-range: bytes=0-511

Der Content-Length-Header in der Antwort entspricht der Anzahl von Bytes zwischen den einzelnen Offsets. Bei Verwendung des oben gezeigten Beispielbereichs für ein BLOB mit einer Länge von 1024 Bytes hätte Content-Length den Wert 512.

Wenn der Offset gültig ist und die Gesamtlänge des BLOBs nicht überschreitet, gibt die Anforderung den Statuscode 206 (Teilinhalt) zurück. Wenn der Offset ungültig ist und die Gesamtlänge des BLOBs überschreitet, gibt die Anforderung den Statuscode 416 (Angeforderter Bereich kann nicht erfüllt werden) zurück.

Siehe auch

Microsoft führt eine Onlineumfrage durch, um Ihre Meinung zur MSDN-Website zu erfahren. Wenn Sie sich zur Teilnahme entscheiden, wird Ihnen die Onlineumfrage angezeigt, sobald Sie die MSDN-Website verlassen.

Möchten Sie an der Umfrage teilnehmen?
Anzeigen:
© 2014 Microsoft