配置されたサービス パッケージの正常性を報告する
Service Fabric でデプロイされたサービス パッケージの正常性レポートを送信します。
Service Fabric ノードにデプロイされたアプリケーションのサービス パッケージの正常性状態を報告します。 レポートには、正常性レポートのソースとレポートの対象となるプロパティに関する情報が含まれる必要があります。 このレポートは Service Fabric ゲートウェイ サービスに送信され、これにより正常性ストアに転送されます。 レポートは、ゲートウェイで受け入れられても、追加の検証後に正常性ストアによって拒否される可能性があります。 たとえば、正常性ストアは、古いシーケンス番号などの無効なパラメーターが原因でレポートを拒否する場合があります。 レポートが正常性ストアに適用されたかどうかを確認するには、デプロイされたサービス パッケージの正常性を取得し、レポートが [HealthEvents] セクションに表示されることをチェックします。
Request
Method | 要求 URI |
---|---|
POST | /Nodes/{nodeName}/$/GetApplications/{applicationId}/$/GetServicePackages/{servicePackageName}/$/ReportHealth?api-version=6.0&Immediate={Immediate}&timeout={timeout} |
パラメーター
名前 | Type | 必須 | 場所 |
---|---|---|---|
nodeName |
string | はい | パス |
applicationId |
string | はい | パス |
servicePackageName |
string | はい | パス |
api-version |
string | はい | クエリ |
Immediate |
boolean | いいえ | クエリ |
timeout |
integer (int64) | いいえ | クエリ |
HealthInformation |
HealthInformation | はい | Body |
nodeName
型: string
必須: はい
ノード名。
applicationId
型: string
必須: はい
アプリケーションの ID。 これは、通常は、'fabric:' URI スキームのないアプリケーションの完全な名前です。
バージョン 6.0 以降では、階層名は "~" 文字で区切られます。
たとえば、アプリケーション名が "fabric:/myapp/app1" の場合、6.0 以降ではアプリケーション ID は "myapp~app1" になり、前のバージョンでは "myapp/app1" になります。
servicePackageName
型: string
必須: はい
サービス パッケージの名前。
api-version
型: string
必須: はい
既定値:
API のバージョン。 このパラメーターは必須であり、その値は '6.0' である必要があります。
Service Fabric REST API のバージョンは、API が導入または変更されたランタイム バージョンに基づいています。 Service Fabric ランタイムでは、複数のバージョンの API がサポートされています。 これは、サポートされている API の最新バージョンです。 より低い API バージョンが渡された場合、返される応答は、この仕様に記載されている応答とは異なる場合があります。
さらに、ランタイムは、現在のバージョンのランタイムまで、サポートされている最新バージョンより高いバージョンを受け入れます。 したがって、最新の API バージョンが 6.0 ですが、ランタイムが 6.1 の場合、クライアントの記述を容易にするために、ランタイムはその API のバージョン 6.1 を受け入れます。 ただし、API の動作は、文書化されている 6.0 バージョンに従います。
Immediate
型: ブール値
必須: いいえ
既定値:
レポートをすぐに送信する必要があるかどうかを示すフラグ。
正常性レポートは Service Fabric ゲートウェイ アプリケーションに送信され、これにより正常性ストアに転送されます。
Immediate が true に設定された場合、HTTP ゲートウェイ アプリケーションで使用されているファブリック クライアント設定に関係なく、このレポートはすぐに HTTP ゲートウェイから正常性ストアに送信されます。
これは、できるだけ早く送信する必要がある重要なレポートに役立ちます。
タイミングやその他の条件に応じて、レポートの送信は依然として失敗する可能性があります。たとえば、HTTP ゲートウェイが閉じている場合やメッセージがゲートウェイに到達しない場合です。
Immediate が false に設定された場合、レポートは、正常性クライアントの設定に基づいて HTTP ゲートウェイから送信されます。 その結果、HealthReportSendInterval の構成に従ってバッチ処理されます。
この設定が推奨されているのは、正常性クライアントが正常性ストアへの正常性レポート メッセージに加えて正常性レポート処理を最適化できるようになるためです。
既定では、レポートはすぐに送信されません。
timeout
型: integer (int64)
必須: いいえ
既定値:
InclusiveMaximum: 4294967295
InclusiveMinimum: 1
操作を実行するためのサーバー タイムアウト (秒単位)。 このタイムアウトは、要求した操作が完了するまでクライアントが待機できる期間を指定します。 このパラメーターの既定値は 60 秒です。
HealthInformation
種類: HealthInformation
必須: はい
正常性レポートの正常性情報について説明します。 この情報は、正常性マネージャーに送信されるすべての正常性レポートに存在する必要があります。
応答
HTTP 状態コード | 説明 | 応答スキーマ |
---|---|---|
200 (OK) | 操作が成功すると、200 の状態コードが返されます。 |
|
その他すべての状態コード | 詳細なエラー応答。 |
FabricError |