Freigeben über


Datenbereinigung

Gilt für: ✅Azure Data Explorer

Hinweis

Dieser Artikel enthält eine ausführliche Vorgehensweise zum Löschen personenbezogener Daten vom Gerät oder aus dem Dienst, die Sie bei Ihren Pflichten gemäß der DSGVO unterstützen kann. Allgemeine Informationen zur DSGVO finden Sie im Abschnitt zur DSGVO im Microsoft Trust Center und im Abschnitt zur DSGVO im Service Trust Portal.

Die Datenplattform unterstützt die Möglichkeit, einzelne Datensätze mithilfe von Kusto .purge und verwandten Befehlen zu löschen. Sie können auch eine gesamte Tabelle löschen oder Datensätze in einer materialisierten Ansicht löschen.

Warnung

Das Löschen von Daten über den .purge Befehl dient zum Schutz personenbezogener Daten und sollte nicht in anderen Szenarien verwendet werden. Es ist nicht darauf ausgelegt, häufige Löschanforderungen oder löschungen massiver Datenmengen zu unterstützen und kann erhebliche Leistungseinbußen auf den Dienst haben.

Richtlinien zur Bereinigung

Entwerfen Sie Ihr Datenschema sorgfältig, und untersuchen Sie relevante Richtlinien, bevor Sie personenbezogene Daten speichern.

  1. In einem optimalen Fall ist der Aufbewahrungszeitraum für diese Daten ausreichend kurz, und Daten werden automatisch gelöscht.
  2. Wenn die Nutzung des Aufbewahrungszeitraums nicht möglich ist, isolieren Sie alle Daten, die den Datenschutzregeln in einigen Tabellen unterliegen. Verwenden Sie optimal nur eine Tabelle, und verknüpfen Sie sie aus allen anderen Tabellen. Mit dieser Isolierung können Sie den Datenlöschvorgang auf einigen Tabellen ausführen, die vertrauliche Daten enthalten, und alle anderen Tabellen vermeiden.
  3. Der Aufrufer sollte jeden Versuch unternehmen, die Ausführung von .purge Befehlen auf 1 bis 2 Befehle pro Tabelle pro Tag zu stapeln. Stellen Sie nicht mehrere Befehle mit eindeutigen Benutzeridentitäts-Prädikaten aus. Senden Sie stattdessen einen einzelnen Befehl, dessen Prädikat alle Benutzeridentitäten enthält, die eine Bereinigung erfordern.

Bereinigungsprozess

Der Prozess der selektiven Löschung von Daten erfolgt in den folgenden Schritten:

  1. Phase 1: Geben Sie eine Eingabe mit einem Tabellennamen und einem Prädikat pro Datensatz an, das angibt, welche Datensätze gelöscht werden sollen. Kusto überprüft die Tabelle, um Datenausdehnungen zu identifizieren, die an der Datenbereinigung teilnehmen würden. Die identifizierten Bereiche sind diejenigen mit einem oder mehreren Datensätzen, für die das Prädikat "true" zurückgibt.

  2. Phase 2: (Vorläufiges Löschen) Ersetzen Sie jedes Datenumfang in der Tabelle (in Schritt (1)) durch eine neu aufgenommene Version. Die neu aufgenommene Version sollte nicht über die Datensätze verfügen, für die das Prädikat "true" zurückgibt. Wenn neue Daten nicht in die Tabelle aufgenommen werden, geben Abfragen bis Ende dieser Phase keine Daten mehr zurück, für die das Prädikat "true" zurückgibt. Die Dauer der Löschphase hängt von den folgenden Parametern ab:

    • Die Anzahl der Datensätze, die gelöscht werden müssen
    • Aufzeichnen der Verteilung über die Datendehnungen im Cluster
    • Die Anzahl der Knoten im Cluster
    • Die Ersatzkapazität für Löschvorgänge
    • Mehrere andere Faktoren

    Die Dauer von Phase 2 kann zwischen einigen Sekunden und vielen Stunden variieren.

  3. Phase 3: (Endgültiges Löschen) Arbeiten Sie alle Speicherartefakte zurück, die die "Gift"-Daten enthalten können, und löschen Sie sie aus dem Speicher. Diese Phase erfolgt mindestens fünf Tage nach Abschluss der vorherigen Phase, aber nicht mehr als 30 Tage nach dem ersten Befehl. Diese Zeitachsen sind so festgelegt, dass sie den Datenschutzanforderungen entsprechen.

Durch das Ausgeben eines .purge Befehls wird dieser Vorgang ausgelöst, der einige Tage dauert. Wenn die Dichte der Datensätze, für die das Prädikat gilt, ausreichend groß ist, wird der Prozess effektiv alle Daten in der Tabelle wieder aufnehmen. Diese Neuaufnahme hat erhebliche Auswirkungen auf die Leistung und die COGS (Kosten der verkauften Waren).

Bereinigungseinschränkungen und Überlegungen

  • Der Bereinigungsvorgang ist endgültig und kann nicht rückgängig gemacht werden. Es ist nicht möglich, diesen Vorgang rückgängig zu machen oder Daten wiederherzustellen, die gelöscht wurden. Befehle wie " Rückgängig"-Tabellenablage können gelöschte Daten nicht wiederherstellen. Ein Rollback der Daten zu einer früheren Version kann vor dem letzten Bereinigungsbefehl nicht ausgeführt werden.

  • Überprüfen Sie vor dem Ausführen der Bereinigung das Prädikat, indem Sie eine Abfrage ausführen und überprüfen, ob die Ergebnisse mit dem erwarteten Ergebnis übereinstimmen. Sie können auch den zweistufigen Prozess verwenden, der die erwartete Anzahl von Datensätzen zurückgibt, die gelöscht werden.

  • Der .purge Befehl wird für den Datenverwaltung Endpunkt ausgeführt: https://ingest-[YourClusterName].[region].kusto.windows.net. Der Befehl erfordert Berechtigungen vom Typ Datenbankadministrator für die relevanten Datenbanken.

  • Aufgrund der Auswirkungen auf die Bereinigung der Prozessleistung und um sicherzustellen, dass die Bereinigungsrichtlinien befolgt wurden, wird erwartet, dass der Aufrufer das Datenschema so ändert, dass minimale Tabellen relevante Daten enthalten, und Batchbefehle pro Tabelle, um die signifikanten COGS-Auswirkungen des Bereinigungsprozesses zu verringern.

  • Der predicate Parameter des Befehls ".purge " wird verwendet, um anzugeben, welche Datensätze gelöscht werden sollen. Predicate Die Größe ist auf 1 MB begrenzt. Beim Konstruieren der predicate:

Löschleistung

Nur eine Bereinigungsanforderung kann zu einem bestimmten Zeitpunkt auf dem Cluster ausgeführt werden. Alle anderen Anforderungen werden im Zustand in die Scheduled Warteschlange gestellt. Überwachen Sie die Größe der Bereinigungsanforderungswarteschlange, und halten Sie sich in angemessenen Grenzen, um die anforderungen für Ihre Daten zu erfüllen.

So reduzieren Sie die Bereinigungszeit:

  • Befolgen Sie die Bereinigungsrichtlinien , um die Menge der gelöschten Daten zu verringern.

  • Passen Sie die Zwischenspeicherungsrichtlinie an, da die Bereinigung länger für kalte Daten benötigt wird.

  • Skalieren des Clusters

  • Erhöhen Sie die Kapazität der Clusterbereinigung nach sorgfältiger Prüfung, wie in "Extents" beschrieben, um die Kapazität neu zu erstellen.

Auslösen des Bereinigungsprozesses

Hinweis

Die Bereinigungsausführung wird aufgerufen, indem der Befehl "TableName-Datensätze löschen" auf dem Datenverwaltung Endpunkt https://ingest-[YourClusterName].[ Region].kusto.windows.net.

Befehl 'TableName-Datensätze löschen'

Der Befehl "Löschen" kann auf zwei Arten für unterschiedliche Verwendungsszenarien aufgerufen werden:

  • Programmgesteuerter Aufruf: Ein einzelner Schritt, der von Anwendungen aufgerufen werden soll. Wenn Sie diesen Befehl aufrufen, wird die Bereinigungsausführungssequenz direkt ausgelöst.

    Syntax

    // Connect to the Data Management service
    #connect "https://ingest-[YourClusterName].[region].kusto.windows.net"
    
    // To purge table records
    .purge table [TableName] records in database [DatabaseName] with (noregrets='true') <| [Predicate]
    
    // To purge materialized view records
    .purge materialized-view [MaterializedViewName] records in database [DatabaseName] with (noregrets='true') <| [Predicate]
    
  • Menschliche Aufrufe: Ein zweistufiger Prozess, der eine explizite Bestätigung als separater Schritt erfordert. Der erste Aufruf des Befehls gibt ein Überprüfungstoken zurück, das zum Ausführen der tatsächlichen Bereinigung bereitgestellt werden soll. Diese Sequenz reduziert das Risiko, versehentlich falsche Daten zu löschen.

Hinweis

Der erste Schritt im zweistufigen Aufruf erfordert, dass eine Abfrage für das gesamte Dataset ausgeführt wird, um datensätze zu identifizieren, die gelöscht werden sollen. Bei dieser Abfrage kann ein Timeout auftreten oder bei großen Tabellen fehlschlagen, insbesondere bei erheblicher Menge an Kaltcachedaten. Überprüfen Sie bei Fehlern das Prädikat selbst, und verwenden Sie nach der Überprüfung der Korrektheit die Einzelschrittbereinigung mit der noregrets Option.

Syntax

Hinweis

Informationen zum Herstellen einer Verbindung mit einem Cluster mithilfe der Azure Data Explorer-Webbenutzeroberfläche finden Sie unter Hinzufügen von Clustern.

// Connect to the Data Management service - this command only works in Kusto.Explorer
#connect "https://ingest-[YourClusterName].[region].kusto.windows.net"

// Step #1 - retrieve a verification token (no records will be purged until step #2 is executed)
.purge table [TableName] records in database [DatabaseName] <| [Predicate]

// Step #2 - input the verification token to execute purge
.purge table [TableName] records in database [DatabaseName] with (verificationtoken=h'<verification token from step #1>') <| [Predicate]

Um eine materialisierte Ansicht zu löschen, ersetzen Sie das table Schlüsselwort durch materialized-view, und ersetzen Sie "TableName " durch " MaterializedViewName".

Parameter Beschreibung
DatabaseName Name der Datenbank
TableName / MaterializedViewName Name der tabellen-/materialisierten Ansicht, die gelöscht werden soll.
Predicate Identifiziert die zu löschenden Datensätze. Siehe Bereinigungsbeschränkungen für Prädikate.
noregrets Wenn dieser Wert festgelegt ist, wird eine Einzelschrittaktivierung ausgelöst.
verificationtoken Im Szenario der zweistufigen Aktivierung (noregrets ist nicht festgelegt) kann dieses Token verwendet werden, um den zweiten Schritt auszuführen und die Aktion zu übernehmen. Wenn verificationtoken nicht angegeben, wird der erste Schritt des Befehls ausgelöst. Informationen zur Bereinigung werden mit einem Token zurückgegeben, das an den Befehl zurückgesendet werden soll, um Schritt 2 auszuführen.

Bereinigen von Prädikatbeschränkungen

  • Das Prädikat muss eine einfache Auswahl sein (z. B. wobei [ColumnName] == 'X' / , wobei [ColumnName] in ('X', 'Y', 'Z') und [OtherColumn] == 'A' angegeben ist).
  • Mehrere Filter müssen mit einem "and" und nicht mit separaten where Klauseln kombiniert werden (z. B where [ColumnName] == 'X' and OtherColumn] == 'Y' . und nicht where [ColumnName] == 'X' | where [OtherColumn] == 'Y').
  • Das Prädikat kann nicht auf andere Tabellen als die zu löschende Tabelle (TableName) verweisen. Das Prädikat kann nur die Selection-Anweisung (where) enthalten. Bestimmte Spalten aus der Tabelle können nicht projiziert werden (Ausgabeschema beim Ausführen von 'table | Prädikat muss mit dem Tabellenschema übereinstimmen).
  • Systemfunktionen (z ingestion_time(). B. , extent_id()) werden nicht unterstützt.

Beispiel: Löschung in zwei Schritten

Führen Sie Schritt 1 des Befehls aus, um mit der Bereinigung in einem Zwei-Schritt-Aktivierungsszenario zu beginnen:

   // Connect to the Data Management service
   #connect "https://ingest-[YourClusterName].[region].kusto.windows.net"

   .purge table MyTable records in database MyDatabase <| where CustomerId in ('X', 'Y')

   .purge materialized-view MyView records in database MyDatabase <| where CustomerId in ('X', 'Y')

Output

NumRecordsToPurge EstimatedPurgeExecutionTime VerificationToken
1\.596 00:00:02 e43c7184ed22f4f23c7a9d7b124d196be2e570096987e5baadf65057fa65736b

Überprüfen Sie dann die ZahlRecordsToPurge, bevor Sie Schritt 2 ausführen.

Um eine Bereinigung in einem Zwei-Schritt-Aktivierungsszenario abzuschließen, verwenden Sie das überprüfungstoken, das aus Schritt 1 zurückgegeben wurde, um Schritt #2 auszuführen:

.purge table MyTable records in database MyDatabase
 with(verificationtoken=h'e43c7....')
<| where CustomerId in ('X', 'Y')

.purge materialized-view MyView records in database MyDatabase
 with(verificationtoken=h'e43c7....')
<| where CustomerId in ('X', 'Y')

Output

OperationId DatabaseName TableName ScheduledTime Duration LastUpdatedOn EngineOperationId State StateDetails EngineStartTime EngineDuration Retries ClientRequestId Principal
c9651d74-3b80-4183-90bb-bbe9e42eadc4 MyDatabase MyTable 2019-01-20 11:41:05.4391686 00:00:00.1406211 2019-01-20 11:41:05.4391686 Geplant 0 KE. RunCommand; 1d0ad28b-f791-4f5a-a60f-0e32318367b7 AAD app id=...

Beispiel: Einzelschritt-Bereinigung

Führen Sie den folgenden Befehl aus, um eine Bereinigung in einem Einzelschrittaktivierungsszenario auszulösen:

// Connect to the Data Management service
 #connect "https://ingest-[YourClusterName].[region].kusto.windows.net"

.purge table MyTable records in database MyDatabase with (noregrets='true') <| where CustomerId in ('X', 'Y')

.purge materialized-view MyView records in database MyDatabase with (noregrets='true') <| where CustomerId in ('X', 'Y')

Output

OperationId DatabaseName TableName ScheduledTime Duration LastUpdatedOn EngineOperationId State StateDetails EngineStartTime EngineDuration Retries ClientRequestId Principal
c9651d74-3b80-4183-90bb-bbe9e42eadc4 MyDatabase MyTable 2019-01-20 11:41:05.4391686 00:00:00.1406211 2019-01-20 11:41:05.4391686 Geplant 0 KE. RunCommand; 1d0ad28b-f791-4f5a-a60f-0e32318367b7 AAD app id=...

Befehl zum Abbrechen des Löschvorgangs

Bei Bedarf können Sie ausstehende Löschanforderungen abbrechen.

Hinweis

Dieser Vorgang ist für Fehlerwiederherstellungsszenarien vorgesehen. Es ist nicht garantiert, dass er erfolgreich ist und nicht Teil eines normalen Betriebsablaufs sein sollte. Sie kann nur auf Anforderungen angewendet werden, die sich noch in der Warteschlange befinden und noch nicht zur Ausführung verteilt wurden.

Syntax

 // Cancel of a single purge operation
 .cancel purge <OperationId>

  // Cancel of all pending purge requests in a database
 .cancel all purges in database <DatabaseName>

 // Cancel of all pending purge requests, for all databases
 .cancel all purges

Beispiel: Abbrechen eines einzelnen Bereinigungsvorgangs

 .cancel purge aa894210-1c60-4657-9d21-adb2887993e1

Output

Die Ausgabe dieses Befehls entspricht der Befehlsausgabe "Bereinigungsvorgangs-ID anzeigen", die den aktualisierten Status des Löschvorgangs anzeigt, der abgebrochen wird. Wenn der Versuch erfolgreich ist, wird der Vorgangszustand auf Canceled. Andernfalls wird der Vorgangszustand nicht geändert.

OperationId DatabaseName TableName ScheduledTime Duration LastUpdatedOn EngineOperationId State StateDetails EngineStartTime EngineDuration Retries ClientRequestId Principal
c9651d74-3b80-4183-90bb-bbe9e42eadc4 MyDatabase MyTable 2019-01-20 11:41:05.4391686 00:00:00.1406211 2019-01-20 11:41:05.4391686 Abgebrochen 0 KE. RunCommand; 1d0ad28b-f791-4f5a-a60f-0e32318367b7 AAD app id=...

Beispiel: Abbrechen aller ausstehenden Löschvorgänge in einer Datenbank

 .cancel all purges in database MyDatabase

Output

Die Ausgabe dieses Befehls entspricht der Anzeige der Befehlsausgabe zum Löschen von Löschvorgängen , wobei alle Vorgänge in der Datenbank mit dem aktualisierten Status angezeigt werden. Vorgänge, die erfolgreich abgebrochen wurden, werden mit dem Status aktualisiert Canceled. Andernfalls wird der Vorgangszustand nicht geändert.

OperationId DatabaseName TableName ScheduledTime Duration LastUpdatedOn EngineOperationId State StateDetails EngineStartTime EngineDuration Retries ClientRequestId Principal
5a34169e-8730-49f5-9694-7fde3a7a0139 MyDatabase MyTable 2021-03-03 05:07:29.7050198 00:00:00.2971331 2021-03-03 05:07:30.0021529 Abgebrochen 0 KE. RunCommand; 1d0ad28b-f791-4f5a-a60f-0e32318367b7 AAD app id=...
2fa7c04c-6364-4ce1-a5e5-1ab921f518f5 MyDatabase MyTable 2021-03-03 05:05:03.5035478 00:00:00.1406211 2021-03-03 05:05:03.6441689 InProgress 0 KE. RunCommand; 1d0ad28b-f791-4f5a-a60f-0e32318367b7 AAD app id=...

Nachverfolgen des Bereinigungsvorgangsstatus

Hinweis

Löschvorgänge können mit dem Befehl zum Löschen der Anzeige nachverfolgt werden, der für den Datenverwaltung Endpunkt https://ingest-[YourClusterName][ region].kusto.windows.net.

Status = 'Abgeschlossen' gibt den erfolgreichen Abschluss der ersten Phase des Bereinigungsvorgangs an, d. h. Datensätze werden vorläufig gelöscht und sind nicht mehr für die Abfrage verfügbar. Kunden werden nicht erwartet, dass der Abschluss der zweiten Phase (endgültig gelöscht) nachverfolgt und überprüft wird. Diese Phase wird intern überwacht.

Befehl 'Bereinigungen anzeigen'

Show purges Der Befehl zeigt den Bereinigungsvorgangsstatus an, indem die Vorgangs-ID innerhalb des angeforderten Zeitraums angegeben wird.

.show purges <OperationId>
.show purges [in database <DatabaseName>]
.show purges from '<StartDate>' [in database <DatabaseName>]
.show purges from '<StartDate>' to '<EndDate>' [in database <DatabaseName>]
Eigenschaften Beschreibung Obligatorisch/Optional
OperationId Die Datenverwaltung Vorgangs-ID, die nach der Ausführung einer einzelnen Phase oder zweiten Phase ausgegeben wurde. Obligatorisch.
StartDate Niedrigere Zeitlimit für Filtervorgänge. Wenn dieser Wert nicht angegeben wird, wird standardmäßig 24 Stunden vor der aktuellen Uhrzeit festgelegt. Optional
EndDate Obergrenze für Filtervorgänge. Wenn dieser Wert nicht angegeben wird, wird standardmäßig die aktuelle Uhrzeit verwendet. Optional
DatabaseName Datenbankname zum Filtern von Ergebnissen. Optional

Hinweis

Status wird nur für Datenbanken bereitgestellt, für die der Client über Berechtigungen für Datenbankadministratoren verfügt.

Beispiele

.show purges
.show purges c9651d74-3b80-4183-90bb-bbe9e42eadc4
.show purges from '2018-01-30 12:00'
.show purges from '2018-01-30 12:00' to '2018-02-25 12:00'
.show purges from '2018-01-30 12:00' to '2018-02-25 12:00' in database MyDatabase

Output

OperationId DatabaseName TableName ScheduledTime Duration LastUpdatedOn EngineOperationId State StateDetails EngineStartTime EngineDuration Retries ClientRequestId Principal
c9651d74-3b80-4183-90bb-bbe9e42eadc4 MyDatabase MyTable 2019-01-20 11:41:05.4391686 00:00:33.6782130 2019-01-20 11:42:34.6169153 a0825d4d-6b0f-47f3-a499-54ac5681ab78 Abgeschlossen Löschvorgang erfolgreich abgeschlossen (Speicherartefakte, die ausstehend gelöscht werden) 2019-01-20 11:41:34.6486506 00:00:04.4687310 0 KE. RunCommand; 1d0ad28b-f791-4f5a-a60f-0e32318367b7 AAD app id=...
  • OperationId - die DM-Vorgangs-ID, die beim Ausführen der Bereinigung zurückgegeben wird.
  • DatabaseName** - Datenbankname (Groß-/Kleinschreibung wird beachtet).
  • TableName - Tabellenname (Groß-/Kleinschreibung wird beachtet).
  • ScheduledTime - Zeitpunkt der Ausführung des Bereinigungsbefehls für den DM-Dienst.
  • Duration - Gesamtdauer des Bereinigungsvorgangs, einschließlich der Wartezeit der DM-Ausführungswarteschlange.
  • EngineOperationId - die Vorgangs-ID der tatsächlichen Bereinigung, die im Modul ausgeführt wird.
  • State - Bereinigungszustand kann einer der folgenden Werte sein:
    • Scheduled - Der Löschvorgang wird für die Ausführung geplant. Wenn der Auftrag weiterhin geplant ist, gibt es wahrscheinlich einen Backlog von Bereinigungsvorgängen. Sehen Sie sich die Bereinigungsleistung an, um diesen Backlog zu löschen. Wenn ein Bereinigungsvorgang bei einem vorübergehenden Fehler fehlschlägt, wird er von der DM wiederholt und erneut auf "Geplant" festgelegt (daher wird möglicherweise ein Vorgangsübergang von "Geplant" zu "InProgress" und "Zurück zu Geplant" angezeigt).
    • InProgress - der Bereinigungsvorgang wird im Modul ausgeführt.
    • Completed - Löschvorgang erfolgreich abgeschlossen.
    • BadInput - Fehler beim Löschen bei fehlerhafter Eingabe und wird nicht wiederholt. Dieser Fehler kann auf verschiedene Probleme zurückzuführen sein, z. B. ein Syntaxfehler im Prädikat, ein unzulässiges Prädikat für Löschbefehle, eine Abfrage, die Grenzwerte überschreitet (z. B. über 1M-Entitäten in einem externaldata Operator oder über 64 MB gesamt erweiterter Abfragegröße), und 404- oder 403-Fehler für externaldata Blobs.
    • Failed - Fehler beim Löschen und wird nicht wiederholt. Dieser Fehler kann auftreten, wenn der Vorgang aufgrund eines Backlogs anderer Bereinigungsvorgänge oder einer Reihe von Fehlern, die den Wiederholungsgrenzwert überschreiten, zu lange (über 14 Tage) in der Warteschlange wartete. Letzteres löst eine interne Überwachungswarnung aus und wird vom Team untersucht.
  • StateDetails - eine Beschreibung des Staates.
  • EngineStartTime - die Zeit, zu der der Befehl für das Modul ausgestellt wurde. Wenn zwischen dieser Zeit und ScheduledTime ein großer Unterschied besteht, gibt es in der Regel einen erheblichen Rückstau von Bereinigungsvorgängen, und der Cluster hält nicht mit dem Tempo schritt.
  • EngineDuration - Zeit der tatsächlichen Bereinigungsausführung im Modul. Wenn die Bereinigung mehrmals wiederholt wurde, ist dies die Summe aller Ausführungsdauern.
  • Retries - Anzahl der Wiederholungen des Vorgangs durch den DM-Dienst aufgrund eines vorübergehenden Fehlers.
  • ClientRequestId – Clientaktivitäts-ID der DM-Löschanforderung.
  • Principal - Identität des Herausgebers des Bereinigungsbefehls.

Löschen einer gesamten Tabelle

Das Löschen einer Tabelle umfasst das Ablegen der Tabelle und das Markieren der Tabelle als gelöscht, sodass der im Löschvorgang beschriebene Endgültiglöschvorgang darauf ausgeführt wird. Wenn Sie eine Tabelle ablegen, ohne sie zu löschen, werden nicht alle Speicherartefakte gelöscht. Diese Artefakte werden gemäß der endgültigen Aufbewahrungsrichtlinie gelöscht, die ursprünglich für die Tabelle festgelegt wurde. Der purge table allrecords Befehl ist schnell und effizient und ist dem Bereinigungsprozess von Datensätzen vorzuziehen, falls zutreffend für Ihr Szenario.

Hinweis

Der Befehl wird aufgerufen, indem der Befehl zum Löschen der Tabelle "TableName allrecords" auf dem Datenverwaltung Endpunkt https://ingest-[YourClusterName].[ region].kusto.windows.net.

Tabellentabellenname für alle Datensatze löschen

Ähnlich wie der Befehl '.purge table records ' kann dieser Befehl in einem programmgesteuerten (einzelstufigen) oder in einem manuellen Modus (zweiStufige) aufgerufen werden.

  1. Programmgesteuerter Aufruf (Einzelschritt):

    Syntax

    // Connect to the Data Management service
    #connect "https://ingest-[YourClusterName].[Region].kusto.windows.net"
    
    .purge table [TableName] in database [DatabaseName] allrecords with (noregrets='true')
    
  2. Menschliche Aufrufe (zwei Schritte):

    Syntax

    
    // Connect to the Data Management service
    #connect "https://ingest-[YourClusterName].[Region].kusto.windows.net"
    
    // Step #1 - retrieve a verification token (the table will not be purged until step #2 is executed)
    
    .purge table [TableName] in database [DatabaseName] allrecords
    
    // Step #2 - input the verification token to execute purge
    .purge table [TableName] in database [DatabaseName] allrecords with (verificationtoken=h'<verification token from step #1>')
    
    Parameter Beschreibung
    DatabaseName Der Name der Datenbank.
    TableName Name der Tabelle.
    noregrets Wenn dieser Wert festgelegt ist, wird eine Einzelschrittaktivierung ausgelöst.
    verificationtoken In Zwei-Schritt-Aktivierungsszenario (noregrets ist nicht festgelegt) kann dieses Token verwendet werden, um den zweiten Schritt auszuführen und die Aktion zu übernehmen. Wenn verificationtoken nicht angegeben, wird der erste Schritt des Befehls ausgelöst. In diesem Schritt wird ein Token zurückgegeben, um zurück an den Befehl zu übergeben und Schritt 2 auszuführen.

Beispiel: Löschung in zwei Schritten

  1. Führen Sie Schritt 1 des Befehls aus, um mit der Bereinigung in einem Zwei-Schritt-Aktivierungsszenario zu beginnen:

    // Connect to the Data Management service
     #connect "https://ingest-[YourClusterName].[Region].kusto.windows.net"
    
    .purge table MyTable in database MyDatabase allrecords
    

    Output

    VerificationToken
    e43c7184ed22f4f23c7a9d7b124d196be2e570096987e5baadf65057fa65736b
  2. Um eine Bereinigung in einem Zwei-Schritt-Aktivierungsszenario abzuschließen, verwenden Sie das überprüfungstoken, das aus Schritt 1 zurückgegeben wurde, um Schritt #2 auszuführen:

    .purge table MyTable in database MyDatabase allrecords
    with (verificationtoken=h'eyJT.....')
    

    Die Ausgabe entspricht der Befehlsausgabe ".show tables" (zurückgegeben ohne die gelöschte Tabelle).

    Output

    TableName DatabaseName Ordner DocString
    OtherTable MyDatabase --- ---

Beispiel: Einzelschritt-Bereinigung

Führen Sie den folgenden Befehl aus, um eine Bereinigung in einem Einzelschrittaktivierungsszenario auszulösen:

// Connect to the Data Management service
#connect "https://ingest-[YourClusterName].[Region].kusto.windows.net"

.purge table MyTable in database MyDatabase allrecords with (noregrets='true')

Die Ausgabe entspricht der Befehlsausgabe ".show tables" (zurückgegeben ohne die gelöschte Tabelle).

Output

TableName DatabaseName Ordner DocString
OtherTable MyDatabase --- ---