取得已部署的應用程式資訊
取得 Service Fabric 節點上所部署應用程式的相關資訊。
如果所提供的應用程式識別碼適用於系統應用程式,則此查詢會傳回系統應用程式資訊。 結果包含作用中、正在啟用以及下載中狀態的已部署應用程式。 要使用這項查詢,節點名稱就必須對應到叢集上的節點。 如果所提供的節點名稱未指向叢集上任何作用中的 Service Fabric 節點,則查詢會失敗。
要求
方法 | 要求 URI |
---|---|
GET | /Nodes/{nodeName}/$/GetApplications/{applicationId}?api-version=6.1&timeout={timeout}&IncludeHealthState={IncludeHealthState} |
參數
名稱 | 類型 | 必要 | Location |
---|---|---|---|
nodeName |
字串 | 是 | 路徑 |
applicationId |
字串 | 是 | 路徑 |
api-version |
字串 | 是 | 查詢 |
timeout |
整數 (int64) | No | 查詢 |
IncludeHealthState |
boolean | No | 查詢 |
nodeName
類型:字串
必要:是
節點的名稱。
applicationId
類型:字串
必要:是
應用程式的身分識別。 這通常是沒有 'fabric:' URI 配置之應用程式的完整名稱。
從 6.0 版開始,階層的名稱會以 "~" 字元分隔。
例如,如果應用程式名稱是 "fabric:/myapp/app1",則應用程式識別在 6.0+ 中會是 "myapp~app1",而在舊版中會是 "myapp/app1"。
api-version
類型:字串
必要:是
預設:6.1
API 的版本。 這是必要參數,其值必須是 '6.1'。
Service Fabric REST API 版本是以導入或變更 API 的執行時間版本為基礎。 Service Fabric 執行時間支援多個版本的 API。 這是 API 的最新支援版本。 如果傳遞較低的 API 版本,傳回的回應可能與此規格中所述的回應不同。
此外,執行時間會接受高於最新支援版本的任何版本,最高為目前版本的執行時間。 因此,如果最新的 API 版本是 6.0,但如果執行時間是 6.1,為了更容易撰寫用戶端,執行時間將會接受該 API 6.1 版。 不過,API 的行為會根據記載的 6.0 版本。
timeout
類型:整數 (int64)
必要:否
預設:60
InclusiveMaximum: 4294967295
InclusiveMinimum: 1
用來執行作業的伺服器逾時 (以秒為單位)。 此逾時指定了用戶端願意等候要求作業完成的持續時間。 這個參數的預設值是 60 秒。
IncludeHealthState
類型:布林值
必要:否
預設:false
包含實體的健康情況狀態。
如果此參數為 false 或未指定,則傳回的健康情況狀態會是 "Unknown"。
設定為 true 時,會先將查詢以平行方式傳送到節點和健康情況系統服務,然後再合併結果。
因此,查詢會較耗費資源且可能花費較長的時間。
回應
HTTP 狀態碼 | 描述 | 回應結構描述 |
---|---|---|
200 (確定) | 成功的作業會傳回 200 狀態碼和已部署應用程式的相關資訊。 |
DeployedApplicationInfo |
204 (NoContent) | 如果未在節點上部署指定的應用程式,則會傳回空的回應。 |
|
所有其他狀態碼 | 詳細的錯誤回應。 |
FabricError |
範例
依應用程式識別碼取得特定的已部署應用程式,並在結果中包含健康情況狀態
此範例示範如何使用應用程式識別碼,取得在指定節點上部署之應用程式的相關資訊。 如果找到應用程式,則會以 200 狀態碼傳回信息。 如果未在節點上部署指定的應用程式,則會傳回狀態碼為 204 的空白回應。
要求
GET http://localhost:19080/Nodes/_Node_0/$/GetApplications/samples~CalculatorApp?api-version=6.1&IncludeHealthState=True
200 回應
主體
{
"Id": "samples~CalculatorApp",
"Name": "fabric:/samples/CalculatorApp",
"TypeName": "CalculatorApp",
"TypeVersion": "1.0.0",
"Status": "Active",
"WorkDirectory": "C:\\SfDevCluster\\Data\\_App\\_Node_1\\CalculatorApp_App0\\work",
"LogDirectory": "C:\\SfDevCluster\\Data\\_App\\_Node_1\\CalculatorApp_App0\\log",
"TempDirectory": "C:\\SfDevCluster\\Data\\_App\\_Node_1\\CalculatorApp_App0\\temp",
"HealthState": "Ok"
}
204 回應
主體
回應主體是空的。