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

Sie können die Delete Blob Anforderung wie folgt erstellen. HTTPS wird empfohlen. Ersetzen Sie myaccount durch den Namen Ihres Speicherkontos.

DELETE-Methodenanforderungs-URI 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 stellen, geben Sie den Hostnamen des Emulators und Azure Blob Storage Port als 127.0.0.1:10000an, gefolgt vom Namen des emulierten Speicherkontos.

DELETE-Methodenanforderungs-URI HTTP-Version
http://127.0.0.1:10000/devstoreaccount1/mycontainer/myblob HTTP/1.1

Weitere Informationen finden Sie unter Verwenden des Azurite-Emulators für die lokale Azure Storage-Entwicklung.

URI-Parameter

Sie können die folgenden zusätzlichen Parameter für den Anforderungs-URI angeben.

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 höher. Der versionid Parameter ist ein undurchsichtiger DateTime Wert, der, wenn vorhanden, die Version des zu löschenden Blobs angibt.
timeout Optional. Der timeout-Parameter wird in Sekunden angegeben. Weitere Informationen finden Sie unter Festlegen von Timeouts für Blob Storage-Vorgänge.
deletetype Optional, Version 2020-02-10 oder höher. Der Wert von deletetype kann nur sein permanent.

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 an 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 an Azure Storage.
x-ms-version Erforderlich für alle autorisierten Anforderungen. Weitere Informationen finden Sie unter Versionsverwaltung für die Azure-Speicherdienste.
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 in der 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 folgenden Optionen an:

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

Geben Sie diesen Header nur für eine Anforderung für die Basisblobressource an. Wenn dieser Header für eine Anforderung zum Löschen einer einzelnen Momentaufnahme angegeben wird, gibt Blob Storage den Statuscode 400 (Ungültige Anforderung) zurück.

Wenn dieser Header nicht für die Anforderung angegeben wird und das Blob über zugeordnete Momentaufnahmen verfügt, gibt Blob Storage den Statuscode 409 (Konflikt) zurück.
x-ms-client-request-id Optional. Stellt einen vom Client generierten, undurchsichtigen Wert mit einem Zeichenlimit von 1 Kibibyte (KiB) bereit, der bei der Konfiguration der Protokollierung in den Protokollen aufgezeichnet wird. Es wird dringend empfohlen, diesen Header zu verwenden, um clientseitige Aktivitäten mit Anforderungen zu korrelieren, die der Server empfängt. Weitere Informationen finden Sie unter Überwachen Azure Blob Storage.

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 Angeben von bedingten Headern für Blob Storage-Vorgänge.

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 auch zusätzliche HTTP-Standardheader enthalten. Alle Standardheader entsprechen der HTTP/1.1-Protokollspezifikation.

Antwortheader BESCHREIBUNG
x-ms-request-id Dieser Header identifiziert eindeutig die Anforderung, die gestellt wurde, 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 von Blob Storage an, die zum Ausführen der Anforderung 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 Version 2017-07-29 und höher gibt Blob Storage zurück true , wenn das Blob endgültig gelöscht wurde und false das Blob vorläufig gelöscht wurde.
Date Ein UTC-Datums-/Uhrzeitwert, der die Uhrzeit angibt, zu der die Antwort initiiert wurde. Der Dienst generiert diesen Wert.
x-ms-client-request-id Sie können diesen Header verwenden, um Probleme mit Anforderungen und entsprechenden Antworten zu beheben. Der Wert dieses Headers entspricht dem Wert des x-ms-client-request-id Headers, wenn er in der Anforderung vorhanden ist. Der Wert ist höchstens 1.024 sichtbare ASCII-Zeichen. Wenn der x-ms-client-request-id Header in der Anforderung nicht vorhanden ist, ist dieser Header in der Antwort nicht vorhanden.

Authorization

Der Kontobesitzer kann diesen Vorgang ausführen. Darüber hinaus kann jeder, der eine Freigegebene Zugriffssignatur verwendet, die über die Berechtigung zum Löschen des Blobs verfügt, diesen Vorgang ausführen.

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, ist es möglich, dass für den Vorgang ein Delete Blob Timeout auftritt. In diesem Fall sollte der Client die Anforderung wiederholen.

Ab Version 2013-08-15 kann der Client aufrufen Delete Blob , um nicht festgeschriebene Blobs zu löschen. Ein nicht festgeschriebenes Blob ist ein Blob, das mit Aufrufen des Vorgangs Put Block erstellt wurde, aber nie mithilfe des Vorgangs Put Block List committ wurde. Bei früheren Versionen muss der Client vor dem Löschen erst einen Commit für das BLOB ausführen.

Feature für vorläufiges Löschen deaktiviert

Wenn ein Blob erfolgreich gelöscht wurde, wird es sofort aus dem Index des Speicherkontos entfernt und ist für Clients nicht mehr zugänglich. Die Daten des BLOB werden später während der automatischen Speicherbereinigung aus dem Dienst entfernt.

Feature für vorläufiges Löschen aktiviert

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

Nach der angegebenen Anzahl von Tagen werden die Daten des Blobs während der Garbage Collection aus dem Dienst entfernt. Sie können auf ein vorläufig gelöschtes Blob oder eine Momentaufnahme zugreifen, indem Sie den Vorgang Auflisten von Blobs aufrufen und die include=deleted Option angeben.

Sie können vorläufig gelöschte Blobs oder Momentaufnahmen mithilfe von Undelete Blob wiederherstellen. Für alle anderen Vorgänge für vorläufig gelöschte Blobs oder Momentaufnahmen gibt Blob Storage den Fehler 404 (Ressource nicht gefunden) zurück.

Permanent delete

Ab Version 2020-02-10 können Sie eine vorläufig gelöschte Momentaufnahme oder Version endgültig löschen. Dazu aktivieren Sie das Feature. Weitere Informationen finden Sie unter Festlegen von Blob Storage-Eigenschaften.

Hinweis

Für das Speicherkonto muss die Versionsverwaltung oder Momentaufnahmen aktiviert sein. Vorläufiges Löschen muss auch für das Speicherkonto aktiviert sein, um Versionen oder Momentaufnahmen von Blobs im Konto vorläufig zu löschen. Dauerhaftes Löschen löscht nur vorläufig gelöschte Momentaufnahmen oder Versionen.

Speicherkonten mit aktiviertem permanentem Löschen können den deletetype=permanent Abfrageparameter verwenden, um eine vorläufig gelöschte Momentaufnahme oder eine gelöschte Blobversion endgültig zu löschen.

Wenn der Abfrageparameter eine der folgenden Werte aufweist, gibt Blob Storage den Fehler 409 (Konflikt) zurück:

  • Das Feature zum dauerhaften Löschen ist für das Speicherkonto nicht aktiviert.
  • Weder versionid noch snapshot werden bereitgestellt.
  • Die angegebene Momentaufnahme oder Version wird nicht vorläufig gelöscht.

Das permanente Löschen umfasst auch eine Freigabezugriffssignaturberechtigung zum endgültigen Löschen einer Blobmomentaufnahme oder Blobversion. Weitere Informationen finden Sie unter Erstellen einer Dienst-SAS.

Weitere Informationen

Autorisieren von Anforderungen an Azure Storage

Status- und Fehlercodes

Blob Storage-Fehlercodes

Wiederherstellen von Blobs

Auflisten von Blobs