Delete Blob
Der Delete Blob
Vorgang löscht das angegebene Blob oder Momentaufnahme.
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: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, 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.
Wichtig
Microsoft empfiehlt die Verwendung von Microsoft Entra ID mit verwalteten Identitäten, um Anforderungen an Azure Storage zu autorisieren. Microsoft Entra ID bietet im Vergleich zur Autorisierung mit gemeinsam genutzten Schlüsseln eine höhere Sicherheit und Benutzerfreundlichkeit.
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 mit Microsoft Entra ID.
Berechtigungen
Nachfolgend sind die RBAC-Aktion aufgeführt, die für einen Microsoft Entra Benutzer, Gruppe, verwaltete Identität oder Dienstprinzipal erforderlich ist, um den Delete Blob
Vorgang aufzurufen, und die integrierte Azure RBAC-Rolle mit den geringsten Berechtigungen, die diese Aktion enthält:
- Azure RBAC-Aktion:Microsoft.Storage/storageAccounts/blobServices/containers/blobs/delete
- Integrierte Rolle mit den geringsten Berechtigungen:Mitwirkender für Speicherblobdaten
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 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.
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 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 aus dem Dienst entfernt. Sie können auf ein vorläufig gelöschtes Blob oder 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 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.
Dauerhaftes Löschen umfasst auch eine Shared Access Signature-Berechtigung zum endgültigen Löschen eines Blobs Momentaufnahme oder Blobversion. Weitere Informationen finden Sie unter Create einer Dienst-SAS.
Abrechnung
Speicherkonten werden für Delete Blob
Anforderungen nicht in Rechnung gestellt.