Przeczyszczanie danych
Uwaga
Ten artykuł zawiera kroki usuwania danych osobowych z urządzenia lub usługi i może służyć do obsługi zobowiązań wynikających z RODO. Aby uzyskać ogólne informacje na temat RODO, zobacz sekcję RODO w Centrum zaufania Firmy Microsoft i w sekcji RODO w portalu Service Trust Portal.
Jako platforma danych usługa Azure Data Explorer obsługuje możliwość usuwania poszczególnych rekordów przy użyciu usługi Kusto .purge
i powiązanych poleceń. Można również przeczyścić całą tabelę lub przeczyścić rekordy w zmaterializowanym widoku.
Ostrzeżenie
Usuwanie 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 usłudze Azure Data Explorer.
- W najlepszym przypadku okres przechowywania tych danych jest wystarczająco krótki i dane są automatycznie usuwane.
- Jeśli użycie okresu przechowywania nie jest możliwe, wyizoluj wszystkie dane, które podlegają regułom prywatności w kilku tabelach usługi Azure Data Explorer. 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 pozostałych tabel.
- Obiekt wywołujący powinien podjąć każdą próbę wykonania poleceń wsadowych
.purge
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 z usługi Azure Data Explorer odbywa się w następujących krokach:
Faza 1. Nadaj dane wejściowe z nazwą tabeli usługi Azure Data Explorer i predykatem dla rekordu wskazującym, 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ą. Pozyskowana wersja nie powinna zawierać rekordów, dla których predykat zwraca wartość true. Jeśli nowe dane nie są pozyskiwane do tabeli, po zakończeniu tej fazy zapytania nie będą już zwracać danych, dla których predykat zwraca wartość true. Czas trwania fazy przeczyszczania usuwania nietrwałego zależy 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ć "trujące" dane 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 są ustawione tak, aby spełniały wymagania dotyczące prywatności danych.
.purge
Wykonanie polecenia wyzwala ten proces, który trwa kilka dni. Jeśli gęstość rekordów, dla których ma zastosowanie predykat, jest wystarczająco duża, proces skutecznie pozyskuje wszystkie dane w tabeli. To ponowne 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. Wycofywanie danych do 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 do odpowiednich baz danych.Ze względu na wpływ na wydajność procesu przeczyszczania i zagwarantowania, ż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 przeczyszczenia.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. - Łączny rozmiar zapytania po rozwinięciu wszystkich obiektów blob (całkowity 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 żądań 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ść przeczyszczanych 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 ponownego kompilowania.
Wyzwalanie procesu przeczyszczania
Uwaga
Wykonanie przeczyszczania jest wywoływane przez uruchomienie polecenia przeczyszczania tabel 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 ludzkie: 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 przeczyszczenia. 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 spowodować przekroczenie limitu czasu lub niepowodzenie w dużych tabelach, szczególnie w przypadku znacznej ilości zimnych danych w 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 table
słowo kluczowe ciągiem i zastąp materialized-view
element TableName elementem MaterializedViewName.
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. |
Przeczyszczanie ograniczeń predykatu
- 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żna projektować określonych kolumn z tabeli (schemat danych wyjściowych 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')
Dane wyjściowe
NumRecordsToPurge | EstimatedPurgeExecutionTime | Weryfikacja Token |
---|---|---|
1,596 | 00:00:02 | e43c7184ed22f4f23c7a9d7b124d196be2e570096987e5baadf65057fa65736b |
Następnie zweryfikuj wartość NumRecordsToPurge przed uruchomieniem kroku 2.
Aby ukończyć przeczyszczanie 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')
Dane wyjściowe
OperationId |
DatabaseName |
TableName |
ScheduledTime |
Duration |
LastUpdatedOn |
EngineOperationId |
State |
StateDetails |
EngineStartTime |
EngineDuration |
Retries |
ClientRequestId |
Principal |
---|---|---|---|---|---|---|---|---|---|---|---|---|---|
c9651d74-3b80-4183-90bb-bbe9e42eadc4 | Mojabazadanych | Mytable | 2019-01-20 11:41:05.4391686 | 00:00:00.1406211 | 2019-01-20 11:41:05.4391686 | Zaplanowana | 0 | KE. RunCommand; 1d0ad28b-f791-4f5a-a60f-0e32318367b7 | Identyfikator aplikacji usługi AAD= ... |
Przykład: przeczyszczanie jednoetapowe
Aby wyzwolić przeczyszczanie 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')
Dane wyjściowe
OperationId |
DatabaseName |
TableName |
ScheduledTime |
Duration |
LastUpdatedOn |
EngineOperationId |
State |
StateDetails |
EngineStartTime |
EngineDuration |
Retries |
ClientRequestId |
Principal |
---|---|---|---|---|---|---|---|---|---|---|---|---|---|
c9651d74-3b80-4183-90bb-bbe9e42eadc4 | Mojabazadanych | Mytable | 2019-01-20 11:41:05.4391686 | 00:00:00.1406211 | 2019-01-20 11:41:05.4391686 | Zaplanowana | 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 przeczyszczenia.
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
Dane wyjściowe
Dane wyjściowe tego polecenia są takie same jak dane wyjściowe polecenia "show purges OperationId", pokazujące zaktualizowany stan operacji przeczyszczania jest anulowany.
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 | Mojabazadanych | Mytable | 2019-01-20 11:41:05.4391686 | 00:00:00.1406211 | 2019-01-20 11:41:05.4391686 | Anulowane | 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
Dane wyjściowe
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 anulowane pomyślnie, 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 | Mojabazadanych | Mytable | 2021-03-03 05:07:29.7050198 | 00:00:00.2971331 | 2021-03-03 05:07:30.0021529 | Anulowane | 0 | KE. RunCommand; 1d0ad28b-f791-4f5a-a60f-0e32318367b7 | Identyfikator aplikacji usługi AAD= ... | ||||
2fa7c04c-6364-4ce1-a5e5-1ab921f518f5 | Mojabazadanych | 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 pokaż przeczyszczanie, wykonywanego względem punktu końcowego https://ingest-Zarządzanie danymi [YourClusterName].[ region].kusto.windows.net.
Stan = "Ukończono" oznacza 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 przez usługę Azure Data Explorer.
Pokaż polecenie przeczyszczania
Show purges
Polecenie wyświetla stan operacji przeczyszczania, określając identyfikator operacji w żądanym przedziale czasu.
.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 jednej fazy lub drugiej fazy. | Obowiązkowy |
StartDate |
Krótszy limit czasu dla operacji filtrowania. Jeśli pominięto, wartość domyślna to 24 godziny przed bieżącą godziną. | Opcjonalne |
EndDate |
Górny limit czasu operacji filtrowania. Jeśli pominięto, wartość domyślna to bieżący czas. | Opcjonalne |
DatabaseName |
Nazwa bazy danych do filtrowania wyników. | Opcjonalne |
Uwaga
Stan będzie udostępniany tylko w bazach danych, dla których klient ma uprawnienia Administracja 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
Dane wyjściowe
OperationId |
DatabaseName |
TableName |
ScheduledTime |
Duration |
LastUpdatedOn |
EngineOperationId |
State |
StateDetails |
EngineStartTime |
EngineDuration |
Retries |
ClientRequestId |
Principal |
---|---|---|---|---|---|---|---|---|---|---|---|---|---|
c9651d74-3b80-4183-90bb-bbe9e42eadc4 | Mojabazadanych | 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ślne przeczyszczenie (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 (rozróżniana wielkość liter).TableName
— nazwa tabeli (uwzględniana wielkość 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
— stan przeczyszczania 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 zakończy się niepowodzeniem w przypadku błędu przejściowego, zostanie ponowiona przez dm i ustawiona ponownie na Wartość Zaplanowana (dlatego może zostać wyświetlona operacja przejścia z zaplanowanej na inProgress i z powrotem do zaplanowanej).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, nielegalny predykat poleceń przeczyszczania, zapytanie, które przekracza limity (na przykład ponad 1M jednostek w operatorzeexternaldata
lub ponad 64 MB całkowitego rozszerzonego rozmiaru zapytania) i 404 lub 403 błędów 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), ze względu na listę prac innych operacji przeczyszczania lub wiele błędów, które przekraczają limit ponawiania prób. Ten ostatni zgłosi wewnętrzny alert monitorowania i zostanie zbadany przez zespół ds. Data Explorer platformy Azure.
StateDetails
— opis stanu.EngineStartTime
- czas wydania polecenia do aparatu. Jeśli istnieje duża różnica między tym czasem a HarmonogramemTime, zwykle istnieje znaczna lista prac operacji przeczyszczania, a klaster nie nadąża za tempem.EngineDuration
- czas rzeczywistego przeczyszczania w aucie. Jeśli ponawianie zostało ponawiane kilka razy, jest to suma wszystkich czasów trwania wykonywania.Retries
— liczba ponownych prób 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 w taki sposób, 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 początkowo ustawionymi w tabeli.
Polecenie purge table allrecords
jest szybkie i wydajne i jest preferowane do procesu przeczyszczania rekordów, jeśli dotyczy danego scenariusza.
Uwaga
Polecenie jest wywoływane przez uruchomienie polecenia table table 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 ", to polecenie można wywołać 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: przeczyszczenie 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
Dane wyjściowe
VerificationToken
e43c7184ed22f4f23c7a9d7b124d196be2e570096987e5baadf65057fa65736b 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).
Dane wyjściowe
TableName DatabaseName Folder DocString OtherTable Mojabazadanych --- ---
Przykład: przeczyszczenie 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).
Dane wyjściowe
TableName | DatabaseName | Folder | DocString |
---|---|---|---|
OtherTable | Mojabazadanych | --- | --- |
Zawartość pokrewna
Opinia
https://aka.ms/ContentUserFeedback.
Dostępne już wkrótce: W 2024 r. będziemy stopniowo wycofywać zgłoszenia z serwisu GitHub jako mechanizm przesyłania opinii na temat zawartości i zastępować go nowym systemem opinii. Aby uzyskać więcej informacji, sprawdź:Prześlij i wyświetl opinię dla