共用方式為


使用原則取得服務健康情況

使用指定的健全狀況原則,取得指定 Service Fabric 服務的健康情況。

取得所指定服務的健康情況資訊。 如果指定了應用程式健康狀態原則,健康情況評估會使用它來取得匯總的健康情況狀態。 如果未指定原則,健康情況評估會使用應用程式資訊清單中定義的應用程式健康狀態原則,如果資訊清單中未定義任何原則,則為預設健全狀況原則。 使用 EventsHealthStateFilter 可根據健康情況狀態,篩選針對服務所報告的健康情況事件集合。 使用 PartitionsHealthStateFilter 來篩選所傳回資料分割的集合。 如果您指定的服務不在健康狀態資料存放區中,此要求就會傳回錯誤。

要求

方法 要求 URI
POST /Services/{serviceId}/$/GetHealth?api-version=6.0&EventsHealthStateFilter={EventsHealthStateFilter}&PartitionsHealthStateFilter={PartitionsHealthStateFilter}&ExcludeHealthStatistics={ExcludeHealthStatistics}&timeout={timeout}

參數

名稱 類型 必要 Location
serviceId 字串 路徑
api-version 字串 查詢
EventsHealthStateFilter 整數 No 查詢
PartitionsHealthStateFilter 整數 No 查詢
ExcludeHealthStatistics boolean No 查詢
timeout 整數 (int64) No 查詢
ApplicationHealthPolicy ApplicationHealthPolicy No 主體

serviceId

類型:字串
必要:是

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


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 版本。


EventsHealthStateFilter

類型:整數
必要:否
預設0

可根據健康情況狀態來篩選所傳回的 HealthEvent 物件集合。 此參數的可能值包括下列其中一個健康情況狀態的整數值。 只會傳回符合篩選條件的事件。 所有事件都會用來評估彙總的健康情況狀態。 如果未指定,則會傳回所有項目。 狀態值是以旗標為基礎的列舉,因而此值可以是使用位元 'OR' 運算子所取得這些值的組合。 例如,如果提供的值為 6,則會傳回 HealthState 值為 OK (2) 和 Warning (4) 的所有事件。

  • 預設值 - 預設值。 符合任何 HealthState。 值為零。
  • 無 - 不符合任何 HealthState 值的篩選。 用來在指定狀態集合沒有任何結果時傳回。 值為 1。
  • 確定 - 符合輸入與 HealthState 值 Ok 的篩選。 值為 2。
  • 警告 - 符合輸入與 HealthState 值 Warning 的篩選。 值為 4。
  • 錯誤 - 符合輸入與 HealthState 值 Error 的篩選準則。 值為 8。
  • All - 符合輸入與任何 HealthState 值的篩選。 值為 65535。

PartitionsHealthStateFilter

類型:整數
必要:否
預設0

允許根據健康情況狀態,篩選服務健康情況查詢結果中所傳回的分割區健康情況狀態物件。 此參數的可能值包括下列其中一個健康情況狀態的整數值。 只會傳回符合篩選條件的分割區。 所有分割區都會用來評估彙總的健康情況狀態。 如果未指定,則會傳回所有項目。 狀態值是以旗標為基礎的列舉,因此值可以是使用位元 'OR' 運算子取得的這些值的組合。 例如,如果提供的值為 6,將會傳回 HealthState 值為 OK (2) 和 Warning (4) 的分割區健康情況狀態。

  • 預設值 - 預設值。 符合任何 HealthState。 值為零。
  • 無 - 不符合任何 HealthState 值的篩選。 用來在指定狀態集合沒有任何結果時傳回。 值為 1。
  • 確定 - 符合輸入與 HealthState 值 Ok 的篩選。 值為 2。
  • 警告 - 符合輸入與 HealthState 值 Warning 的篩選。 值為 4。
  • 錯誤 - 符合輸入與 HealthState 值 Error 的篩選。 值為 8。
  • All - 符合任何 HealthState 值的輸入的篩選準則。 值為 65535。

ExcludeHealthStatistics

類型:布林值
必要:否
預設false

指出是否應該在查詢結果中一併傳回健康情況統計資料。 預設為 False。 統計資料會顯示健康情況狀態為 Ok、Warning 及 Error 的子實體數目。


timeout

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

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


ApplicationHealthPolicy

類型ApplicationHealthPolicy
必要:否

描述用來評估應用程式或其中一個子系健康情況的健康情況原則。 如果沒有,健康情況評估會使用來自應用程式資訊清單或預設健康狀態原則的健康情況原則。

回應

HTTP 狀態碼 描述 回應結構描述
200 (確定) 成功的作業會傳回 200 狀態碼和指定服務的健康情況資訊。
服務健康狀況
所有其他狀態碼 詳細的錯誤回應。
FabricError