Delete Blob

Der Vorgang Delete Blob kennzeichnet das angegebene BLOB oder die angegebene Momentaufnahme zum Löschen. Das BLOB wird später während der automatischen Speicherbereinigung gelöscht.

Beachten Sie, dass Sie zum Löschen eines BLOB alle zugehörigen Momentaufnahmen löschen müssen. Mit dem Delete Blob-Vorgang können Sie beide gleichzeitig löschen.

Anforderung

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

Anforderungs-URI für DELETE-Methode HTTP-Version
https://myaccount.blob.core.windows.net/mycontainer/myblob

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

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

Emulierter Speicherdienst-URI

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 DELETE-Methode HTTP-Version
http://127.0.0.1:10000/devstoreaccount1/mycontainer/myblob HTTP/1.1

Weitere Informationen finden Sie unter Using the Azure Storage Emulator for Development and Testing.

URI-Parameter

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 zu löschende BLOB-Momentaufnahme angibt. Weitere Informationen zum Arbeiten mit Blobmomentaufnahmen finden Sie unter Erstellen einer Momentaufnahme eines Blobs.
versionid Optional, Version 2019-12-12 und neuer. Der parameter versionid ist ein nicht transparenter Wert, der, falls vorhanden, die Version des zu DateTime löschenden Blobs angibt.
timeout Optional. Der timeout-Parameter wird in Sekunden angegeben. Weitere Informationen finden Sie unter Festlegen von Timeouts für Blobdienstvorgänge.
deletetype Optional, Version 2020-02-10 oder höher. Der Wert von deletetype kann nur permanent sein. Weitere Informationen finden Sie weiter unten in den Anmerkungen.

Anforderungsheader

In der folgenden Tabelle werden erforderliche und optionale Anforderungsheader beschrieben.

Anforderungsheader BESCHREIBUNG
Authorization Erforderlich. Gibt das Autorisierungsschema, den Kontonamen und die Signatur an. Weitere Informationen finden Sie unter Autorisieren von Anforderungen für Azure Storage.
Date oder x-ms-date Erforderlich. Gibt die koordinierte Weltzeit (Coordinated Universal Time, UTC) für die Anforderung an. Weitere Informationen finden Sie unter Autorisieren von Anforderungen für Azure Storage.
x-ms-version Erforderlich für alle autorisierten Anforderungen. Weitere Informationen finden Sie unter Versionsing for the Azure Storage Services.
x-ms-lease-id:<ID> Erforderlich, wenn das BLOB über eine aktive Lease verfügt.

Um diesen Vorgang für ein BLOB mit einer aktiven Lease auszuführen, geben Sie die gültige Lease-ID für diesen Header an. Wenn für die Anforderung keine gültige Lease-ID angegeben wird, schlägt der Vorgang mit dem Statuscode 403 (Verboten) fehl.
x-ms-delete-snapshots: {include, only} Erforderlich, wenn dem BLOB Momentaufnahmen zugeordnet sind. Geben Sie eine der beiden folgenden Optionen an:

- include: Löschen Sie das Basisblob und alle seine Momentaufnahmen.
- only: Löschen Sie nur die Momentaufnahmen des Blobs, nicht das Blob selbst.

Dieser Header sollte nur für eine Anforderung für die zugrunde liegende BLOB-Ressource angegeben werden. Wenn der Header für eine Anforderung zum Löschen einer einzelnen Momentaufnahme angegeben wird, gibt der Blob-Dienst den Statuscode 400 (Ungültige Anforderung) zurück.

Wenn der Header nicht für die Anforderung angegeben wurde und dem BLOB Momentaufnahmen zugeordnet sind, gibt der Blob-Dienst den Statuscode 409 (Konflikt) zurück.
x-ms-client-request-id Optional. Stellt einen vom Client generierten, nicht transparenten Wert mit einem Zeichenlimit von 1 KiB zur Folge, das in den Analyseprotokollen aufgezeichnet wird, wenn die Protokollierung der Speicheranalyse aktiviert ist. Es wird empfohlen, diesen Header für das Korrelieren clientseitiger Aktivitäten mit vom Server empfangenen Anforderungen zu verwenden. Weitere Informationen finden Sie unter About Storage Analytics Logging und Azure Logging: Using Logs to Track Storage Requests.

Dieser Vorgang unterstützt zudem die Verwendung von bedingten Headern zum Löschen des BLOB. Hierfür muss jedoch eine angegebene Bedingung erfüllt sein. Weitere Informationen finden Sie unter Specifying Conditional Headers for Blob Service Operations (Angeben von bedingten Headern für Vorgänge des Blob-Diensts).

Anforderungstext

Keine.

Antwort

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

Statuscode

Ein erfolgreicher Vorgang gibt den Statuscode 202 (Akzeptiert) zurück.

Informationen zu Statuscodes finden Sie unter Status- und Fehlercodes.

Antwortheader

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.

Antwortheader BESCHREIBUNG
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 bei API-Vorgängen.
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.
x-ms-delete-type-permanent Für die Versionen 2017-07-29 und höher gibt der Blob-Dienst TRUE zurück, wenn das Blob dauerhaft gelöscht wurde, und FALSE, wenn das Blob soft-deleted wurde.
Date Ein vom Dienst generierter Datums-/Uhrzeitwert in UTC, der angibt, wann die Antwort initiiert wurde.
x-ms-client-request-id Dieser Header kann zur Problembehandlung von Anforderungen und entsprechenden Antworten verwendet werden. Der Wert dieses Headers entspricht dem Wert des Headers, wenn er in der Anforderung vorhanden ist und der Wert mindestens x-ms-client-request-id 1.024 sichtbare ASCII-Zeichen beträgt. Wenn der Header in der Anforderung nicht vorhanden ist, ist dieser x-ms-client-request-id Header in der Antwort nicht vorhanden.

Authorization

Dieser Vorgang kann vom Kontobesitzer oder einem beliebigen Benutzer mit einer SAS (Shared Access Signature) ausgeführt werden, der über die Berechtigung zum Löschen des BLOB verfügt.

Hinweise

Wenn das BLOB über eine aktive Lease verfügt, muss der Client zum Löschen des BLOB eine gültige Lease-ID in der Anforderung angeben.

Wenn ein Blob über eine große Anzahl von Momentaufnahmen verfügt, kann es zu einem Time out des Delete Blob Vorgangs kommen. In diesem Fall sollte der Client die Anforderung wiederholen.

Bei Version 2013-08-15 und höher ruft der Client möglicherweise Delete Blob auf, um BLOBs, für die kein Commit ausgeführt wurde, zu löschen. Ein Blob ohneCommitted ist ein Blob, das mit Aufrufen des Put Block-Vorgangs erstellt wurde, aber nie mithilfe des Put Block List-Vorgangs ein Committed durchgeführt hat. Bei früheren Versionen muss der Client vor dem Löschen erst einen Commit für das BLOB ausführen.

Feature "Soft Delete" deaktiviert

Beim erfolgreichen Löschen eines BLOB wird dieses sofort aus dem Index des Speicherkontos entfernt, und Clients haben keinen Zugriff mehr darauf. Die Daten des BLOB werden später während der automatischen Speicherbereinigung aus dem Dienst entfernt.

Feature "Soft Delete" aktiviert

Wenn ein Blob erfolgreich gelöscht wurde, wird es leicht gelöscht und ist für Clients nicht mehr zugänglich. Der Blob-Dienst behält das Blob oder die Momentaufnahme für die Anzahl von Tagen bei, die für die DeleteRetentionPolicy-Eigenschaft des Blob-Diensts angegeben ist. Informationen zum Lesen von Blobdiensteigenschaften finden Sie unter Festlegen von Blobdiensteigenschaften.

Nach der angegebenen Anzahl von Tagen werden die Daten des Blobs während der Garbage Collection aus dem Dienst entfernt. Auf ein weich gelöschtes Blob oder eine Momentaufnahme kann zugegriffen werden, indem der Vorgang List Blobs (Blobs auflisten) und die Option angegeben include=deleted werden.

Soft deleted blob or snapshot can be restored using Undelete Blob.

Für jeden anderen Vorgang für ein soft-deleted-Blob oder eine Momentaufnahme gibt der Blobdienst den Fehler 404 (ResourceNotFound) zurück.

Dauerhaftes Löschen

Eine Funktion zum dauerhaften Löschen einer Momentaufnahme/Version wurde der DELETE BLOB-API mit Version 2020-02-10 und höher hinzugefügt. Um das Feature nutzen zu können, muss für das Speicherkonto das dauerhafte Löschen aktiviert sein. Weitere Informationen finden Sie unter Festlegen von Blobdiensteigenschaften.

Storage Konten mit aktivierten permanenten Löschungen können den Abfrageparameter verwenden, um eine momentaufnahme- oder gelöschte Blobversion dauerhaft deletetype=permanent zu löschen. Der Blob-Dienst gibt 409 (Konflikt) zurück, wenn der Abfrageparameter eine der folgenden Parameter enthält:

  • Das dauerhafte Löschen ist für das Speicherkonto nicht aktiviert.
  • Weder versionid noch snapshot werden bereitgestellt.
  • Die angegebene Momentaufnahme oder Version wird nicht (soft) gelöscht.

Dauerhaftes Löschen umfasst auch eine neue SAS-Berechtigung (y), die die Berechtigung zum dauerhaften Löschen einer Blobmomentaufnahme oder Blobversion erteilt. Weitere Informationen finden Sie unter Erstellen einer Dienst-SAS.

Weitere Informationen

Autorisieren von Anforderungen für Azure Storage
Status- und Fehlercodes
Blob-Dienstfehlercodes Elete Blob List Blobs (Bloblistenblobs elete)