開始仲裁遺失
導致指定具狀態服務分割區的仲裁遺失。
此 API 對於您服務上的暫時性仲裁遺失情況來說,相當有用。
您可以使用相同的 OperationId 來呼叫 GetQuorumLossProgress API,以傳回使用此 API 所啟動作業的相關資訊。
只能在具狀態持續性 (HasPersistedState==true) 服務上呼叫此 API。 請勿在無狀態服務或僅限記憶體內的具狀態服務上使用此 API。
要求
方法 | 要求 URI |
---|---|
POST | /Faults/Services/{serviceId}/$/GetPartitions/{partitionId}/$/StartQuorumLoss?api-version=6.0&OperationId={OperationId}&QuorumLossMode={QuorumLossMode}&QuorumLossDuration={QuorumLossDuration}&timeout={timeout} |
參數
名稱 | 類型 | 必要 | Location |
---|---|---|---|
serviceId |
字串 | 是 | 路徑 |
partitionId |
字串 (uuid) | 是 | 路徑 |
api-version |
字串 | 是 | 查詢 |
OperationId |
字串 (uuid) | 是 | 查詢 |
QuorumLossMode |
字串 (列舉) | 是 | 查詢 |
QuorumLossDuration |
整數 | Yes | 查詢 |
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
QuorumLossMode
類型:字串 (列舉)
必要:是
此列舉會傳遞給 StartQuorumLoss API 以指出要引發哪一種類型的仲裁遺失。 可能的值包括:'Invalid'、'QuorumReplicas'、'AllReplicas'
QuorumLossDuration
類型:整數
必要:是
分割區將維持在仲裁遺失狀態的時間長度。 必須以秒為單位來指定此值。
timeout
類型:整數 (int64)
必要:否
預設:60
InclusiveMaximum: 4294967295
InclusiveMinimum: 1
用來執行作業的伺服器逾時 (以秒為單位)。 此逾時指定了用戶端願意等候要求作業完成的持續時間。 這個參數的預設值是 60 秒。
回應
HTTP 狀態碼 | 描述 | 回應結構描述 |
---|---|---|
202 (已接受) | 202 狀態碼表示已接受作業。 呼叫 GetQuorumLossProgress API 以取得進度。 |
|
所有其他狀態碼 | 詳細的錯誤回應。 |
FabricError |