Przeczyszczanie danych
Dotyczy: ✅Azure Data Explorer
Uwaga
Ten artykuł zawiera kroki usuwania danych osobowych z urządzenia lub usługi i może służyć do wspierania zobowiązań wynikających z RODO. Aby uzyskać ogólne informacje o RODO, zobacz sekcję RODO w Centrum zaufania Microsoft i sekcję RODO w portalu zaufania usług.
Platforma danych obsługuje możliwość usuwania poszczególnych rekordów przy użyciu usługi Kusto .purge
i powiązanych poleceń. Możesz również przeczyścić całą tabelę lub przeczyścić rekordy w zmaterializowanym widoku.
Ostrzeżenie
Usunięcie danych za pomocą .purge
polecenia jest przeznaczone do ochrony danych osobowych i nie powinno być używane w innych scenariuszach. Nie jest ona przeznaczona do obsługi częstych żądań usuwania ani usuwania ogromnych ilości danych i może mieć znaczący wpływ na wydajność usługi.
Wytyczne dotyczące przeczyszczania
Starannie zaprojektuj schemat danych i zbadaj odpowiednie zasady przed zapisaniem danych osobowych.
- W najlepszym przypadku okres przechowywania tych danych jest wystarczająco krótki, a dane są usuwane automatycznie.
- Jeśli użycie okresu przechowywania nie jest możliwe, wyizoluj wszystkie dane, które podlegają regułom ochrony prywatności w kilku tabelach. Optymalnie użyj tylko jednej tabeli i połącz ją ze wszystkimi innymi tabelami. Ta izolacja umożliwia uruchomienie procesu przeczyszczania danych w kilku tabelach przechowującej poufne dane i uniknięcie wszystkich innych tabel.
- Obiekt wywołujący powinien podjąć każdą próbę wsadowania
.purge
wykonywania poleceń do 1–2 poleceń na tabelę dziennie. Nie należy wystawiać wielu poleceń z unikatowymi predykatami tożsamości użytkownika. Zamiast tego wyślij jedno polecenie, którego predykat zawiera wszystkie tożsamości użytkowników, które wymagają przeczyszczania.
Proces przeczyszczania
Proces selektywnego przeczyszczania danych odbywa się w następujących krokach:
Faza 1. Nadaj dane wejściowe z nazwą tabeli i predykatem dla rekordu, wskazując, które rekordy mają zostać usunięte. Usługa Kusto skanuje tabelę w celu zidentyfikowania zakresów danych, które mogłyby uczestniczyć w przeczyszczeniu danych. Zidentyfikowane zakresy to te, które mają co najmniej jeden rekord, dla którego predykat zwraca wartość true.
Faza 2: (Usuwanie nietrwałe) Zastąp każdy zakres danych w tabeli (zidentyfikowany w kroku (1)) ponownie pozyskaną wersją. Ponownie pozyskana wersja nie powinna zawierać rekordów, dla których predykat zwraca wartość true. Jeśli nowe dane nie są pozyskiwane do tabeli, do końca tej fazy zapytania nie będą już zwracać danych, dla których predykat zwraca wartość true. Czas trwania fazy usuwania nietrwałego jest zależny od następujących parametrów:
- Liczba rekordów, które muszą zostać przeczyszczone
- Dystrybucja rekordów w zakresach danych w klastrze
- Liczba węzłów w klastrze
- Pojemność zapasowa, która ma na potrzeby operacji przeczyszczania
- Kilka innych czynników
Czas trwania fazy 2 może się różnić od kilku sekund do wielu godzin.
Faza 3: (Usuwanie twarde) Wykonaj kopię zapasową wszystkich artefaktów magazynu, które mogą mieć dane "trucizny" i usuń je z magazynu. Ta faza jest wykonywana co najmniej pięć dni po zakończeniu poprzedniej fazy, ale nie dłużej niż 30 dni po początkowym poleceniu. Te osie czasu mają być zgodne z wymaganiami dotyczącymi prywatności danych.
.purge
Wykonanie polecenia wyzwala ten proces, który trwa kilka dni. Jeśli gęstość rekordów, dla których stosuje się predykat, jest wystarczająco duża, proces skutecznie pozyska wszystkie dane w tabeli. To pozyskiwanie ma znaczący wpływ na wydajność i COGS (koszt sprzedanych towarów).
Ograniczenia i zagadnienia dotyczące przeczyszczania
Proces przeczyszczania jest ostateczny i nieodwracalny. Nie można cofnąć tego procesu ani odzyskać danych, które zostały przeczyszczone. Polecenia, takie jak cofanie porzucania tabeli, nie mogą odzyskać przeczyszczonych danych. Wycofanie danych z poprzedniej wersji nie może przejść do poprzedniej wersji przed najnowszym poleceniem przeczyszczania.
Przed uruchomieniem przeczyszczania sprawdź predykat, uruchamiając zapytanie i sprawdzając, czy wyniki są zgodne z oczekiwanym wynikiem. Można również użyć dwuetapowego procesu, który zwraca oczekiwaną liczbę rekordów, które zostaną przeczyszczone.
Polecenie
.purge
jest wykonywane względem punktu końcowego Zarządzanie danymi:https://ingest-[YourClusterName].[region].kusto.windows.net
. Polecenie wymaga uprawnień administratora bazy danych w odpowiednich bazach danych.Ze względu na wpływ na wydajność procesu przeczyszczania i zagwarantowanie, że zostały przestrzegane wytyczne dotyczące przeczyszczania, obiekt wywołujący ma zmodyfikować schemat danych, tak aby minimalne tabele zawierały odpowiednie dane i polecenia wsadowe na tabelę, aby zmniejszyć znaczący wpływ procesu przeczyszczania.
Parametr
predicate
polecenia przeczyszczania służy do określania rekordów do przeczyszczania.Predicate
rozmiar jest ograniczony do 1 MB. Podczas konstruowania elementupredicate
:- Użyj operatora "in", na przykład
where [ColumnName] in ('Id1', 'Id2', .. , 'Id1000')
. - Zwróć uwagę na limity operatora "in" (lista może zawierać maksymalnie
1,000,000
wartości). - Jeśli rozmiar zapytania jest duży, użyj
externaldata
operatora, na przykładwhere UserId in (externaldata(UserId:string) ["https://...blob.core.windows.net/path/to/file?..."])
. Plik przechowuje listę identyfikatorów do przeczyszczenia. - Całkowity rozmiar zapytania po rozwinięciu wszystkich obiektów blob (łączny rozmiar wszystkich
externaldata
obiektów blob) nie może przekroczyć 64 MB.
- Użyj operatora "in", na przykład
Wydajność przeczyszczania
W klastrze można wykonać tylko jedno żądanie przeczyszczania w danym momencie. Wszystkie inne żądania są w kolejce w Scheduled
stanie.
Monitoruj rozmiar kolejki żądania przeczyszczania i zachowaj odpowiednie limity, aby spełnić wymagania dotyczące danych.
Aby skrócić czas wykonywania przeczyszczania:
Postępuj zgodnie z wytycznymi dotyczącymi przeczyszczania, aby zmniejszyć ilość przeczyszczonych danych.
Dostosuj zasady buforowania, ponieważ przeczyszczenie trwa dłużej na zimnych danych.
Skalowanie klastra w poziomie
Zwiększ pojemność przeczyszczania klastra, po rozważnym rozważeniu, zgodnie z opisem w temacie Zakresy przeczyszczania pojemności ponownej kompilacji.
Wyzwalanie procesu przeczyszczania
Uwaga
Wykonanie przeczyszczania jest wywoływane przez uruchomienie polecenia tableName przeczyszczania tabeli TableName w punkcie końcowym https://ingest-Zarządzanie danymi [YourClusterName].[ Region].kusto.windows.net.
Przeczyść tabelę TableName — polecenie
Polecenie przeczyszczania może być wywoływane na dwa sposoby dla różnych scenariuszy użycia:
Wywołanie programowe: pojedynczy krok, który ma być wywoływany przez aplikacje. Wywołanie tego polecenia bezpośrednio wyzwala sekwencję wykonywania przeczyszczania.
Składnia
// 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]
Wywołanie człowieka: proces dwuetapowy, który wymaga jawnego potwierdzenia jako oddzielnego kroku. Pierwsze wywołanie polecenia zwraca token weryfikacyjny, który należy podać w celu uruchomienia rzeczywistego przeczyszczania. Ta sekwencja zmniejsza ryzyko nieumyślnego usunięcia nieprawidłowych danych.
Uwaga
Pierwszy krok wywołania dwuetapowego wymaga uruchomienia zapytania w całym zestawie danych, aby zidentyfikować rekordy do przeczyszczania.
To zapytanie może upłynął limit czasu lub zakończyć się niepowodzeniem w dużych tabelach, zwłaszcza w przypadku znacznej ilości danych zimnej pamięci podręcznej. W przypadku awarii zweryfikuj predykat samodzielnie i po zweryfikowaniu poprawności użyj przeczyszczania jednoetapowego z opcją noregrets
.
Składnia
Uwaga
Aby nawiązać połączenie z klastrem przy użyciu internetowego interfejsu użytkownika usługi Azure Data Explorer, zobacz Dodawanie klastrów.
// 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]
Aby przeczyścić zmaterializowany widok, zastąp słowo kluczowe ciągiem , i zastąp ciąg TableName wartością materialized-view
MaterializedViewName.table
Parametry | opis |
---|---|
DatabaseName |
Nazwa bazy danych |
TableName / MaterializedViewName |
Nazwa tabeli /zmaterializowanego widoku do przeczyszczenia. |
Predicate |
Identyfikuje rekordy do przeczyszczenia. Zobacz przeczyszczanie ograniczeń predykatu. |
noregrets |
W przypadku ustawienia wyzwala aktywację jednoetapową. |
verificationtoken |
W scenariuszu aktywacji dwuetapowej (noregrets nie ustawiono) ten token może służyć do wykonania drugiego kroku i zatwierdzenia akcji. Jeśli verificationtoken nie zostanie określony, spowoduje to wyzwolenie pierwszego kroku polecenia. Informacje o przeczyszczeniu zostaną zwrócone przy użyciu tokenu, który powinien zostać przekazany z powrotem do polecenia w celu wykonania kroku 2. |
Ograniczenia predykatu przeczyszczania
- Predykat musi być prostym wyborem (na przykład gdzie [ColumnName] == "X" / , gdzie [Nazwakolumny] w ("X", "Y", "Z") i [OtherColumn] == "A".
- Wiele filtrów musi być połączonych z klauzulą "and", a nie z oddzielnymi
where
klauzulami (na przykładwhere [ColumnName] == 'X' and OtherColumn] == 'Y'
, a niewhere [ColumnName] == 'X' | where [OtherColumn] == 'Y'
). - Predykat nie może odwoływać się do tabel innych niż tabela przeczyszczona (TableName). Predykat może zawierać tylko instrukcję wyboru (
where
). Nie może ona projektować określonych kolumn z tabeli (schemat wyjściowy podczas uruchamiania polecenia "table
| Predykat musi być zgodny ze schematem tabeli). - Funkcje systemowe (takie jak
ingestion_time()
, ),extent_id()
nie są obsługiwane.
Przykład: przeczyszczanie dwuetapowe
Aby rozpocząć przeczyszczanie w scenariuszu aktywacji dwuetapowej, uruchom krok 1 polecenia:
// 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')
Wyjście
LiczbarekordówToPurge | EstimatedPurgeExecutionTime | VerificationToken |
---|---|---|
1,596 | 00:00:02 | e43c7184ed22f23c7a9d7b124d196be2e570096987e5baadf65057fa65736b |
Następnie zweryfikuj wartość NumRecordsToPurge przed uruchomieniem kroku 2.
Aby ukończyć przeczyszczenie w scenariuszu aktywacji dwuetapowej, użyj tokenu weryfikacji zwróconego z kroku 1, aby uruchomić krok 2:
.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')
Wyjście
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 | Zaplanowane | 0 | KE. RunCommand; 1d0ad28b-f791-4f5a-a60f-0e32318367b7 | Identyfikator aplikacji usługi AAD= ... |
Przykład: przeczyszczanie jednoetapowe
Aby wyzwolić przeczyszczenie w scenariuszu aktywacji jednoetapowej, uruchom następujące polecenie:
// 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')
Wyjście
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 | Zaplanowane | 0 | KE. RunCommand; 1d0ad28b-f791-4f5a-a60f-0e32318367b7 | Identyfikator aplikacji usługi AAD= ... |
Anuluj operację przeczyszczania
W razie potrzeby możesz anulować oczekujące żądania przeczyszczania.
Uwaga
Ta operacja jest przeznaczona dla scenariuszy odzyskiwania błędów. Nie gwarantuje to powodzenia i nie powinno być częścią normalnego przepływu operacyjnego. Można go stosować tylko do żądań, które są nadal w kolejce i nie zostały jeszcze wysłane do wykonania.
Składnia
// 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
Przykład: anulowanie pojedynczej operacji przeczyszczania
.cancel purge aa894210-1c60-4657-9d21-adb2887993e1
Wyjście
Dane wyjściowe tego polecenia są takie same jak dane wyjściowe polecenia "show purges OperationId", pokazujące zaktualizowany stan anulowanej operacji przeczyszczania.
Jeśli próba zakończy się pomyślnie, stan operacji zostanie zaktualizowany do Canceled
. W przeciwnym razie stan operacji nie zostanie zmieniony.
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 | Anulowany | 0 | KE. RunCommand; 1d0ad28b-f791-4f5a-a60f-0e32318367b7 | Identyfikator aplikacji usługi AAD= ... |
Przykład: Anulowanie wszystkich oczekujących operacji przeczyszczania w bazie danych
.cancel all purges in database MyDatabase
Wyjście
Dane wyjściowe tego polecenia są takie same jak dane wyjściowe polecenia pokaż przeczyszczanie , pokazując wszystkie operacje w bazie danych ze zaktualizowanym stanem.
Operacje, które zostały pomyślnie anulowane, będą miały stan zaktualizowany do Canceled
. W przeciwnym razie stan operacji nie zostanie zmieniony.
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 | Anulowany | 0 | KE. RunCommand; 1d0ad28b-f791-4f5a-a60f-0e32318367b7 | Identyfikator aplikacji usługi AAD= ... | ||||
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 | Identyfikator aplikacji usługi AAD= ... |
Śledzenie stanu operacji przeczyszczania
Uwaga
Operacje przeczyszczania można śledzić za pomocą polecenia show purges, wykonywanego względem punktu końcowego https://ingest-Zarządzanie danymi [YourClusterName].[ region].kusto.windows.net.
Stan = "Ukończono" wskazuje pomyślne zakończenie pierwszej fazy operacji przeczyszczania, czyli rekordy są usuwane nietrwale i nie są już dostępne do wykonywania zapytań. Klienci nie powinni śledzić i weryfikować ukończenia drugiej fazy (usunięcia twardego). Ta faza jest monitorowana wewnętrznie.
Pokaż polecenie przeczyszczania
Show purges
Polecenie wyświetla stan operacji przeczyszczania, określając identyfikator operacji w żądanym okresie.
.show purges <OperationId>
.show purges [in database <DatabaseName>]
.show purges from '<StartDate>' [in database <DatabaseName>]
.show purges from '<StartDate>' to '<EndDate>' [in database <DatabaseName>]
Właściwości | opis | Obowiązkowe/opcjonalne |
---|---|---|
OperationId |
Identyfikator operacji Zarządzanie danymi wygenerowany po wykonaniu pojedynczej fazy lub drugiej fazy. | Obowiązkowy |
StartDate |
Krótszy limit czasu dla operacji filtrowania. W przypadku pominięcia wartość domyślna to 24 godziny przed bieżącym czasem. | Opcjonalnie |
EndDate |
Górny limit czasu dla operacji filtrowania. Jeśli pominięto, wartość domyślna to bieżąca godzina. | Opcjonalnie |
DatabaseName |
Nazwa bazy danych do filtrowania wyników. | Opcjonalnie |
Uwaga
Stan będzie udostępniany tylko w bazach danych, dla których klient ma uprawnienia administratora bazy danych.
Przykłady
.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
Wyjście
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 | Ukończone | Pomyślnie ukończono przeczyszczanie (artefakty magazynu oczekujące na usunięcie) | 2019-01-20 11:41:34.6486506 | 00:00:04.4687310 | 0 | KE. RunCommand; 1d0ad28b-f791-4f5a-a60f-0e32318367b7 | Identyfikator aplikacji usługi AAD= ... |
OperationId
— identyfikator operacji DM zwrócony podczas wykonywania przeczyszczania.DatabaseName
** — nazwa bazy danych (z uwzględnieniem wielkości liter).TableName
— nazwa tabeli (z uwzględnieniem wielkości liter).ScheduledTime
- czas wykonywania polecenia przeczyszczania do usługi DM.Duration
— całkowity czas trwania operacji przeczyszczania, w tym czas oczekiwania kolejki DM wykonywania.EngineOperationId
- identyfikator operacji rzeczywistego przeczyszczania wykonywanego w aucie.State
- przeczyszczanie stanu może być jedną z następujących wartości:Scheduled
- Operacja przeczyszczania jest zaplanowana do wykonania. Jeśli zadanie pozostanie zaplanowane, prawdopodobnie istnieje zaległość operacji przeczyszczania. Zobacz przeczyszczanie wydajności , aby wyczyścić tę listę prac. Jeśli operacja przeczyszczania nie powiedzie się w przypadku błędu przejściowego, zostanie ponowiona przez dm i ustawiona na Zaplanowane ponownie (dlatego może zostać wyświetlona operacja przejścia z zaplanowanego na InProgress i z powrotem do zaplanowanego).InProgress
- operacja przeczyszczania jest w toku w silniku.Completed
— przeczyszczanie zostało zakończone pomyślnie.BadInput
— przeczyszczenie nie powiodło się na nieprawidłowych danych wejściowych i nie zostanie ponowione. Ten błąd może być spowodowany różnymi problemami, takimi jak błąd składniowy w predykacie, niedozwolony predykat poleceń przeczyszczania, zapytanie, które przekracza limity (na przykład ponad 1M jednostek wexternaldata
operatorze lub ponad 64 MB całkowitego rozszerzonego rozmiaru zapytania) i 404 lub 403 błędy dlaexternaldata
obiektów blob.Failed
- Przeczyszczenie nie powiodło się i nie zostanie ponowione. Ten błąd może wystąpić, jeśli operacja czekała w kolejce zbyt długo (ponad 14 dni) z powodu zaległości innych operacji przeczyszczania lub wielu błędów przekraczających limit ponawiania prób. Ten ostatni zgłosi wewnętrzny alert monitorowania i zostanie zbadany przez zespół.
StateDetails
- opis stanu.EngineStartTime
- czas wydania polecenia do aparatu. Jeśli istnieje duża różnica między tym czasem a ScheduledTime, zazwyczaj istnieje znaczna lista prac operacji przeczyszczania, a klaster nie nadąża za tempem.EngineDuration
- czas rzeczywistego wykonania przeczyszczania w silniku. Jeśli przeczyszczenie zostało ponawiane kilka razy, jest to suma wszystkich czasów trwania wykonywania.Retries
— liczba ponownych prób wykonania operacji przez usługę DM z powodu błędu przejściowego.ClientRequestId
— identyfikator działania klienta żądania przeczyszczania DM.Principal
- tożsamość wystawcy polecenia przeczyszczania.
Przeczyszczanie całej tabeli
Przeczyszczanie tabeli obejmuje upuszczanie tabeli i oznaczanie jej jako przeczyszczanej, tak aby proces usuwania twardego opisany w procesie przeczyszczania był uruchamiany na nim.
Usuwanie tabeli bez przeczyszczania nie powoduje usunięcia wszystkich artefaktów magazynu. Te artefakty są usuwane zgodnie z zasadami przechowywania twardego ustawionego początkowo w tabeli.
Polecenie purge table allrecords
jest szybkie i wydajne i preferowane do procesu przeczyszczania rekordów, jeśli ma to zastosowanie w danym scenariuszu.
Uwaga
Polecenie jest wywoływane przez uruchomienie polecenia tablename przeczyszczania TableName allrecords w punkcie końcowym https://ingest-Zarządzanie danymi [YourClusterName].[ region].kusto.windows.net.
Przeczyść tabelę TableName allrecords — polecenie
Podobnie jak polecenie ".purge table records " można wywołać to polecenie w trybie programowym (jednoetapowym) lub w trybie ręcznym (dwuetapowym).
Wywołanie programowe (jednoetapowe):
Składnia
// Connect to the Data Management service #connect "https://ingest-[YourClusterName].[Region].kusto.windows.net" .purge table [TableName] in database [DatabaseName] allrecords with (noregrets='true')
Wywołanie ludzkie (dwa kroki):
Składnia
// 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>')
Parametry opis DatabaseName
Nazwa bazy danych. TableName
Nazwa tabeli. noregrets
W przypadku ustawienia wyzwala aktywację jednoetapową. verificationtoken
W scenariuszu aktywacji dwuetapowej ( noregrets
nie ustawiono) ten token może służyć do wykonania drugiego kroku i zatwierdzenia akcji. Jeśliverificationtoken
nie zostanie określony, spowoduje to wyzwolenie pierwszego kroku polecenia. W tym kroku zostanie zwrócony token, aby wrócić do polecenia i wykonać krok 2.
Przykład: przeczyszczanie dwuetapowe
Aby rozpocząć przeczyszczanie w scenariuszu aktywacji dwuetapowej, uruchom krok 1 polecenia:
// Connect to the Data Management service #connect "https://ingest-[YourClusterName].[Region].kusto.windows.net" .purge table MyTable in database MyDatabase allrecords
Wyjście
VerificationToken
e43c7184ed22f23c7a9d7b124d196be2e570096987e5baadf65057fa65736b Aby ukończyć przeczyszczenie w scenariuszu aktywacji dwuetapowej, użyj tokenu weryfikacji zwróconego z kroku 1, aby uruchomić krok 2:
.purge table MyTable in database MyDatabase allrecords with (verificationtoken=h'eyJT.....')
Dane wyjściowe są takie same jak dane wyjściowe polecenia ".show tables" (zwracane bez przeczyszczonej tabeli).
Wyjście
TableName DatabaseName Folder DocString OtherTable MyDatabase --- ---
Przykład: przeczyszczanie jednoetapowe
Aby wyzwolić przeczyszczenie w scenariuszu aktywacji jednoetapowej, uruchom następujące polecenie:
// Connect to the Data Management service
#connect "https://ingest-[YourClusterName].[Region].kusto.windows.net"
.purge table MyTable in database MyDatabase allrecords with (noregrets='true')
Dane wyjściowe są takie same jak dane wyjściowe polecenia ".show tables" (zwracane bez przeczyszczonej tabeli).
Wyjście
TableName | DatabaseName | Folder | DocString |
---|---|---|---|
OtherTable | MyDatabase | --- | --- |