(0) exportieren Drucken
Alle erweitern

Momentaufnahme-BLOB

Veröffentlicht: August 2011

Letzte Aktualisierung: Januar 2014

Der Snapshot Blob-Vorgang erstellt eine schreibgeschützte Momentaufnahme eines BLOB.

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

 

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

https://myaccount.blob.core.windows.net/mycontainer/myblob?comp=snapshot

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 Kontos:

 

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

http://127.0.0.1:10000/devstoreaccount1/mycontainer/myblob?comp=snapshot

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

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

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

x-ms-meta-name:value

Optional. Gibt ein benutzerdefiniertes Name-Wert-Paar an, das dem BLOB zugeordnet ist. Wenn keine Name-Wert-Paare angegeben sind, werden vom Vorgang die Metadaten des zugrunde liegenden BLOB in die Momentaufnahme kopiert. Wenn ein oder mehrere Name-Wert-Paare angegeben sind, wird die Momentaufnahme mit den angegebenen Metadaten erstellt, und die Metadaten werden nicht aus dem zugrunde liegenden BLOB kopiert.

Beachten Sie, dass ab Version 2009-09-19 Metadatennamen den Benennungsregeln für C#-Bezeichner entsprechen müssen. Weitere Informationen finden Sie unter Benennen von Containern, BLOBs und Metadaten und Verweisen auf diese.

If-Modified-Since

Optional. Ein DateTime-Wert. Geben Sie diesen bedingten Header an, um nur dann eine Momentaufnahme des BLOB zu erstellen, wenn das BLOB seit dem angegebenen Datum bzw. der angegebenen Uhrzeit geändert wurde. Wenn das zugrunde liegende BLOB nicht geändert wurde, gibt der Blob-Dienst den Statuscode 412 (Vorbedingung nicht erfüllt) zurück.

If-Unmodified-Since

Optional. Ein DateTime-Wert. Geben Sie diesen bedingten Header an, um nur dann eine Momentaufnahme des BLOB zu erstellen, wenn das BLOB seit dem angegebenen Datum bzw. der angegebenen Uhrzeit nicht geändert wurde. Wenn das zugrunde liegende BLOB geändert wurde, gibt der Blob-Dienst den Statuscode 412 (Vorbedingung nicht erfüllt) zurück.

If-Match

Optional. Ein ETag-Wert. Geben Sie einen ETag-Wert für diesen bedingten Header an, um nur dann eine Momentaufnahme des BLOB zu erstellen, wenn der ETag-Wert dem angegebenen Wert entspricht. Bei nicht übereinstimmenden Werten gibt der Blob-Dienst den Statuscode 412 (Vorbedingung nicht erfüllt) zurück.

If-None-Match

Optional. Ein ETag-Wert.

Geben Sie einen ETag-Wert für diesen bedingten Header an, um nur dann eine Momentaufnahme des BLOB zu erstellen, wenn der ETag-Wert dem angegebenen Wert nicht entspricht. Bei übereinstimmenden Werten gibt der Blob-Dienst den Statuscode 412 (Vorbedingung nicht erfüllt) zurück.

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 Snapshot Blob-Vorgang schlägt mit dem Statuscode 412 (Vorbedingung nicht erfüllt) fehl.

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 Ausführen des Vorgangs, wobei eine bestimmte Bedingung erfüllt sein muss. Weitere Informationen finden Sie unter Angeben von bedingten Headern für Vorgänge des Blob-Diensts.

Die Antwort enthält den HTTP-Statuscode und einen Satz von Antwortheadern.

Bei einem erfolgreichen Vorgang wird der Statuscode 201 (Erstellt) 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

x-ms-snapshot: <DateTime>

Dieser Header gibt einen DateTime-Wert zurück, der die Momentaufnahme eindeutig identifiziert. Der Wert dieses Headers gibt die Version der Momentaufnahme an und kann in nachfolgenden Anforderungen verwendet werden, um auf die Momentaufnahme zuzugreifen. Beachten Sie, dass dieser Wert nicht transparent ist.

ETag

Das ETag der Momentaufnahme. Wenn die Anforderungsversion 2011-08-18 oder höher ist, wird der ETag-Wert in Anführungszeichen eingeschlossen. Beachten Sie, dass es nicht möglich ist, in eine Momentaufnahme zu schreiben. Daher wird das ETag einer angegebenen Momentaufnahme nie geändert. Das ETag der Momentaufnahme weicht jedoch von dem des zugrunde liegenden BLOB ab, wenn mit der Snaphot Blob-Anforderung neue Metadaten angegeben wurden. Wenn keine Metadaten mit der Anforderung angegeben wurden, ist das ETag der Momentaufnahme mit dem des zugrunde liegenden BLOB zum Zeitpunkt der Erstellung der Momentaufnahme identisch.

Last-Modified

Die Zeit der letzten Änderung der Momentaufnahme. Das Datumsformat entspricht RFC 1123. Weitere Informationen finden Sie unter Darstellung von Datums-/Uhrzeitwerten in Headern.

Beachten Sie, dass es nicht möglich ist, in eine Momentaufnahme zu schreiben. Daher ändert sich die Uhrzeit der letzten Änderung einer angegebenen Momentaufnahme nie. Die Zeit der letzten Änderung der Momentaufnahme weicht jedoch von der des zugrunde liegenden BLOB ab, wenn mit der Snaphot Blob-Anforderung neue Metadaten angegeben wurden. Wenn keine Metadaten mit der Anforderung angegeben wurden, ist die Zeit der letzten Änderung der Momentaufnahme mit der des zugrunde liegenden BLOB zum Zeitpunkt der Erstellung der Momentaufnahme identisch.

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. Dieser Header wird für Anforderungen zurückgegeben, die für Version 2009-09-19 und höher erfolgen.

Date

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

Keiner.

Dieser Vorgang kann nur vom Kontobesitzer aufgerufen werden.

Momentaufnahmen stellen schreibgeschützte Versionen von BLOBs bereit. Sobald eine Momentaufnahme erstellt wurde, kann sie gelesen, kopiert oder gelöscht, aber nicht mehr geändert werden.

Eine Momentaufnahme bietet eine komfortable Möglichkeit zum Sichern von BLOB-Daten. Sie können eine Momentaufnahme verwenden, um eine frühere Version eines BLOB wiederherzustellen, indem Sie Copy BLOB aufrufen, um einen Basis-BLOB mit der Momentaufnahme zu überschreiben.

Wenn Sie eine Momentaufnahme erstellen, gibt der Blob-Dienst einen DateTime-Wert zurück, der die Momentaufnahme relativ zum Basis-BLOB eindeutig identifiziert. Sie können diesen Wert verwenden, um weitere Vorgänge für die Momentaufnahme durchzuführen. Beachten Sie, dass Sie diesen DateTime-Wert als nicht transparent behandeln sollten.

Der DateTime-Wert identifiziert die Momentaufnahme im URI. Beispielsweise ähneln die URIs eines Basis-BLOB und der zugehörigen Momentaufnahmen den folgenden:

  • Basis-BLOB: http://myaccount.blob.core.windows.net/mycontainer/myblob

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

Beachten Sie, dass bei jedem Aufruf des Snapshot Blob-Vorgangs eine neue Momentaufnahme mit einem eindeutigen DateTime-Wert erstellt wird. Ein BLOB kann eine beliebige Anzahl von Momentaufnahmen unterstützen. Vorhandene Momentaufnahmen werden niemals überschrieben, müssen jedoch explizit gelöscht werden, indem Sie BLOB löschen aufrufen und den x-ms-include-snapshots-Header auf den entsprechenden Wert festlegen.

Lesen, Kopieren und Löschen von Momentaufnahmen

Durch einen erfolgreichen Aufruf von Snapshot Blob wird ein DateTime-Wert im x-ms-snapshot-Antwortheader zurückgegeben. Diesen DateTime-Wert können Sie verwenden, um Lese-, Lösch- oder Kopiervorgänge für eine bestimmte Momentaufnahmeversion auszuführen. Jeder für eine Momentaufnahme gültige Blob-Dienstvorgang kann aufgerufen werden, indem Sie ?snapshot=<DateTime> nach dem BLOB-Namen angeben.

Kopieren von BLOB-Eigenschaften und -Metadaten

Wenn Sie eine Momentaufnahme eines BLOB erstellen, werden die folgenden Systemeigenschaften mit denselben Werten in die Momentaufnahme kopiert:

  • Content-Type

  • Content-Encoding

  • Content-Language

  • Content-Length

  • Cache-Control

  • Content-MD5

  • x-ms-blob-sequence-number (for page blobs only)

  • x-ms-copy-id (Version 2012-02-12 und höher)

  • x-ms-copy-status (Version 2012-02-12 und höher)

  • x-ms-copy-source (Version 2012-02-12 und höher)

  • x-ms-copy-progress (Version 2012-02-12 und höher)

  • x-ms-copy-completion-time (Version 2012-02-12 und höher)

  • x-ms-copy-status-description (Version 2012-02-12 und höher)

Auch die Liste der Blöcke mit ausgeführtem Commit wird in die Momentaufnahme kopiert, wenn es sich um ein Block-BLOB handelt. Blöcke ohne ausgeführten Commit werden nicht kopiert.

Das Momentaufnahme-BLOB hat immer dieselbe Größe wie das Basis-BLOB zum Zeitpunkt der Erstellung der Momentaufnahme, sodass der Wert des Content-Length-Headers für das Momentaufnahme-BLOB dem Wert des Basis-BLOB entspricht.

Sie können einen oder mehrere neue Metadatenwerte für die Momentaufnahme angeben, indem Sie den x-ms-meta-name:value-Header für die Anforderung angeben. Ohne Angabe des Headers werden die dem Basis-BLOB zugeordneten Metadaten in die Momentaufnahme kopiert.

Angeben von bedingten Headern

Sie können für die Anforderung zur Erstellung einer Momentaufnahme des BLOB nur dann bedingte Header angeben, wenn eine Bedingung erfüllt ist. Wenn die angegebene Bedingung nicht erfüllt ist, wird die Momentaufnahme nicht erstellt, und der Blob-Dienst gibt den Statuscode 412 (Vorbedingung nicht erfüllt) zusammen mit zusätzlichen Fehlerinformationen zur Nichterfüllung zurück.

Erstellen einer Momentaufnahme eines geleasten BLOB

Wenn das Basis-BLOB über eine aktive Lease verfügt, können Sie eine Momentaufnahme des BLOB erstellen, solange eine der folgenden Bedingungen für die Anforderung erfüllt ist:

  • Der bedingte x-ms-lease-id-Header wird angegeben, und die aktive Lease-ID für das Basis-BLOB wird in die Anforderung eingeschlossen. Diese Bedingung gibt an, dass die Momentaufnahme nur dann erstellt wird, wenn die Lease aktiv ist und die angegebene Lease-ID der dem BLOB zugeordneten Lease-ID entspricht.

  • Der x-ms-lease-id-Header wird nicht angegeben. In diesem Fall wird die Lease mit exklusivem Schreibzugriff ignoriert.

Beachten Sie, dass eine dem Basis-BLOB zugeordnete Lease nicht in die Momentaufnahme kopiert wird. Momentaufnahmen können nicht geleast werden.

Kopieren von Momentaufnahmen

Wenn ein Basis-BLOB mithilfe des Copy BLOB-Vorgangs kopiert wird, werden keine Momentaufnahmen des Basis-BLOB in das Ziel-BLOB kopiert. Wenn ein Ziel-BLOB mit einer Kopie überschrieben wird, bleiben alle dem Ziel-BLOB zugeordneten Momentaufnahmen unter dem Namen des BLOB erhalten.

Sie können ein Momentaufnahme-BLOB über das Basis-BLOB kopieren, um eine frühere Version eines BLOB wiederherzustellen. Die Momentaufnahme bleibt erhalten, das Basis-BLOB wird jedoch mit einer Kopie überschrieben, die gelesen und geschrieben werden kann.

noteHinweis
Das Heraufstufen einer Momentaufnahme auf diese Weise verursacht keine zusätzlichen Kosten für Speicherressourcen, da Blöcke oder Seiten von der Momentaufnahme und dem Basis-BLOB gemeinsam genutzt werden.

Anzeigen:
© 2014 Microsoft