VERTRIEB: 1-800-867-1380

Get Blob

Letzte Aktualisierung: Juni 2014

Der Get Blob-Vorgang liest oder lädt ein BLOB vom System herunter, einschließlich der zugehörigen Metadaten und Eigenschaften. Sie können auch Get Blob aufrufen, um eine Momentaufnahme zu lesen.

Die Get Blob-Anforderung kann wie folgt erstellt werden. HTTPS wird empfohlen. Ersetzen Sie myaccount durch den Namen Ihres Speicherkontos:

 

  Anforderungs-URI für GET-Methode HTTP-Version

https://myaccount.blob.core.windows.net/mycontainer/myblob

https://myaccount.blob.core.windows.net/mycontainer/myblob?snapshot=<DateTime>

HTTP/1,0

HTTP/1.1

Wenn Sie eine Anforderung für den emulierten Speicherdienst ausführen, geben Sie den Emulatorhostnamen und den Port des Blob-Diensts mit 127.0.0.1:10000 an, gefolgt vom Namen des emulierten Speicherkontos:

 

  Anforderungs-URI für GET-Methode HTTP-Version

http://127.0.0.1:10000/devstoreaccount1/mycontainer/myblob

HTTP/1,0

HTTP/1.1

Weitere Informationen finden Sie unter Einsatz des Azure-Speicheremulators für Entwicklung und Tests.

Im Anforderungs-URI können die folgenden zusätzlichen Parameter angegeben werden.

 

Parameter Beschreibung

snapshot

Optional. Der Momentaufnahmeparameter ist ein nicht transparenter DateTime-Wert, der ggf. die abzurufende BLOB-Momentaufnahme angibt. Weitere Informationen zum Arbeiten mit BLOB-Momentaufnahmen finden Sie unter Erstellen einer Momentaufnahme eines BLOB.

timeout

Optional. Der timeout-Parameter wird in Sekunden angegeben. Weitere Informationen finden Sie unter Festlegen von Timeouts für Blob-Dienstvorgänge.

In der folgenden Tabelle werden erforderliche und optionale Anforderungsheader beschrieben.

 

Anforderungsheader Beschreibung

Authorization

Erforderlich. Gibt das Authentifizierungsschema, den Kontonamen und die Signatur an. Weitere Informationen finden Sie unter Authentifizierung für die Azure-Speicherdienste.

Date oder x-ms-date

Erforderlich. Gibt die Uhrzeit der Anforderung in koordinierter Weltzeit (UTC) an. Weitere Informationen finden Sie unter Authentifizierung für die Azure-Speicherdienste.

x-ms-version

Für alle authentifizierten Anforderungen erforderlich, für anonyme Anforderungen optional. Gibt die Version des für die Anforderung zu verwendenden Vorgangs an. Weitere Informationen finden Sie unter Versionsverwaltung für die Azure-Speicherdienste.

Range

Optional. Gibt nur die Bytes des BLOB im angegebenen Bereich zurück.

x-ms-range

Optional. Gibt nur die Bytes des BLOB im angegebenen Bereich zurück. Wenn Range und x-ms-range angegeben werden, verwendet der Dienst den Wert x-ms-range. Wenn keine Angabe gemacht wird, wird der gesamte BLOB-Inhalt zurückgegeben. Weitere Informationen finden Sie unter Angeben des Bereichsheaders für Blob-Dienstvorgänge.

x-ms-lease-id:<ID>

Optional. Bei Angabe dieses Headers wird der Vorgang nur ausgeführt, wenn die beiden folgenden Bedingungen erfüllt sind:

  • Die Lease des BLOB ist derzeit aktiv.

  • Die in der Anforderung angegebene Lease-ID stimmt mit der Lease-ID des BLOB überein.

Wenn der Header angegeben ist und beide Bedingungen nicht erfüllt sind, schlägt die Anforderung fehl, und der Get Blob-Vorgang schlägt mit dem Statuscode 412 (Vorbedingung nicht erfüllt) fehl.

x-ms-range-get-content-md5: true

Optional. Wenn der Header auf true festgelegt ist und zusammen mit dem Range-Header angegeben wird, gibt der Dienst den MD5-Hash für den Bereich zurück, sofern die Größe des Bereichs kleiner als oder gleich 4 MB ist.

Wenn der Header ohne den Range-Header angegeben wird, gibt der Dienst Statuscode 400 zurück (Ungültige Anforderung).

Wenn der Header auf true festgelegt ist und die Größe des Bereichs 4 MB überschreitet, gibt der Dienst Statuscode 400 zurück (Ungültige Anforderung).

Origin

Optional. Gibt die Ursprungsdomäne an, von der die Anforderung ausgegeben wird. Wenn dieser Header vorhanden ist, werden CORS (Cross-Origin Resource Sharing)-Header für die Antwort erzeugt.

x-ms-client-request-id

Optional. Stellt einen vom Client generierten, nicht transparenten Wert mit einer Zeichenbeschränkung von 1 KB bereit, der in den Analyseprotokollen erfasst wird, wenn die Protokollierung der Speicheranalyse aktiviert ist. Die Verwendung dieses Headers wird dringend empfohlen, um clientseitige Aktivitäten mit den vom Server empfangenen Anforderungen zu korrelieren. Weitere Informationen finden Sie unter Informationen zur Protokollierung durch die Speicheranalyse und Windows Azure-Protokollierung: Verwenden von Protokollen zur Nachverfolgung von Speicheranforderungen.

Dieser Vorgang unterstützt zudem die Verwendung von bedingten Headern zum Lesen des BLOB. Hierfür muss jedoch eine angegebene Bedingung erfüllt sein. Weitere Informationen finden Sie unter Angeben von bedingten Headern für Vorgänge des Blob-Diensts.

Die Antwort enthält einen HTTP-Statuscode, eine Gruppe von Antwortheadern und den Antworttext, der den Inhalt des BLOB enthält.

Wenn der BLOB vollständig gelesen wird, wird der Statuscode 200 (OK) zurückgegeben.

Wenn ein bestimmter Bereich erfolgreich gelesen wird, wird der Statuscode 206 (Teilweiser Inhalt) zurückgegeben.

Weitere Informationen zu Statuscodes finden Sie unter Status- und Fehlercodes.

Die Antwort für diesen Vorgang umfasst die folgenden Header. Die Antwort kann außerdem weitere HTTP-Standardheader enthalten. Alle Standardheader entsprechen der HTTP/1.1-Protokollspezifikation.

 

Syntax Beschreibung

Last-Modified

Datum/Uhrzeit der letzten Änderung des BLOB. Das Datumsformat entspricht RFC 1123.

Durch jeden Vorgang, der das BLOB ändert, einschließlich eines Updates der Metadaten oder Eigenschaften des BLOB, wird die Uhrzeit der letzten Änderung aktualisiert.

x-ms-meta-name:value

Ein Satz von Name-Wert-Paaren, die diesem BLOB als benutzerdefinierte Metadaten zugeordnet sind.

Content-Length

Die Anzahl der im Antworttext vorhandenen Bytes.

Content-Type

Der für das BLOB angegebene Inhaltstyp. Der Standardinhaltstyp ist application/octet-stream.

Content-Range

Gibt den Bytebereich an, der zurückgegeben wird, wenn der Client durch Festlegen des Range-Anforderungsheaders eine Teilmenge des BLOB angefordert hat.

ETag

Das ETag enthält einen Wert, den Sie verwenden können, um Vorgänge bedingt auszuführen. Weitere Informationen finden Sie unter Angeben von bedingten Headern für Vorgänge des Blob-Diensts. Wenn die Anforderungsversion 2011-08-18 oder höher ist, wird der ETag-Wert in Anführungszeichen eingeschlossen.

Content-MD5

Wenn das BLOB über einen MD5-Hash verfügt und bei dem Get Blob-Vorgang das vollständige BLOB gelesen werden soll, wird dieser Antwortheader zurückgegeben, sodass der Client die Integrität des Nachrichteninhalts überprüfen kann.

Ab Version 2012-02-12 legt Put Blob den MD5-Hashwert eines Block-BLOB fest, auch wenn die Put Blob-Anforderung keinen MD5-Header enthält.

Wenn das Lesen eines bestimmten Bereichs angefordert wird und x-ms-range-get-content-md5 auf true festgelegt ist, gibt die Anforderung einen MD5-Hash für den Bereich zurück, sofern die Bereichsgröße kleiner als oder gleich 4 MB ist.

Wenn keine dieser Bedingungen true ist, wird kein Wert für den Content-MD5-Header zurückgegeben.

Wenn x-ms-range-get-content-md5 ohne den Range-Header angegeben wird, gibt der Dienst Statuscode 400 (Ungültige Anforderung) zurück.

Wenn x-ms-range-get-content-md5 auf true festgelegt ist und die Größe des Bereichs 4 MB überschreitet, gibt der Dienst Statuscode 400 (Ungültige Anforderung) zurück.

Content-Encoding

Dieser Header gibt den Wert zurück, der für den Content-Encoding-Anforderungsheader angegeben wurde.

Content-Language

Dieser Header gibt den Wert zurück, der für den Content-Language-Anforderungsheader angegeben wurde.

Cache-Control

Dieser Header wird zurückgegeben, wenn er zuvor für das BLOB angegeben wurde.

Content-Disposition

Wird für Anforderungen an die Version 2013-08-15 und höher zurückgegeben. Dieser Header gibt den Wert zurück, der für den x-ms-blob-content-disposition-Header angegeben wurde.

Das Feld mit dem Content-Disposition-Antwortheader enthält zusätzliche Informationen darüber, wie die Antwortnutzlast verarbeitet werden soll und kann auch verwendet werden, um zusätzliche Metadaten anzufügen. Wenn der Parameter auf attachment festgelegt ist, bedeutet dies, dass der Benutzer-Agent nicht die Antwort, sondern stattdessen das Dialogfeld Speichern unter mit einem anderen Dateinamen als dem angegebenen BLOB-Namen anzeigen soll.

x-ms-blob-sequence-number

Die aktuelle Sequenznummer für ein Seitenblob.

Dieser Header wird nicht für Block-BLOBs zurückgegeben.

x-ms-blob-type: <BlockBlob,PageBlob>

Gibt den Typ des BLOB zurück.

x-ms-copy-completion-time:<datetime>

Version 2012-02-12 und höher. Die Abschlusszeit des letzten versuchten Copy Blob-Vorgangs, bei dem dieses BLOB das Ziel-BLOB war. Dieser Wert kann die Zeit eines abgeschlossenen, abgebrochenen oder fehlgeschlagenen Kopierversuchs angeben. Dieser Header ist nicht vorhanden, wenn eine Kopie aussteht, wenn das BLOB nie das Ziel in einem Copy Blob-Vorgang war oder wenn dieses BLOB nach einem abgeschlossenen Copy Blob-Vorgang mit Set Blob Properties, Put Blob oder Put Block List geändert wurde.

x-ms-copy-status-description: <error string>

Version 2012-02-12 und höher. Wird nur angezeigt, wenn x-ms-copy-statusfailed oder pending ist. Beschreibt die Ursache des letzten schwerwiegenden oder nicht schwerwiegenden Fehlers eines Kopiervorgangs. Dieser Header ist nicht vorhanden, wenn das BLOB nie das Ziel in einem Copy Blob-Vorgang war oder wenn dieses BLOB nach einem abgeschlossenen Copy Blob-Vorgang mit Set Blob Properties, Put Blob oder Put Block List geändert wurde.

x-ms-copy-id: <id>

Version 2012-02-12 und höher. Ein Zeichenfolgenbezeichner für den letzten versuchten Copy Blob-Vorgang, bei dem dieses BLOB das Ziel-BLOB war. Dieser Header ist nicht vorhanden, wenn das BLOB nie das Ziel in einem Copy Blob-Vorgang war oder wenn dieses BLOB nach einem abgeschlossenen Copy Blob-Vorgang mit Set Blob Properties, Put Blob oder Put Block List geändert wurde.

x-ms-copy-progress: <bytes copied/bytes total>

Version 2012-02-12 und höher. Enthält die Anzahl der kopierten Bytes und die Gesamtzahl der Bytes in der Quelle im letzten versuchten Copy Blob-Vorgang, bei dem dieses BLOB das Ziel-BLOB war. Kann zwischen 0 und Content-Length kopierte Bytes angeben. Dieser Header ist nicht vorhanden, wenn das BLOB nie das Ziel in einem Copy Blob-Vorgang war oder wenn dieses BLOB nach einem abgeschlossenen Copy Blob-Vorgang mit Set Blob Properties, Put Blob oder Put Block List geändert wurde.

x-ms-copy-source: url

Version 2012-02-12 und höher. Eine URL mit einer Länge von bis zu 2 KB, die das Quell-BLOB oder die Quelldatei angibt, das bzw. die im letzten versuchten Copy Blob-Vorgang verwendet wurde, bei dem dieses BLOB das Ziel-BLOB war. Dieser Header ist nicht vorhanden, wenn das BLOB nie das Ziel in einem Copy Blob-Vorgang war oder wenn dieses BLOB nach einem abgeschlossenen Copy Blob-Vorgang mit Set Blob Properties, Put Blob oder Put Block List geändert wurde.

x-ms-copy-status: <pending | success | aborted | failed>

Version 2012-02-12 und höher. Der Status des durch x-ms-copy-id identifizierten Kopiervorgangs, mit den folgenden Werten:

  • success: Der Kopiervorgang wurde erfolgreich abgeschlossen.

  • pending: Der Kopiervorgang wird gerade ausgeführt. Überprüfen Sie x-ms-copy-status-description, wenn zeitweilige, nicht schwerwiegende Fehler den Kopiervorgang verlangsamen, jedoch keinen Fehler verursachen.

  • aborted: Der Kopiervorgang wurde durch Abort Blob Copy beendet.

  • failed: Der Kopiervorgang ist fehlgeschlagen. Fehlerdetails finden Sie in x-ms-copy-status-description.

Dieser Header ist nicht vorhanden, wenn das BLOB nie das Ziel in einem Copy Blob-Vorgang war oder wenn dieses BLOB nach einem abgeschlossenen Copy Blob-Vorgang mit Set Blob Properties, Put Blob oder Put Block List geändert wurde.

x-ms-lease-duration: <infinite | fixed>

Version 2012-02-12 und höher. Gibt für ein geleastes BLOB an, ob die Lease von unbegrenzter oder fester Dauer ist.

x-ms-lease-state: <available | leased | expired | breaking | broken>

Version 2012-02-12 und höher. Der Leasestatus des BLOB.

x-ms-lease-status:<locked, unlocked>

Der aktuelle Leasestatus des BLOB.

x-ms-request-id

Dieser Header identifiziert die erfolgte Anforderung eindeutig und kann für die Problembehandlung der Anforderung verwendet werden. Weitere Informationen finden Sie unter Problembehandlung für API-Vorgänge.

x-ms-version

Gibt die Version des Blob-Diensts an, der zum Ausführen der Abfrage verwendet wird. Ist in Anforderungen enthalten, die mit Version 2009-09-19 oder höher erfolgen.

Dieser Header wird auch für die anonymen Anforderungen ohne Versionsangabe zurückgegeben, wenn der Container für öffentlichen Zugriff mit Version 2009-09-19 des Blob-Diensts markiert wurde.

Accept-Ranges: bytes

Gibt an, dass der Dienst Anforderungen für teilweisen BLOB-Inhalt unterstützt. Eingeschlossen für Anforderungen, die mit Version 2011-08-18 oder höher ausgeführt werden, sowie für den lokalen Speicherdienst in SDK-Version 1.6 oder höher.

Date

Ein vom Dienst generierter Datums-/Uhrzeitwert in UTC, der angibt, wann die Antwort initiiert wurde.

Access-Control-Allow-Origin

Wird zurückgegeben, wenn die Anforderung einen Origin-Header enthält und CORS mit einer Abgleichsregel aktiviert ist. Dieser Header gibt den Wert des Origin-Anforderungsheaders im Falle einer Übereinstimmung zurück.

Access-Control-Expose-Headers

Wird zurückgegeben, wenn die Anforderung einen Origin-Header enthält und CORS mit einer Abgleichsregel aktiviert ist. Gibt die Liste der Antwortheader zurück, die gegenüber dem Client oder Aussteller der Anforderung verfügbar gemacht werden sollen.

Vary

Wird mit dem Wert des Origin-Headers zurückgegeben, wenn CORS-Regeln angegeben werden. Ausführliche Informationen finden Sie unter CORS (Cross-Origin Resource Sharing)-Unterstützung für Azure-Speicherdienste.

Access-Control-Allow-Credentials

Wird zurückgegeben, wenn die Anforderung einen Origin-Header enthält und CORS mit einer Abgleichsregel aktiviert ist, die nicht alle Ursprungsdomänen zulässt. Dieser Header wird auf TRUE festgelegt.

Der Antworttext enthält den Inhalt des BLOB.

Status Response:
HTTP/1.1 200 OK

Response Headers:
x-ms-blob-type: BlockBlob
x-ms-lease-status: unlocked
x-ms-lease-state: available
x-ms-meta-m1: v1
x-ms-meta-m2: v2
Content-Length: 11
Content-Type: text/plain; charset=UTF-8
Date: Wed, 23 Oct 2013 22:49:18 GMT
ETag: "0x8CB171DBEAD6A6B"
Vary: Origin
Last-Modified: Wed, 23 Oct 2013 22:48:29 GMT
x-ms-version: 2013-08-15
Server: Windows-Azure-Blob/1.0 Microsoft-HTTPAPI/2.0

Wenn die Zugriffssteuerungsliste des Containers anonymen Zugriff auf das BLOB zulässt, kann dieser Vorgang von jedem Client aufgerufen werden. Wenn der Container privat ist, kann dieser Vorgang vom Kontobesitzer und von jedem Benutzer mit einer SAS (Shared Access Signature) ausgeführt werden, der über die Berechtigung zum Lesen des BLOB verfügt.

Für ein Seitenblob werden von einem Get Blob-Vorgang über einen Bereich von Seiten, die noch keinen Inhalt aufweisen oder gelöscht wurden, Nullen für diese Bytes zurückgegeben.

Wenn Sie Get Blob für ein Seitenblob ohne Angabe eines Bereichs aufrufen, gibt der Dienst den Seitenbereich bis zum Wert zurück, der für den x-ms-blob-content-length-Header angegeben ist. Für alle Seiten ohne Inhalt gibt der Dienst Nullen für die betreffenden Bytes zurück.

Für einen Get Blob-Vorgang ist eine Dauer von 2 Minuten pro MB bis zum Abschluss zulässig. Wenn der Vorgang länger als durchschnittlich 2 Minuten pro MB dauert, tritt ein Timeout des Vorgangs auf.

Der x-ms-version-Header ist erforderlich, um ein BLOB abzurufen, das zu einem privaten Container gehört. Wenn das BLOB zu einem Container gehört, der für vollständigen oder teilweisen öffentlichen Zugriff verfügbar ist, kann er von jedem Client ohne Angabe einer Version gelesen werden; die Dienstversion ist zum Abrufen eines BLOB, das zu einem öffentlichen Container gehört, nicht erforderlich. Weitere Informationen finden Sie unter Beschränken des Zugriffs auf Container und BLOBs.

Kopiervorgänge

Um zu bestimmen, ob ein Copy Blob-Vorgang abgeschlossen wurde, überprüfen Sie zuerst, ob der x-ms-copy-id-Headerwert des Ziel-BLOB mit der Kopie-ID übereinstimmt, die durch den ursprünglichen Aufruf von Copy Blob angegeben wurde. Eine Übereinstimmung stellt sicher, dass keine andere Anwendung den Kopiervorgang abgebrochen und einen neuen Copy Blob-Vorgang gestartet hat. Überprüfen Sie dann, ob der x-ms-copy-status: success-Header vorhanden ist. Beachten Sie jedoch, dass alle Schreibvorgänge für ein BLOB, mit Ausnahme der Vorgänge Lease, Put Page und Put Block, alle x-ms-copy-*-Eigenschaften aus dem BLOB entfernen. Diese Eigenschaften werden außerdem nicht durch Copy Blob-Vorgänge kopiert, die in früheren Versionen als 2012-02-12 erfolgen.

Wenn x-ms-copy-status: failed in der Antwort angezeigt wird, enthält x-ms-copy-status-description weitere Informationen zum Copy Blob-Fehler.

In der folgenden Tabelle werden die drei Felder jedes x-ms-copy-status-description-Werts beschrieben.

 

Komponente Beschreibung

HTTP-Statuscode

Eine standardmäßige dreistellige Zahl, die den Fehler angibt.

Fehlercode

Ein Schlüsselwort, das den von Azure im <ErrorCode>-Element bereitgestellten Fehler beschreibt. Wenn kein <ErrorCode>-Element vorhanden ist, wird ein Schlüsselwort verwendet, das den Standardfehlertext enthält, der dem dreistelligen HTTP-Statuscode in der HTTP-Spezifikation zugeordnet ist. Siehe Allgemeine REST-API-Fehlercodes.

Informationen

Eine ausführliche Fehlerbeschreibung in Anführungszeichen.

In der folgenden Tabelle werden der x-ms-copy-status-Wert und der x-ms-copy-status-description-Wert von häufigen Fehlerszenarien beschrieben.

ImportantWichtig
Der hier dargestellte Beschreibungstext kann ohne entsprechenden Hinweis geändert werden, auch wenn keine Versionsänderung erfolgt. Verlassen Sie sich daher nicht auf die genaue Übereinstimmung dieses Texts.

 

Szenario x-ms-copy-status-Wert x-ms-copy-status-description-Wert

Der Kopiervorgang wurde erfolgreich abgeschlossen.

success

empty

Der Kopiervorgang wurde vom Benutzer abgebrochen.

aborted

empty

Beim Lesen aus dem Quell-BLOB während eines Kopiervorgangs ist ein Fehler aufgetreten, der Vorgang wird jedoch wiederholt.

pending

502 BadGateway "Wiederholbarer Fehler beim Lesen der Quelle. Es wird versucht, den Vorgang zu wiederholen. Zeitpunkt des Fehlers: <Zeit>"

Beim Schreiben in das Ziel-BLOB eines Kopiervorgangs ist ein Fehler aufgetreten, der Vorgang wird jedoch wiederholt.

pending

500 InternalServerError "Wiederholbarer Fehler. Es wird versucht, den Vorgang zu wiederholen. Zeitpunkt des Fehlers: <Zeit>"

Beim Lesen aus dem Quell-BLOB eines Kopiervorgangs ist ein nicht behebbarer Fehler aufgetreten.

Gescheitert

404 ResourceNotFound "Fehler beim Kopieren während des Lesens der Quelle."

noteHinweis
Wenn dieser zugrunde liegende Fehler gemeldet wird, gibt Azure im ResourceNotFoundErrorCode<-Element > zurück. Wenn die Antwort kein <ErrorCode>-Element enthält, wird eine Standardzeichenfolgendarstellung des HTTP-Status, z. B. NotFound, angezeigt.

Das Timeout, das alle Kopiervorgänge einschränkt, ist abgelaufen. (Derzeit beträgt das Timeout 2 Wochen.)

Gescheitert

500 OperationCancelled "Die maximal zulässige Zeit für den Kopiervorgang wurde überschritten."

Der Kopiervorgang ist beim Lesen aus der Quelle zu häufig fehlgeschlagen, und ein minimales Verhältnis von fehlgeschlagenen zu erfolgreichen Versuchen wurde nicht erreicht. (Dieses Timeout verhindert 2 Wochen lang erneute Versuche des Vorgangs für eine fehlerhafte Quelle, bevor der Vorgang fehlschlägt.)

Gescheitert

500 OperationCancelled "Fehler beim Kopieren während des Lesens der Quelle."

Fanden Sie dies hilfreich?
(1500 verbleibende Zeichen)
Vielen Dank für Ihr Feedback.
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