Entität löschen (Azure Storage)

Mit dem Vorgang Delete Entity wird eine vorhandene Entität in einer Tabelle gelöscht.

Anforderung

Sie können die Delete Entity Anforderung wie folgt erstellen. HTTPS wird empfohlen. Ersetzen Sie myaccount durch den Namen Ihres Speicherkontos, mytable durch den Namen Ihrer Tabelle und myPartitionKey und myRowKey durch den Namen des Partitionsschlüssels und Zeilenschlüssels, der die zu löschende Entität identifiziert.

Methode Anforderungs-URI HTTP-Version
DELETE https://myaccount.table.core.windows.net/mytable(PartitionKey='myPartitionKey', RowKey='myRowKey') HTTP/1.1

Die Adresse der zu aktualisierenden Entität kann eine Reihe von Formularen für den Anforderungs-URI annehmen. Weitere Informationen finden Sie im OData-Protokoll.

Emulierter Speicherdienst-URI

Wenn Sie eine Anforderung an den emulierten Speicherdienst stellen, geben Sie den Emulatorhostnamen und den Azure Table Storage-Port als 127.0.0.1:10002an, gefolgt vom Namen des emulierten Speicherkontos.

Methode Anforderungs-URI HTTP-Version
DELETE http://127.0.0.1:10002/devstoreaccount1/myentity(PartitionKey='myPartitionKey', RowKey='myRowKey') HTTP/1.1

Table Storage im Speicheremulator unterscheidet sich auf verschiedene Weise vom Azure-Dienst. Weitere Informationen finden Sie unter Unterschiede zwischen dem Speicheremulator und den Azure Storage-Diensten.

URI-Parameter

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

Parameter BESCHREIBUNG
timeout Optional. Der timeout-Parameter wird in Sekunden angegeben. Weitere Informationen finden Sie unter Festlegen von Timeouts für Table Storage-Vorgänge.

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 Optional. Gibt die Version des für die Anforderung zu verwendenden Vorgangs an. Weitere Informationen finden Sie unter Versionsverwaltung für die Azure-Speicherdienste.
If-Match Erforderlich. Der Client kann für die ETag Entität in der Anforderung angeben, um mit der ETag vom Dienst verwalteten zu vergleichen, um eine optimistische Parallelität zu erzielen. Der Löschvorgang wird nur fortgesetzt, wenn der ETag vom Client gesendete mit dem vom Server verwalteten Wert übereinstimmt. Diese Übereinstimmung gibt an, dass die Entität nicht geändert wurde, seit sie vom Client abgerufen wurde.

Um einen Löschvorgang unbedingt zu erzwingen, legen Sie If-Match auf das Platzhalterzeichen (*) fest.
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 von Azure Table Storage.

Anforderungstext

Keine.

Antwort

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

Statuscode

Bei einem erfolgreichen Vorgang wird der Statuscode 204 (Kein Inhalt) zurückgegeben. Informationen zu status-Codes finden Sie unter Status- und Fehlercodes und Tabellenspeicherfehlercodes.

Antwortheader

Die Antwort enthält 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 Table 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.
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.

Antworttext

Keine.

Authorization

Der Kontobesitzer kann diesen Vorgang ausführen. Darüber hinaus kann jeder mit einer Shared Access Signature, der über die Berechtigung zum Ausführen dieses Vorgangs verfügt, diesen Ausführen.

Hinweise

Wenn Sie eine Entität erfolgreich löschen, wird die Entität sofort zum Löschen markiert und ist für Clients nicht mehr zugänglich. Die Entität wird später während der Garbage Collection aus dem Tabellenspeicher entfernt.

Eine Entität bietet ETag standardmäßig optimistische Parallelität für Löschvorgänge. Der ETag Wert ist undurchsichtig und darf nicht gelesen oder verwendet werden. Bevor ein Löschvorgang erfolgt, überprüft Table Storage, ob der aktuelle ETag Wert der Entität mit dem Wert identisch ist, der ETag in der Löschanforderung im If-Match Header enthalten ist. Wenn die Werte identisch sind, ermittelt Table Storage, dass die Entität seit dem Abrufen nicht geändert wurde, und der Löschvorgang wird fortgesetzt.

Wenn sich die Entität ETag von der in der Löschanforderung angegebenen unterscheidet, schlägt der Löschvorgang mit status Code 412 (Vorbedingung fehlgeschlagen) fehl. Dieser Fehler gibt an, dass die Entität auf dem Server geändert wurde, seit sie abgerufen wurde. Um diesen Fehler zu beheben, rufen Sie die Entität erneut ab, und senden Sie die Anforderung erneut.

Um einen unbedingten Löschvorgang zu erzwingen, legen Sie in der Anforderung den Wert des If-Match-Headers auf das Platzhalterzeichen (*) fest. Durch die Übergabe dieses Werts an den Vorgang wird die standardmäßige optimistische Parallelität außer Kraft gesetzt, und alle Nichtübereinstimmungen in ETag Werten werden ignoriert.

Wenn der If-Match-Header nicht in der Anforderung vorhanden ist, gibt der Dienst den Statuscode 400 (Ungültige Anforderung) zurück. Eine auf andere Weise fehlerhafte Anforderung kann auch Code 400 zurückgeben. Weitere Informationen finden Sie unter Table Storage-Fehlercodes.

Jede Anwendung, die eine HTTP DELETE Anforderung autorisieren und senden kann, kann eine Entität löschen. Weitere Informationen zum Erstellen einer Abfrage mit finden HTTP DELETESie unter Hinzufügen, Ändern und Löschen von Entitäten.

Informationen zum Ausführen von Batchlöschvorgängen finden Sie unter Durchführen von Entitätsgruppentransaktionen.

Weitere Informationen

Autorisieren von Anforderungen an Azure Storage
Festlegen der OData-Datendienstversionsheader
Status- und Fehlercodes
Tabellenspeicherfehlercodes