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:10000
an, 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
nochsnapshot
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.