共用方式為


啟動資料遺失

此 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}

參數

名稱 類型 必要 Location
serviceId 字串 路徑
partitionId 字串 (uuid) 路徑
api-version 字串 查詢
OperationId 字串 (uuid) 查詢
DataLossMode 字串 (列舉) 查詢
timeout 整數 (int64) No 查詢

serviceId

類型:字串
必要:是

服務的身分識別。 此識別碼通常是不含 'fabric:' URI 配置的服務完整名稱。 從 6.0 版開始,階層的名稱會以 "~" 字元分隔。 例如,如果服務名稱是 "fabric:/myapp/app1/svc1",那麼在 6.0 以上的版本中,服務識別為 "myapp~app1~svc1",在舊版中則為 "myapp/app1/svc1"。


partitionId

類型:字串 (uuid)
必要:是

分割區的識別。


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

類型:字串 (uuid)
必要:是

識別此 API 呼叫的 GUID。 這會傳入對應的 GetProgress API


DataLossMode

類型:字串 (列舉)
必要:是

此列舉會傳遞給 StartDataLoss API 以指出要引發哪一種類型的資料遺失。 可能的值包括:'Invalid'、'PartialDataLoss'、'FullDataLoss'


timeout

類型:整數 (int64)
必要:否
預設60
InclusiveMaximum4294967295
InclusiveMinimum1

用來執行作業的伺服器逾時 (以秒為單位)。 此逾時指定了用戶端願意等候要求作業完成的持續時間。 這個參數的預設值是 60 秒。

回應

HTTP 狀態碼 描述 回應結構描述
202 (已接受) 202 狀態碼表示已接受作業。 呼叫 GetDataLossProgress API 以取得進度。
所有其他狀態碼 詳細的錯誤回應。
FabricError