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 an den emulierten Speicherdienst stellen, geben Sie den Emulatorhostnamen 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, sofern 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 ist, schlägt der Vorgang mit status Code 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 eines einzelnen Momentaufnahme angegeben wird, gibt Blob Storage status Code 400 (Ungültige Anforderung) zurück.

Wenn dieser Header in der Anforderung nicht angegeben ist und das Blob über zugeordnete Momentaufnahmen verfügt, gibt Blob Storage status Code 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 in den Protokollen aufgezeichnet wird, wenn die Protokollierung konfiguriert ist. 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 status Codes 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 die durchgeführte 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 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 den Zeitpunkt angibt, zu dem 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 ist gleich dem Wert des x-ms-client-request-id Headers, wenn er in der Anforderung vorhanden ist. Der Wert beträgt 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

Beim Aufrufen eines Datenzugriffsvorgangs in Azure Storage ist eine Autorisierung erforderlich. Sie können den Delete Blob Vorgang wie unten beschrieben autorisieren.

Azure Storage unterstützt die Verwendung von Microsoft Entra ID zum Autorisieren von Anforderungen für Blobdaten. Mit Microsoft Entra ID können Sie die rollenbasierte Zugriffssteuerung von Azure (Azure RBAC) verwenden, um einem Sicherheitsprinzipal Berechtigungen zu erteilen. Der Sicherheitsprinzipal kann ein Benutzer, eine Gruppe, ein Anwendungsdienstprinzipal oder eine verwaltete Azure-Identität sein. Der Sicherheitsprinzipal wird von Microsoft Entra ID authentifiziert, um ein OAuth 2.0-Token zurückzugeben. Das Token kann anschließend zum Autorisieren einer Anforderung an den Blob-Dienst verwendet werden.

Weitere Informationen zur Autorisierung mit Microsoft Entra ID finden Sie unter Autorisieren des Zugriffs auf Blobs mithilfe von Microsoft Entra ID.

Berechtigungen

Unten sind die RBAC-Aktion aufgeführt, die für einen Microsoft Entra Benutzer, eine Gruppe oder einen Dienstprinzipal erforderlich ist, um den Delete Blob Vorgang aufzurufen, und die integrierte Azure RBAC-Rolle mit den geringsten Berechtigungen, die diese Aktion enthält:

Weitere Informationen zum Zuweisen von Rollen mithilfe von Azure RBAC finden Sie unter Zuweisen einer Azure-Rolle für den Zugriff auf Blobdaten.

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 blobs ohne Commit zu löschen. Ein Blob ohne Commit ist ein Blob, das mit Aufrufen des Put Block-Vorgangs erstellt wurde, aber niemals mithilfe des Vorgangs Put Block List committet 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 den 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 Momentaufnahme zugreifen, indem Sie den Vorgang Blobs auflisten aufrufen und die include=deleted Option angeben.

Sie können vorläufig gelöschte Blobs oder Momentaufnahmen wiederherstellen, indem Sie blobs 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

Mit Version 2020-02-10 und höher können Sie eine vorläufig gelöschte Momentaufnahme oder Version dauerhaft löschen. Zu diesem Ziel 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 werden, um Versionen oder Momentaufnahmen von Blobs im Konto vorläufig zu löschen. Das permanente 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 gelöschte Blobversion endgültig zu löschen.

Wenn der Abfrageparameter eine der folgenden Werte enthält, 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 Shared Access Signature-Berechtigung zum endgültigen Löschen eines Blob-Momentaufnahme oder einer Blobversion. Weitere Informationen finden Sie unter Erstellen einer Dienst-SAS.

Abrechnung

Speicherkonten werden für Delete Blob Anforderungen nicht in Rechnung gestellt.

Weitere Informationen

Autorisieren von Anforderungen an Azure Storage

Status- und Fehlercodes

Blob Storage-Fehlercodes

Wiederherstellen von Blobs

Auflisten von Blobs