Hinweis
Für den Zugriff auf diese Seite ist eine Autorisierung erforderlich. Sie können versuchen, sich anzumelden oder das Verzeichnis zu wechseln.
Für den Zugriff auf diese Seite ist eine Autorisierung erforderlich. Sie können versuchen, das Verzeichnis zu wechseln.
Ein Snapshot ist eine schreibgeschützte Kopie eines Blobs, die zu einem bestimmten Zeitpunkt aufgenommen wurde. Du musst die Blob-Snapshots-Funktion nicht aktivieren. Stattdessen erstellen Sie Snapshots auf Abruf, indem Sie die Snapshot Blob-Operation verwenden. Weitere Informationen finden Sie unter Snapshot Blob Operation. Man kann die Erstellung von Snapshots automatisieren, indem man benutzerdefinierte Skripte verwendet, um zeitpunktbezogene Kopien von Blobs nach einem Zeitplan oder vor oder nach bestimmten Operationen zu erstellen.
Empfohlene Datenschutzkonfiguration
Blob-Schnappschüsse sind eine von mehreren Datensicherungsfunktionen. Die Wahl der richtigen Funktion oder Kombination von Funktionen hängt von Ihrer Arbeitsbelastung und davon, wovor Sie sich schützen möchten, ab. Um mehr über Microsoft Empfehlungen zum Datenschutz zu erfahren, siehe Datenschutzübersicht.
Snapshots vs. Versionen
Ein Schnappschuss ähnelt einer Blob-Version, aber die beiden unterscheiden sich darin, wie sie erstellt werden und wofür sie am besten geeignet sind. Ein Snapshot ist manuell und anwendungsgesteuert: Sie erstellen explizit eine Kopie zu einem bestimmten Zeitpunkt, wenn Ihre Anwendung eine benötigt. Eine Version ist automatisch und systemverwaltet: Azure Storage erstellt bei jedem Schreiben oder Löschen eine neue Version, wenn Blob-Versionierung aktiviert ist, ohne dass Anwendungs-Logik erforderlich ist.
Verwenden Sie Versionskontrolle, wenn Sie automatischen, kontinuierlichen Schutz gegen versehentliche oder böswillige Überschreibungen und Löschungen wünschen. Verwenden Sie Snapshots, wenn Sie bewusst erstellte, zeitpunktbezogene Kopien möchten, wie einen bekannten funktionsfähigen Checkpoint vor einem geplanten Update, statt jede Änderung zu erfassen.
Hinweis
Obwohl man das Versionsverhalten durch Snapshots nachbilden kann, empfiehlt Microsoft Blob-Versionierung für automatischen Überschreib- und Löschschutz bei FNS-Konten. Schnappschüsse eignen sich am besten für gezielte, zeitpunktbezogene Aufnahmen statt für Schutz, der jede Änderung erfasst. Weitere Informationen finden Sie unter Blob-Versionierung.
Wie Schnappschüsse funktionieren
Ein Snapshot eines Blobs ist identisch mit seinem Basisblob, mit dem Unterschied, dass an den Blob-URI ein DateTime-Wert angehängt wird, um den Zeitpunkt anzugeben, zu dem der Snapshot erstellt wurde. Wenn der Seitenblob-URI http://storagesample.core.blob.windows.net/mydrives/myvhd ist, lautet der Momentaufnahmen-URI z.B. in etwa http://storagesample.core.blob.windows.net/mydrives/myvhd?snapshot=2011-03-09T01:42:34.9360000Z.
Wenn Sie eine Momentaufnahme eines Blobs erstellen, werden seine Systemeigenschaften mit denselben Werten in die Momentaufnahme kopiert. Die Metadaten des Basisblobs werden auch in die Momentaufnahme kopiert, sofern Sie beim Erstellen keine separaten Metadaten für die Momentaufnahme angeben. Nach dem Erstellen einer Momentaufnahme kann sie gelesen, kopiert oder gelöscht, aber nicht mehr geändert werden. Dem Basisblob zugeordnete Leases wirken sich nicht auf die Momentaufnahme aus. Sie können für eine Momentaufnahme keine Lease abrufen.
Für ein Blob kann eine beliebige Anzahl von Momentaufnahmen vorhanden sein. Snapshots bleiben bestehen, bis du sie explizit löschst, entweder unabhängig oder als Teil einer Delete Blob-Operation für den Basisblob. Du kannst einen Schnappschuss eines Blobs in der Hot-, Cold- oder Cool-Tier erstellen. Du kannst keinen Schnappschuss eines archivierten Blobs erstellen.
Wichtig
Eine große Anzahl von Snapshots pro Blob kann die Latenz für Blob-Listing-Operationen erhöhen. Microsoft empfiehlt, weniger als 1.000 Snapshots pro Blob zu verwalten. Du kannst das Lebenszyklusmanagement nutzen, um alte Snapshots automatisch zu löschen. Weitere Informationen zum Lebenszyklusmanagement finden Sie unter Kosten durch Automatisierung der Azure Blob Storage-Zugriffsebenen optimieren.
Snapshots sind besonders nützlich für Blob-Typen und -Operationen, die nicht durch Blob-Versionierung erfasst werden. Da einige Schreiboperationen, wie Put Page (Page Blobs) und Append Block (Append Blobs), selbst bei aktivierter Versionierung keine Blob-Versionen erstellen, bieten Snapshots eine Möglichkeit, den Punkt-in-Zeit-Status eines Blobs bei Verwendung dieser APIs zu erfassen. Zum Beispiel speichert eine VHD-Datei die aktuellen Informationen und den Status einer VM-Festplatte. Du kannst eine Festplatte aus der VM trennen oder die VM herunterfahren, einen Snapshot ihrer VHD-Datei machen und diesen Snapshot später verwenden, um die VHD-Datei zu diesem Zeitpunkt abzurufen und die VM neu zu erstellen.
Das folgende Diagramm zeigt, wie Snapshots erstellt werden und wie ein Snapshot zum aktuellen Blob festgelegt werden könnte:
Snapshots verwalten und wiederherstellen
Du kannst Snapshots erstellen, auflisten und löschen. Du kannst auch einen Snapshot verwenden, um einen Basisblob in einen früheren Zustand zurückzusetzen. Die folgenden Abschnitte beschreiben jede Operation und die entsprechenden Werkzeuge.
Wiederherstellung eines Blobs aus einer Momentaufnahme
Da man einen Snapshot nicht ändern kann, stellt man einen Basisblob wieder her, indem man einen Snapshot darüber kopiert. Rufen Sie die Copy Blob-Operation auf und geben Sie die Snapshot-URI als Kopierquelle an. Dieser Prozess stuft den Zustand des Snapshots zum aktuellen Basisblob hoch, während die vorhandenen Snapshots des Blobs erhalten bleiben.
Momentaufnahmen auflisten
Du kannst die mit dem Basis-Blob verbundenen Snapshots aufzählen, um deine aktuellen Snapshots zu verfolgen, indem du die List Blobs-Operation nutzt und den snapshots Wert im Parameter include angibst. Standardmäßig gibt eine List-Blobs-Anfrage keine Snapshots zurück. Legen Sie include=snapshots so fest, dass alle Schnappschüsse für jeden Blob zusammen mit dem Basisblob zurückgegeben werden. Weitere Informationen finden Sie unter List Blobs. Du kannst auch das Azure Storage Blob-Inventar verwenden, um einen geplanten Bericht der Blobs in deinem Konto einschließlich ihrer Snapshots zu erstellen, indem du das includeSnapshots Feld in der Inventarregeldefinition auf true setzt. Weitere Informationen finden Sie unter Blob Inventory.
Momentaufnahmen löschen
Du musst einen Snapshot explizit löschen. Um einen einzelnen Snapshot zu löschen, rufen Sie die Operation Delete Blob auf und geben Sie den DateTime-Wert des Snapshots im Snapshot-Abfrageparameter an.
Du kannst einen Basisblob nicht löschen, solange er aktive Snapshots hat. Um einen Basisblob und alle seine Snapshots zusammen zu löschen, rufen Sie Delete Blob auf, wobei der x-ms-delete-snapshots-Header auf include gesetzt ist. Um nur die Snapshots zu löschen und den Basisblob zu behalten, setze den Header auf only.
Snapshots mit Tools verwalten
Sie können Snapshots verwalten, indem Sie das Portal, Azure CLI und Azure PowerShell verwenden.
- Portal
- PowerShell
- Azure CLI
Um mit dem Azure-Portal einen Snapshot eines Blobs zu erstellen, folgen Sie diesen Schritten:
- Navigieren Sie im Azure-Portal zu Ihrem Speicherkonto.
- Unter Datenspeicher finden Sie die Container-Option und wählen Sie dann den Container aus, der den Blob enthält.
- Wählen Sie den Blob aus, von dem Sie eine Momentaufnahme erstellen möchten.
- Wählen Sie auf der Registerkarte Übersicht des Blobs die Option Snapshot erstellen aus.
- Um die Schnappschüsse des Blobs anzuzeigen, wählen Sie den Tab Schnappschüsse . Der Tab listet jeden Schnappschuss zusammen mit Datum und Uhrzeit der Aufnahme auf.
Featureunterstützung
Diese Funktion ist für Data Lake Storage Gen2-Konten nicht aktiviert. Zusätzlich könnten das Network File System (NFS) 3.0-Protokoll oder das SSH File Transfer Protocol (SFTP) die Unterstützung dieser Funktion beeinträchtigen. Wenn Sie eine dieser Funktionen aktivieren, sehen Sie sich Informationen zur Unterstützung von Blob Storage-Features in Azure Storage-Konten an, um die Unterstützung für diese Funktion zu prüfen. Betrachten Sie alternative Mechanismen. Beispiele sind Soft Delete für Blobs, AzCopy und Vaulted Backup.
Feature-Interaktionen
Versionsverwaltung
Wenn du die Versionierung aktivierst, sind Snapshots normalerweise redundant für Blockblobs. Wenn du sowohl Versionierung als auch Snapshots gleichzeitig aktivierst, erzeugt ein Snapshot sowohl einen Snapshot als auch eine neue Version. Dieser Prozess erhöht die Anzahl der gespeicherten Objekte, ohne zusätzlichen Schutz hinzuzufügen. Weitere Informationen finden Sie unter Blobversionsverwaltung (Vorschau).
Soft-Löschen
Soft Delete gilt für Snapshots: Wenn Sie einen Snapshot löschen, wird er als gelöscht markiert. Sie können sie während der Aufbewahrungsphase wiederherstellen, indem Sie Undelete Blob verwenden. Außerdem variiert die Art und Weise, wie man Snapshots erstellt und abrechnet, je nachdem, ob Versionsmanagement aktiviert ist. Wenn die Versionsführung deaktiviert ist, erzeugt das Überschreiben eines Blobs einen Soft-Delete-Snapshot. Wenn Versionsmanagement aktiviert ist, erstellt es stattdessen eine neue Version. Wenn du für ein Basisblob explizit die Zugriffsebene festlegst, zahlst du die volle Inhaltslänge für alle vorherigen Versionen oder Momentaufnahmen des vorläufig gelöschten Blobs. Details zu diesem Abrechnungsverhalten finden Sie im Abschnitt Preisgestaltung und Abrechnung. Weitere Informationen zum Soft Delete finden Sie unter Blob Soft Delete.
Objektreplikation
Du kannst keine Snapshots replizieren. Nur der Basisblob wird repliziert. Weitere Informationen finden Sie unter Objektreplikation.
Lebenszyklusverwaltung
Lebenszyklusverwaltung kann Snapshots gezielt auswählen und löschen, indem der Snapshot-Subtyp in Richtlinienregeln verwendet wird. Weitere Informationen finden Sie unter Lifecycle Management.
Preise und Abrechnung
Durch das Erstellen einer Momentaufnahme, die eine schreibgeschützte Kopie eines BLOBs darstellt, können auf Ihrem Konto zusätzliche Gebühren für die Datenspeicherung anfallen. Berücksichtigen Sie beim Entwerfen Ihrer Anwendung, wie diese Gebühren anfallen können, damit Sie die Kosten minimieren können.
Für Blobmomentaufnahmen und Blobversionen fallen die gleichen Gebühren an wie für aktive Daten. Wie du für Snapshots abgerechnet wirst, hängt davon ab, ob du die Stufe explizit für den Basisblob oder für einen seiner Snapshots (oder Versionen) festgelegt hast. Weitere Informationen zu Blobebenen finden Sie unter Zugriffsebenen für Blobdaten.
Wenn du die Zugriffsebene eines Blobs oder Snapshots nicht änderst, wirst du für eindeutige Datenblöcke über diesen Blob, seine Snapshots und alle möglichen Versionen abgerechnet. Weitere Informationen finden Sie unter Abrechnung bei explizit festgelegter Blobebene.
Wenn du die Stufe eines Blobs oder Snapshots änderst, wirst du für das gesamte Objekt abgerechnet, unabhängig davon, ob Blob und Snapshot irgendwann wieder in derselben Stufe sind. Weitere Informationen finden Sie unter Abrechnung bei explizit festgelegter Blobebene.
Bei Speicherkonten, die Smart Tier nutzen, werden Versionen und Momentaufnahmen mit der vollen Inhaltslänge berechnet. Weitere Informationen finden Sie unter Optimieren der Kosten mit smarter Ebene.
Weitere Informationen zu Abrechnungsdetails für Blobversionen finden Sie unter Blobversionsverwaltung.
Minimieren der Kosten durch Momentaufnahmenverwaltung
Um zusätzliche Kosten zu vermeiden, verwalten Sie Ihre Snapshots sorgfältig. Befolgen Sie diese Best Practices, um die Kosten für die Aufbewahrung Ihrer Schnappschüsse zu minimieren:
- Löschen und erstellen Sie zugehörige Momentaufnahmen für ein BLOB neu, wenn Sie das BLOB aktualisieren, selbst wenn Sie mit identischen Daten aktualisieren, es sei denn, der Anwendungsentwurf erfordert, dass die Momentaufnahmen beibehalten werden. Indem du die Snapshots des Blobs löschst und neu erstellst, stellst du sicher, dass Blob und Snapshots nicht auseinanderlaufen.
- Wenn Sie Momentaufnahmen für ein Blob aufbewahren, sollten Sie keine Methoden aufrufen, die beim Aktualisieren des Blobs den gesamten Blob überschreiben. Stattdessen sollten Sie so wenige Blöcke wie möglich aktualisieren, um die Kosten niedrig zu halten.
Abrechnung, wenn du die Blob-Stufe nicht explizit festgelegt hast
Wenn Sie die Blob-Stufe nicht explizit für einen Basis-Blob oder einen seiner Snapshots festlegen, bezahlen Sie für eindeutige Blöcke oder Seiten im Blob, in seinen Snapshots und in allen Versionen, die er möglicherweise hat. Man bezahlt für Daten, die ein Blob und seine Snapshots gemeinsam nutzen, nur einmal. Wenn du einen Blob aktualisierst, weichen die Daten in einem Basisblob von den in seinen Snapshots gespeicherten Daten ab, und du zahlst für eindeutige Daten pro Block oder Seite.
Wenn du einen Block innerhalb eines Blockblobs ersetzt, zahlst du später für diesen Block als einzigartigen Block. Diese Regel gilt auch dann, wenn der Block dieselbe Block-ID und dieselben Daten wie im Snapshot hat. Nachdem du den Block erneut committest, weicht er von seinem Gegenstück im Snapshot ab, und du bezahlst für seine Daten. Die gleiche Regel gilt für eine Seite in einem Seitenblob, die mit identischen Daten aktualisiert wird.
Blob-Speicher hat keine Möglichkeit zu bestimmen, ob zwei Blöcke identische Daten enthalten. Jeder Block, den du hochlädst und committest, wird als einzigartig behandelt, auch wenn er dieselben Daten und dieselbe Block-ID hat. Da du für eindeutige Blöcke bezahlst, beachte, dass das Aktualisieren eines Blobs, das Snapshots oder Versionen aufweist, zu zusätzlichen eindeutigen Blöcken und weiteren Gebühren führt.
Wenn ein Blob über Momentaufnahmen verfügt, rufen Sie Aktualisierungsvorgänge für Blockblobs auf, damit Sie die geringstmögliche Anzahl von Blöcken aktualisieren. Die Schreibvorgänge, die eine differenzierte Steuerung von Blöcken ermöglichen, sind Put Block und Put Block List. Die Put Blob-Operation hingegen ersetzt den gesamten Inhalt eines Blobs und kann daher zu zusätzlichen Gebühren führen.
Die folgenden Szenarien zeigen, wie Gebühren für einen Blockblob und seine Momentaufnahmen anfallen, wenn man die Blob-Ebene nicht explizit festlegt.
Szenario 1
In Szenario 1 wurde das Basis-Blob nicht aktualisiert, nachdem die Momentaufnahme erstellt wurde, sodass Gebühren nur für die eindeutigen Blöcke 1, 2 und 3 berechnet werden.
Szenario 2
In Szenario 2 wurde das Basisblob aktualisiert, die Momentaufnahme jedoch nicht. Block 3 wurde aktualisiert. Obwohl er die gleichen Daten und dieselbe ID enthält, ist er nicht identisch mit dem Block 3 der Momentaufnahme. Daher wird das Konto mit Gebühren für vier Blöcke belastet:
Szenario 3
In Szenario 3 wurde das Basisblob aktualisiert, die Momentaufnahme jedoch nicht. Block 3 wurde im Basis-BLOB durch Block 4 ersetzt, die Momentaufnahme enthält aber immer noch den Block 3. Daher wird das Konto mit Gebühren für vier Blöcke belastet:
Szenario 4
In Szenario 4 wurde das Basis-Blob vollständig aktualisiert und enthält keinen der ursprünglichen Blöcke. Daher wird das Konto für alle acht eindeutigen Blöcke belastet.
Tipp
Um die Kosten niedrig zu halten, vermeiden Sie es, Methoden aufzurufen, die den gesamten Blob überschreiben. Stattdessen solltest du einzelne Blöcke aktualisieren.
Abrechnung, wenn du explizit die Blob-Tier einstellst
Wenn du die Blob-Stufe explizit für einen Blob, einen Snapshot oder eine Version einstellst, zahlst du für die volle Inhaltslänge des Objekts in der neuen Stufe, unabhängig davon, ob es Blöcke mit einem Objekt im ursprünglichen Bestand teilt. Du zahlst auch für die gesamte Inhaltslänge der ältesten Version in der ursprünglichen Tarifstufe. Du zahlst für einzigartige Blöcke in allen Versionen oder Snapshots, die im ursprünglichen Tier verbleiben, wie in Billing, wenn die Blob-Ebene nicht explizit festgelegt ist, beschrieben.
Verschieben eines Blobs auf eine neue Dienstebene
Die folgende Tabelle beschreibt das Abrechnungsverhalten für einen Blob oder Schnappschuss, wenn Sie ihn in eine neue Ebene verschieben.
| Wenn du explizit die Blob-Stufe festlegst... | Dann wird Ihnen Folgendes in Rechnung gestellt: |
|---|---|
| Basisblob mit einer Momentaufnahme | Das Basisblob auf der neuen Ebene und die älteste Momentaufnahme auf der ursprünglichen Ebene sowie alle eindeutigen Blöcke in anderen Momentaufnahmen.1 |
| Ein Basisblob mit einer früheren Version und einer Momentaufnahme | Der Basis-Blob in der neuen Stufe, die älteste Version der ursprünglichen Stufe und der älteste Schnappschuss in der ursprünglichen Stufe, plus alle einzigartigen Blöcke in anderen Versionen oder Snapshots. 1 |
| Eine Momentaufnahme | Die Momentaufnahme auf der neuen Ebene und das Basisblob auf der ursprünglichen Ebene sowie alle eindeutigen Blöcke in anderen Momentaufnahmen.1 |
1 Wenn es andere vorherige Versionen oder Snapshots gibt, die du nicht aus ihrer ursprünglichen Stufe verschoben hast, zahlst du basierend auf der Anzahl der einzigartigen Blöcke, die sie enthalten, wie unter Abrechnung, wenn die Blob-Stufe nicht explizit festgelegt ist beschrieben.
Das folgende Diagramm zeigt, wie Objekte abgerechnet werden, wenn Sie einen Blob mit Schnappschüssen auf eine andere Zugriffsebene verschieben.
Du kannst das explizite Festlegen der Stufe für einen Blob, eine Version oder einen Snapshot nicht rückgängig machen. Wenn du einen Blob auf eine neue Stufe verschiebst und ihn dann wieder auf die ursprüngliche Stufe zurückversetzt, zahlst du für die volle Inhaltslänge des Objekts, selbst wenn es Blöcke mit anderen Objekten der ursprünglichen Stufe teilt.
Vorgänge, mit denen die Dienstebene eines Blobs, einer Version oder einer Momentaufnahme explizit festgelegt wird:
Put Blob mit der angegebenen Dienstebene
Put Block List mit der angegebenen Dienstebene
Copy Blob mit der angegebenen Dienstebene
Löschen eines Blobs mit aktiviertem vorläufigem Löschen
Wenn Blob Soft Delete aktiviert ist, zahlst du, wenn du einen Basisblob löschst oder überschreibst, für den du explizit die Stufe festgelegt hast, für die gesamte Inhaltslänge aller vorherigen Versionen oder Schnappschüsse des weich gelöschten Blobs. Weitere Informationen darüber, wie Blob-Versionierung und Soft Delete zusammenarbeiten, finden Sie unter Feature-Interaktionen.
In der folgenden Tabelle wird das Abrechnungsverhalten für ein vorläufig gelöschtes Blob für die beiden Fällen mit aktivierter und deaktivierter Versionsverwaltung beschrieben. Bei aktivierter Versionsverwaltung wird beim vorläufigen Löschen eines Blobs eine neue Version erstellt. Wenn die Versionsverwaltung deaktiviert ist, wird durch das vorläufige Löschen eines Blobs eine Momentaufnahme mit vorläufigem Löschen erstellt.
| Wenn Sie ein Basisblob überschreiben, dessen Dienstebene explizit festgelegt wurde: | Dann wird Ihnen Folgendes in Rechnung gestellt: |
|---|---|
| Vorläufiges Löschen und Versionsverwaltung wurden für das Blob aktiviert. | Alle vorhandenen Versionen mit ihrem vollständigen Inhalt – unabhängig von der Dienstebene |
| Vorläufiges Löschen für das Blob wurde aktiviert, aber die Versionsverwaltung wurde deaktiviert. | Alle vorhandenen Momentaufnahmen mit vorläufigem Löschen mit ihrem vollständigen Inhalt – unabhängig von der Dienstebene |
Bekannte Einschränkungen
Man kann keine Snapshots für Blobs in der Archivzugriffsstufe erstellen.
Die Unterstützung für Kontosnapshots in Data Lake Gen2 akzeptiert keine neuen Kunden mehr. Stattdessen nutze Blob Soft Delete, AzCopy oder Vaulted Backup.
Du kannst einen Blob nicht löschen, solange er aktive Schnappschüsse hat, es sei denn, du gibst
x-ms-delete-snapshotsim Löschaufruf an.Objektreplikation repliziert keine Snapshots.
Du kannst Snapshots nach der Erstellung nicht mehr ändern.
Sie können für eine Momentaufnahme keine Lease abrufen.
Überwachung und Problembehandlung
Ich kann meinen Basisblob nicht löschen: Der Blob hat aktive Schnappschüsse. Benutze Blob löschen
x-ms-delete-snapshots: include, um beide gleichzeitig zu löschen.Mein Snapshot ist verschwunden, nachdem ich den Basis-Blob gelöscht habe: Das Löschen des Basis-Blobs löscht die Snapshots dauerhaft, es sei denn, das vorläufige Löschen (Soft Delete) für Blobs ist aktiviert. Aktivieren Sie Soft Delete, um vor versehentlichem Löschen zu schützen.
Meine Snapshot-Kosten sind höher als erwartet: Wenn du explizit die Zugriffsstufe des Blobs änderst, zahlst du für die vollständige Inhaltslänge statt nur für einzigartige Blöcke. Vermeide explizite Tier-Änderungen bei Blobs mit aktiven Snapshots, wo möglich.
Anzeigen und Inventarisierung von Schnappschüssen: Im Portal erscheinen Snapshots unter dem Blob im Storage Browser, wenn "Blob Snapshots anzeigen " aktiviert ist. Um die Anzahl der Momentaufnahmen und den Speicherverbrauch für ein gesamtes Konto zu erfassen, verwenden Sie Azure Storage Blob Inventory und die Metrik BlobCapacity in Azure Monitor.