Share via


데이터 손실 시작

이 API는 지정한 파티션에 대한 데이터 손실을 유도합니다. 파티션의 OnDataLossAsync API에 대한 호출을 트리거합니다.

이 API는 지정한 파티션에 대한 데이터 손실을 유도합니다. 파티션의 OnDataLoss API에 대한 호출을 트리거합니다. 실제 데이터 손실은 지정된 DataLossMode에 따라 달라집니다.

  • PartialDataLoss - 복제본의 쿼럼만 제거되고 파티션에 대한 OnDataLoss가 트리거되지만 실제 데이터 손실은 진행 중인 복제의 존재 여부에 따라 달라집니다.
  • FullDataLoss - 모든 복제본이 제거되므로 모든 데이터가 손실되고 OnDataLoss가 트리거됩니다.

이 API는 대상으로 상태 저장 서비스로만 호출되어야 합니다.

시스템 서비스를 대상으로 이 API를 호출하는 것은 권장되지 않습니다.

참고: 이 API가 호출되면 되돌릴 수 없습니다. CancelOperation을 호출하면 실행을 중지하고 내부 시스템 상태를 정리합니다. 명령이 데이터 손실을 충분히 진행시킨 경우 데이터를 복원하지 않습니다.

동일한 OperationId로 GetDataLossProgress API를 호출하여 이 API로 시작된 작업에 대한 정보를 반환합니다.

요청

메서드 요청 URI
POST /Faults/Services/{serviceId}/$/GetPartitions/{partitionId}/$/StartDataLoss?api-version=6.0&OperationId={OperationId}&DataLossMode={DataLossMode}&timeout={timeout}

매개 변수

속성 형식 필수 위치
serviceId 문자열 경로
partitionId string(uuid) 경로
api-version 문자열 쿼리
OperationId string(uuid) 쿼리
DataLossMode string(열거형) 쿼리
timeout 정수(int64) 아니요 쿼리

serviceId

형식: 문자열
필수: 예

서비스 id입니다. 이 ID는 일반적으로 'fabric:' URI 스키마가 없는 서비스의 전체 이름입니다. 버전 6.0에서 시작하며, 계층적 이름이 "~" 문자로 구분됩니다. 예를 들어 서비스 이름이 "fabric:/myapp/app1/svc1"이면 서비스 ID는 6.0 이상에서는 "myapp~app1~svc1"이고 이전 버전에서는 "myapp/app1/svc1"입니다.


partitionId

형식: string(uuid)
필수: 예

파티션의 id입니다.


api-version

형식: 문자열
필수: 예
기본: 6.0

API 버전입니다. 이 매개 변수는 필수이며 해당 값은 '6.0'이어야 합니다.

Service Fabric REST API 버전은 API가 도입되었거나 변경된 런타임 버전을 기반으로 합니다. Service Fabric 런타임은 둘 이상의 API 버전을 지원합니다. 지원되는 최신 버전의 API입니다. 더 낮은 API 버전이 전달되면 반환된 응답이 이 사양에 설명된 응답과 다를 수 있습니다.

또한 런타임은 현재 버전의 런타임까지 지원되는 최신 버전보다 높은 모든 버전을 허용합니다. 따라서 최신 API 버전이 6.0이지만 런타임이 6.1인 경우 클라이언트를 더 쉽게 작성하기 위해 런타임은 해당 API에 대해 버전 6.1을 수락합니다. 그러나 API의 동작은 문서화된 6.0 버전에 따라 다릅니다.


OperationId

형식: string(uuid)
필수: 예

이 API의 호출을 식별하는 GUID입니다. 해당 GetProgress API에 전달됩니다.


DataLossMode

형식: string(열거형)
필수: 예

이 열거형은 유도한 데이터 손실의 유형을 나타내도록 StartDataLoss API에 전달됩니다. 가능한 값은 'Invalid', 'PartialDataLoss', 'FullDataLoss'입니다.


timeout

형식: 정수(int64)
필수: 아니요
기본: 60
InclusiveMaximum: 4294967295
InclusiveMinimum: 1

작업을 수행하기 위한 서버 제한 시간(초)입니다. 이 시간 제한은 요청된 작업이 완료될 때까지 클라이언트가 기다릴 시간을 지정합니다. 이 매개 변수의 기본값은 60초입니다.

응답

HTTP 상태 코드 설명 응답 스키마
202(수락됨) 202 상태 코드는 작업이 수락되었음을 나타냅니다. GetDataLossProgress API를 호출하여 진행률을 가져옵니다.
다른 모든 상태 코드 자세한 오류 응답입니다.
FabricError