데이터 제거
적용 대상: ✅Azure Data Explorer
참고 항목
이 문서에서는 디바이스 또는 서비스에서 개인 데이터를 삭제하는 방법에 대한 단계를 제공하며 GDPR에 따라 의무를 지원하는 데 사용할 수 있습니다. GDPR에 대한 일반정인 정보는 Microsoft Trust Center의 GDPR 섹션 및 Service Trust 포털의 GDPR 섹션을 참조하세요.
데이터 플랫폼은 Kusto .purge
및 관련 명령을 사용하여 개별 레코드를 삭제하는 기능을 지원합니다. 구체화된 뷰에서 전체 테이블을 제거하거나 레코드를 제거할 수도 있습니다.
Warning
명령을 통한 .purge
데이터 삭제는 개인 데이터를 보호하는 데 사용하도록 설계되었으며 다른 시나리오에서는 사용할 수 없습니다. 자주 삭제 요청 또는 대량의 데이터 삭제를 지원하도록 설계되지 않았으며 서비스에 상당한 성능 영향을 미칠 수 있습니다.
제거 지침
개인 데이터를 저장하기 전에 데이터 스키마를 신중하게 디자인하고 관련 정책을 조사합니다.
- 최상의 시나리오에서는 이 데이터의 보존 기간이 충분히 짧고 데이터가 자동으로 삭제됩니다.
- 보존 기간 사용이 불가능한 경우 일부 테이블에서 개인 정보 보호 규칙의 적용을 받는 모든 데이터를 격리합니다. 최적으로 하나의 테이블만 사용하고 다른 모든 테이블에서 연결합니다. 이 격리를 사용하면 중요한 데이터를 보유하는 몇 개의 테이블에서 데이터 제거 프로세스를 실행하고 다른 모든 테이블을 방지할 수 있습니다.
- 호출자는 명령 실행을
.purge
매일 테이블당 1-2개 명령으로 일괄 처리하려고 시도해야 합니다. 고유한 사용자 ID 조건자를 사용하여 여러 명령을 실행하지 마세요. 대신, 조건자가 제거가 필요한 모든 사용자 ID를 포함하는 단일 명령을 보냅니다.
제거 프로세스
데이터를 선택적으로 제거하는 프로세스는 다음 단계에서 수행됩니다.
1단계: 삭제할 레코드를 나타내는 테이블 이름과 레코드별 조건자가 있는 입력을 제공합니다. Kusto는 데이터 제거에 참여할 데이터 익스텐트 식별을 위해 테이블을 검색합니다. 식별된 범위는 조건자가 true를 반환하는 하나 이상의 레코드가 있는 범위입니다.
2단계: (일시 삭제) 테이블의 각 데이터 익스텐트(1단계에서 식별됨)를 다시 수집된 버전으로 바꿉니다. 다시 수집된 버전에는 조건자가 true를 반환하는 레코드가 없어야 합니다. 새 데이터가 테이블에 수집되지 않는 경우 이 단계가 끝날 때까지 쿼리는 더 이상 조건자가 true를 반환하는 데이터를 반환하지 않습니다. 제거 일시 삭제 단계의 기간은 다음 매개 변수에 따라 달라집니다.
- 제거해야 하는 레코드 수
- 클러스터의 데이터 익스텐트 간에 배포 기록
- 클러스터의 노드 수
- 제거 작업에 사용할 예비 용량
- 다른 몇 가지 요인
2단계의 기간은 몇 초에서 몇 시간 사이로 달라질 수 있습니다.
3단계: (하드 삭제) "포이즌" 데이터가 있을 수 있는 모든 스토리지 아티팩트가 다시 작동하고 스토리지에서 삭제합니다. 이 단계는 이전 단계가 완료된 후 5일 이상 수행되지만 초기 명령 이후 30일이 지나지 않습니다. 이러한 타임라인은 데이터 개인 정보 요구 사항을 따르도록 설정됩니다.
명령을 실행하면 .purge
이 프로세스가 트리거되며 완료하는 데 며칠이 걸립니다. 조건자가 적용되는 레코드의 밀도가 충분히 크면 프로세스는 테이블의 모든 데이터를 효과적으로 다시 수집합니다. 이 재 수집은 성능 및 COGS(판매된 제품의 비용)에 큰 영향을 미칩니다.
제거 제한 사항 및 고려 사항
제거 프로세스는 최종적이며 취소할 수 없습니다. 이 프로세스를 실행 취소하거나 제거된 데이터를 복구할 수 없습니다. 테이블 삭제 실행 취소와 같은 명령은 제거된 데이터를 복구할 수 없습니다. 데이터를 이전 버전으로 롤백하는 작업은 최신 제거 명령 이전으로 넘어갈 수 없습니다.
제거를 실행하기 전에 쿼리를 실행하고 결과가 예상 결과와 일치하는지 확인하여 조건자를 확인합니다. 제거될 예상 레코드 수를 반환하는 2단계 프로세스를 사용할 수도 있습니다.
명령은
.purge
데이터 관리 엔드포인트https://ingest-[YourClusterName].[region].kusto.windows.net
에 대해 실행됩니다. 이 명령에는 관련 데이터베이스에 대한 데이터베이스 관리자 권한이 필요합니다.제거 프로세스 성능에 영향을 미치고 제거 지침이 준수되도록 하기 위해 호출자는 최소 테이블에 관련 데이터 및 테이블당 일괄 처리 명령이 포함되도록 데이터 스키마를 수정하여 제거 프로세스의 상당한 COGS 영향을 줄여야 합니다.
predicate
.purge 명령의 매개 변수는 제거할 레코드를 지정하는 데 사용됩니다.Predicate
크기는 1MB로 제한됩니다. 를 생성할 때:predicate
- 예를 들어
where [ColumnName] in ('Id1', 'Id2', .. , 'Id1000')
'in' 연산자를 사용합니다. - 'in' 연산자의 한도를 확인합니다(목록에는 최대 값이
1,000,000
포함될 수 있습니다). - 쿼리 크기가 큰 경우 연산자를 사용합니다
externaldata
. 예를 들면 다음과 같습니다where UserId in (externaldata(UserId:string) ["https://...blob.core.windows.net/path/to/file?..."])
. 이 파일은 제거할 ID 목록을 저장합니다. - 모든 Blob(모든
externaldata
Blob의 총 크기)을 확장한 후 총 쿼리 크기는 64MB를 초과할 수 없습니다.
- 예를 들어
성능 제거
지정된 시간에 클러스터에서 하나의 제거 요청만 실행할 수 있습니다. 다른 모든 요청은 상태로 큐에 Scheduled
대기됩니다.
제거 요청 큐 크기를 모니터링하고 데이터에 적용되는 요구 사항과 일치하도록 적절한 제한 내에서 유지합니다.
제거 실행 시간을 줄이려면 다음을 수행합니다.
제거된 데이터의 양을 줄이려면 제거 지침을 따릅니다.
콜드 데이터에서 제거가 더 오래 걸리므로 캐싱 정책을 조정합니다.
클러스터 규모 확장
익스텐트 제거 다시 빌드 용량에 자세히 설명된 대로 신중하게 고려한 후 클러스터 제거 용량을 늘입니다.
제거 프로세스 트리거
참고 항목
제거 실행은 데이터 관리 엔드포인트 https://ingest-[YourClusterName]에서 테이블 이름 레코드 제거 명령을 실행하여 호출됩니다.[ Region].kusto.windows.net.
테이블 제거 TableName 레코드 명령
다른 사용 시나리오에 대해 두 가지 방법으로 제거 명령을 호출할 수 있습니다.
프로그래밍 방식 호출: 애플리케이션에서 호출하는 단일 단계입니다. 이 명령을 직접 호출하면 제거 실행 시퀀스가 트리거됩니다.
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]
인간 호출: 별도의 단계로 명시적 확인이 필요한 2단계 프로세스입니다. 명령의 첫 번째 호출은 실제 제거를 실행하기 위해 제공해야 하는 확인 토큰을 반환합니다. 이 시퀀스는 실수로 잘못된 데이터를 삭제할 위험을 줄입니다.
참고 항목
2단계 호출의 첫 번째 단계에서는 제거할 레코드를 식별하기 위해 전체 데이터 세트에서 쿼리를 실행해야 합니다.
이 쿼리는 특히 상당한 양의 콜드 캐시 데이터가 있는 큰 테이블에서 시간이 초과되거나 실패할 수 있습니다. 오류가 발생하는 경우 조건자의 유효성을 직접 검사하고 정확성을 확인한 후 옵션과 함께 단일 단계 제거를 noregrets
사용합니다.
Syntax
참고 항목
Azure Data Explorer 웹 UI를 사용하여 클러스터에 연결하려면 클러스터 추가를 참조 하세요.
// 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]
구체화된 뷰를 제거하려면 키워드를 table
로 materialized-view
바꾸고 TableName 을 MaterializedViewName으로 바꿉니다.
매개 변수 | 설명 |
---|---|
DatabaseName |
데이터베이스 이름 |
TableName / MaterializedViewName |
제거할 테이블/구체화된 뷰의 이름입니다. |
Predicate |
제거할 레코드를 식별합니다. 제거 조건자 제한 사항을 참조 하세요. |
noregrets |
설정된 경우 단일 단계 활성화를 트리거합니다. |
verificationtoken |
2단계 활성화 시나리오에서는(noregrets 설정되지 않음) 이 토큰을 사용하여 두 번째 단계를 실행하고 작업을 커밋할 수 있습니다. 지정하지 않으면 verificationtoken 명령의 첫 번째 단계가 트리거됩니다. 제거에 대한 정보는 2단계를 수행하는 명령으로 다시 전달되어야 하는 토큰과 함께 반환됩니다. |
조건자 제거 제한 사항
- 조건자는 간단한 선택(예: [ColumnName] == 'X'where [ColumnName]('X' / , 'Y', 'Z') 및 [OtherColumn] == 'A')이어야 합니다.
- 여러 필터를 별도의
where
절이 아닌 'and'와 결합해야 합니다(예where [ColumnName] == 'X' and OtherColumn] == 'Y'
: 그렇지 않음where [ColumnName] == 'X' | where [OtherColumn] == 'Y'
). - 조건자는 제거되는 테이블(TableName) 이외의 테이블을 참조할 수 없습니다. 조건자는 선택 문(
where
)만 포함할 수 있습니다. 테이블에서 특정 열을 프로젝트할 수 없습니다('table
| 실행 시 출력 스키마 조건자'는 테이블 스키마와 일치해야 합니다). - 시스템 함수(예:
ingestion_time()
,extent_id()
)는 지원되지 않습니다.
예: 2단계 제거
2단계 활성화 시나리오에서 제거를 시작하려면 명령의 1단계를 실행합니다.
// 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')
출력
NumRecordsToPurge | EstimatedPurgeExecutionTime | VerificationToken |
---|---|---|
1,596 | 00:00:02 | e43c7184ed22f4f23c7a9d7b124d196be2e570096987e5baadf65057fa65736b |
그런 다음, 2단계를 실행하기 전에 NumRecordsToPurge의 유효성을 검사합니다.
2단계 활성화 시나리오에서 제거를 완료하려면 1단계에서 반환된 확인 토큰을 사용하여 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')
출력
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 | 예약됨 | 0 | 애. RunCommand; 1d0ad28b-f791-4f5a-a60f-0e32318367b7 | AAD 앱 id=... |
예: 한 단계 제거
단일 단계 활성화 시나리오에서 제거를 트리거하려면 다음 명령을 실행합니다.
// 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')
출력
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 | 예약됨 | 0 | 애. RunCommand; 1d0ad28b-f791-4f5a-a60f-0e32318367b7 | AAD 앱 id=... |
제거 작업 취소 명령
필요한 경우 보류 중인 제거 요청을 취소할 수 있습니다.
참고 항목
이 작업은 오류 복구 시나리오를 위한 것입니다. 성공이 보장되지 않으며 정상적인 운영 흐름의 일부가 되어서는 안 됩니다. 큐에 아직 있고 아직 실행을 위해 디스패치되지 않은 요청에만 적용할 수 있습니다.
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
예: 단일 제거 작업 취소
.cancel purge aa894210-1c60-4657-9d21-adb2887993e1
출력
이 명령의 출력은 취소되는 제거 작업의 업데이트된 상태를 보여 주는 'show purges OperationId' 명령 출력과 동일합니다.
시도가 성공하면 작업 상태가 .로 Canceled
업데이트됩니다. 그렇지 않으면 작업 상태가 변경되지 않습니다.
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 | 취소됨 | 0 | 애. RunCommand; 1d0ad28b-f791-4f5a-a60f-0e32318367b7 | AAD 앱 id=... |
예: 데이터베이스에서 보류 중인 모든 제거 작업 취소
.cancel all purges in database MyDatabase
출력
이 명령의 출력은 업데이트된 상태의 데이터베이스의 모든 작업을 보여 주는 명령 출력을 제거하는 쇼와 동일합니다.
성공적으로 취소된 작업에는 상태가 업데이트 Canceled
됩니다. 그렇지 않으면 작업 상태가 변경되지 않습니다.
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 | 취소됨 | 0 | 애. RunCommand; 1d0ad28b-f791-4f5a-a60f-0e32318367b7 | AAD 앱 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 | 애. RunCommand; 1d0ad28b-f791-4f5a-a60f-0e32318367b7 | AAD 앱 id=... |
제거 작업 상태 추적
참고 항목
제거 작업은 데이터 관리 엔드포인트 https://ingest-[YourClusterName]에 대해 실행되는 제거 표시 명령을 사용하여 추적할 수 있습니다.[ region].kusto.windows.net.
상태 = '완료됨'은 제거 작업의 첫 번째 단계가 성공적으로 완료되었음을 나타냅니다. 즉, 레코드는 일시 삭제되며 쿼리에 더 이상 사용할 수 없습니다. 고객은 두 번째 단계(하드 삭제) 완료를 추적하고 확인할 필요가 없습니다. 이 단계는 내부적으로 모니터링됩니다.
제거 표시 명령
Show purges
명령은 요청된 기간 내에 작업 ID를 지정하여 제거 작업 상태를 표시합니다.
.show purges <OperationId>
.show purges [in database <DatabaseName>]
.show purges from '<StartDate>' [in database <DatabaseName>]
.show purges from '<StartDate>' to '<EndDate>' [in database <DatabaseName>]
속성 | 설명 | 필수/선택 |
---|---|---|
OperationId |
단일 단계 또는 두 번째 단계를 실행한 후 출력된 데이터 관리 작업 ID입니다. | 필수 |
StartDate |
필터링 작업에 대한 더 낮은 시간 제한입니다. 생략하면 현재 시간 전의 기본값은 24시간입니다. | 선택 사항 |
EndDate |
필터링 작업에 대한 상한 시간 제한입니다. 생략하면 기본값은 현재 시간으로 설정됩니다. | 선택 사항 |
DatabaseName |
결과를 필터링할 데이터베이스 이름입니다. | 선택 사항 |
참고 항목
상태는 클라이언트 에 데이터베이스 관리자 권한이 있는 데이터베이스에만 제공됩니다.
예제
.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
출력
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 | Completed | 제거가 성공적으로 완료되었습니다(삭제 보류 중인 스토리지 아티팩트) | 2019-01-20 11:41:34.6486506 | 00:00:04.4687310 | 0 | 애. RunCommand; 1d0ad28b-f791-4f5a-a60f-0e32318367b7 | AAD 앱 id=... |
OperationId
- 제거를 실행할 때 반환되는 DM 작업 ID입니다.DatabaseName
** - 데이터베이스 이름(대/소문자 구분).TableName
- 테이블 이름(대/소문자 구분).ScheduledTime
- DM 서비스에 대한 제거 명령을 실행하는 시간입니다.Duration
- 실행 DM 큐 대기 시간을 포함하여 제거 작업의 총 기간입니다.EngineOperationId
- 엔진에서 실행되는 실제 제거의 작업 ID입니다.State
- 제거 상태는 다음 값 중 하나일 수 있습니다.Scheduled
- 제거 작업이 실행될 예정입니다. 작업이 예약된 상태로 유지되는 경우 제거 작업의 백로그가 있을 수 있습니다. 이 백로그를 지우려면 제거 성능을 참조하세요. 일시적 오류로 인해 제거 작업이 실패하면 DM에서 다시 시도하고 다시 예약됨으로 설정됩니다(따라서 예약된 작업에서 InProgress로, 다시 예약됨으로 작업 전환이 표시될 수 있음).InProgress
- 제거 작업이 엔진에서 진행 중입니다.Completed
- 제거가 성공적으로 완료되었습니다.BadInput
- 잘못된 입력에서 제거가 실패했으며 다시 시도되지 않습니다. 이 오류는 조건자의 구문 오류, 제거 명령에 대한 잘못된 조건자, 제한을 초과하는 쿼리(예: 연산자의 1M 엔터티externaldata
이상 또는 확장된 총 쿼리 크기의 64MB 이상), Blob에 대한externaldata
404 또는 403 오류와 같은 다양한 문제 때문일 수 있습니다.Failed
- 제거에 실패했으며 다시 시도되지 않습니다. 이 오류는 다른 제거 작업의 백로그 또는 재시도 한도를 초과하는 여러 오류로 인해 작업이 큐에서 너무 오래(14일 이상) 대기 중인 경우에 발생할 수 있습니다. 후자는 내부 모니터링 경고를 발생시키고 팀에서 조사합니다.
StateDetails
- 상태에 대한 설명입니다.EngineStartTime
- 명령이 엔진에 발급된 시간입니다. 이 시간과 ScheduledTime 간에 큰 차이가 있는 경우 일반적으로 제거 작업의 중요한 백로그가 있으며 클러스터는 속도를 따라잡지 못합니다.EngineDuration
- 엔진에서 실제 제거 실행 시간입니다. 제거가 여러 번 다시 시도된 경우 모든 실행 기간의 합계입니다.Retries
- 일시적인 오류로 인해 DM 서비스에서 작업을 다시 시도한 횟수입니다.ClientRequestId
- DM 제거 요청의 클라이언트 활동 ID입니다.Principal
- 제거 명령 발급자의 ID입니다.
전체 테이블 제거
테이블 제거에는 테이블을 삭제하고 제거 프로세스에 설명된 하드 삭제 프로세스가 실행되도록 제거된 것으로 표시하는 작업이 포함됩니다.
제거하지 않고 테이블을 삭제해도 모든 스토리지 아티팩트가 삭제되지는 않습니다. 이러한 아티팩트들은 처음에 테이블에 설정된 하드 보존 정책에 따라 삭제됩니다.
이 purge table allrecords
명령은 빠르고 효율적이며 시나리오에 해당하는 경우 제거 레코드 프로세스에 적합합니다.
참고 항목
이 명령은 데이터 관리 엔드포인트 [YourClusterName]에서 테이블 이름 allrecords 제거 명령을 실행하여 호출됩니다.[https://ingest- region].kusto.windows.net.
테이블 제거 TableName allrecords 명령
'.purge table records ' 명령과 마찬가지로 이 명령은 프로그래밍 방식(단일 단계) 또는 수동(2단계) 모드에서 호출할 수 있습니다.
프로그래밍 방식 호출(단일 단계):
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단계):
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>')
매개 변수 설명 DatabaseName
데이터베이스 이름입니다. TableName
테이블 이름입니다. noregrets
설정된 경우 단일 단계 활성화를 트리거합니다. verificationtoken
2단계 활성화 시나리오( noregrets
설정되지 않음)에서는 이 토큰을 사용하여 두 번째 단계를 실행하고 작업을 커밋할 수 있습니다. 지정하지 않으면verificationtoken
명령의 첫 번째 단계가 트리거됩니다. 이 단계에서는 명령으로 다시 전달하고 2단계를 수행하는 토큰이 반환됩니다.
예: 2단계 제거
2단계 활성화 시나리오에서 제거를 시작하려면 명령의 1단계를 실행합니다.
// Connect to the Data Management service #connect "https://ingest-[YourClusterName].[Region].kusto.windows.net" .purge table MyTable in database MyDatabase allrecords
출력
VerificationToken
e43c7184ed22f4f23c7a9d7b124d196be2e570096987e5baadf65057fa65736b 2단계 활성화 시나리오에서 제거를 완료하려면 1단계에서 반환된 확인 토큰을 사용하여 2단계를 실행합니다.
.purge table MyTable in database MyDatabase allrecords with (verificationtoken=h'eyJT.....')
출력은 '.show tables' 명령 출력과 동일합니다(제거된 테이블 없이 반환됨).
출력
TableName DatabaseName 폴더 DocString OtherTable MyDatabase --- ---
예: 한 단계 제거
단일 단계 활성화 시나리오에서 제거를 트리거하려면 다음 명령을 실행합니다.
// Connect to the Data Management service
#connect "https://ingest-[YourClusterName].[Region].kusto.windows.net"
.purge table MyTable in database MyDatabase allrecords with (noregrets='true')
출력은 '.show tables' 명령 출력과 동일합니다(제거된 테이블 없이 반환됨).
출력
TableName | DatabaseName | 폴더 | DocString |
---|---|---|---|
OtherTable | MyDatabase | --- | --- |