移動實例
移動無狀態服務的分割區實例。
此命令會移動無狀態服務的分割區實例,並遵守所有條件約束。 您必須指定分割區識別碼和服務名稱,才能移動實例。 當指定時,CurrentNodeName 會識別已移動的實例。 如果未指定,則會省略隨機實例新的節點名稱,在此情況下,會將該實例移至隨機節點。 如果指定 IgnoreConstraints 參數並設定為 true,則不論條件約束為何,都會移動 實例。
要求
方法 | 要求 URI |
---|---|
POST | /Services/{serviceId}/$/GetPartitions/{partitionId}/$/MoveInstance?api-version=8.0&CurrentNodeName={CurrentNodeName}&NewNodeName={NewNodeName}&IgnoreConstraints={IgnoreConstraints}&timeout={timeout} |
參數
名稱 | 類型 | 必要 | Location |
---|---|---|---|
serviceId |
字串 | 是 | 路徑 |
partitionId |
字串 (uuid) | 是 | 路徑 |
api-version |
字串 | 是 | 查詢 |
CurrentNodeName |
字串 | No | 查詢 |
NewNodeName |
字串 | No | 查詢 |
IgnoreConstraints |
boolean | No | 查詢 |
timeout |
整數 (int64) | No | 查詢 |
serviceId
類型:字串
必要:是
服務的身分識別。 此識別碼通常是不含 'fabric:' URI 配置的服務完整名稱。
從 6.0 版開始,階層的名稱會以 "~" 字元分隔。
例如,如果服務名稱是 "fabric:/myapp/app1/svc1",那麼在 6.0 以上的版本中,服務識別為 "myapp~app1~svc1",在舊版中則為 "myapp/app1/svc1"。
partitionId
類型:字串 (uuid)
必要:是
分割區的識別。
api-version
類型:字串
必要:是
預設:8.0
API 的版本。 這是必要參數,其值必須是 '8.0'。
Service Fabric REST API 版本是以導入或變更 API 的執行時間版本為基礎。 Service Fabric 執行時間支援多個版本的 API。 此版本是 API 的最新支援版本。 如果傳遞較低的 API 版本,傳回的回應可能與此規格中所述的回應不同。
此外,執行時間會接受高於最新支援版本的任何版本,最高到目前版本的執行時間。 因此,如果最新的 API 版本為 6.0,且執行時間為 6.1,則執行時間將會接受該 API 的版本 6.1。 不過,API 的行為會根據記載的 6.0 版本。
CurrentNodeName
類型:字串
必要:否
實例移動的來源節點名稱。 如果未指定,實例會從隨機節點移動。
NewNodeName
類型:字串
必要:否
次要複本或實例移動的目標節點名稱。 如果未指定,則複本或實例會移至隨機節點。
IgnoreConstraints
類型:布林值
必要:否
預設:false
移動複本或實例時忽略條件約束。 如果未指定此參數,則會接受所有條件約束。
timeout
類型:整數 (int64)
必要:否
預設:60
InclusiveMaximum: 4294967295
InclusiveMinimum: 1
用來執行作業的伺服器逾時 (以秒為單位)。 此逾時指定了用戶端願意等候要求作業完成的持續時間。 這個參數的預設值是 60 秒。
回應
HTTP 狀態碼 | 描述 | 回應結構描述 |
---|---|---|
200 (確定) | 成功的作業要求會傳回 200 狀態碼。 |
|
所有其他狀態碼 | 詳細的錯誤回應。 |
FabricError |