更新サービス
指定した更新プログラムの説明を使用して Service Fabric サービスを更新します。
この API を使用すると、実行中の Service Fabric サービスのプロパティを更新できます。 更新できるプロパティのセットは、サービスの作成時に指定されたプロパティのサブセットです。 現在のプロパティのセットは、API を使用して GetServiceDescription
取得できます。 実行中のサービスのプロパティの更新は、API を使用した StartApplicationUpgrade
アプリケーションのアップグレードとは異なります。 アップグレードは実行時間の長いバックグラウンド操作であり、アプリケーションをあるバージョンから別のバージョンに、一度に 1 つのアップグレード ドメインに移動しますが、更新プログラムは新しいプロパティをサービスに直ちに適用します。
Request
Method | 要求 URI |
---|---|
POST | /Services/{serviceId}/$/Update?api-version=6.0&timeout={timeout} |
パラメーター
名前 | Type | 必須 | 場所 |
---|---|---|---|
serviceId |
string | はい | パス |
api-version |
string | はい | クエリ |
timeout |
integer (int64) | いいえ | クエリ |
ServiceUpdateDescription |
ServiceUpdateDescription | はい | Body |
serviceId
型: string
必須: はい
サービスの ID。 この ID は通常、"fabric:" URI スキームのないサービスの完全な名前です。
バージョン 6.0 以降では、階層名は "~" 文字で区切られます。
たとえば、サービス名が "fabric:/myapp/app1/svc1" の場合、6.0 以上ならばサービス ID は "myapp~app1~svc1" になり、以前のバージョンでは "myapp/app1/svc1" になります。
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 バージョンに従います。
timeout
型: integer (int64)
必須: いいえ
既定値:
InclusiveMaximum: 4294967295
InclusiveMinimum: 1
操作を実行するためのサーバー タイムアウト (秒単位)。 このタイムアウトは、要求した操作が完了するまでクライアントが待機できる期間を指定します。 このパラメーターの既定値は 60 秒です。
ServiceUpdateDescription
種類: ServiceUpdateDescription
必須: はい
サービスを更新するために必要な情報。
応答
HTTP 状態コード | 説明 | 応答スキーマ |
---|---|---|
200 (OK) | 操作が成功すると、202 状態コードが返されます。 |
|
その他すべての状態コード | 詳細なエラー応答。 |
FabricError |
使用例
ステートレス サービス
この例では、ステートレス Service Fabric サービスの配置と負荷分散に関連する設定を更新する方法を示します。
要求
POST http://localhost:19080/Services/test~test1/$/Update?api-version=6.0
本文
{
"ServiceKind": "Stateless",
"Flags": "1568",
"PlacementConstraints": "Color==Red",
"DefaultMoveCost": "High",
"ScalingPolicies": [
{
"ScalingTrigger": {
"Kind": "AveragePartitionLoad",
"MetricName": "servicefabric:/_CpuCores",
"LowerLoadThreshold": "0.500000",
"UpperLoadThreshold": "0.800000",
"ScaleIntervalInSeconds": "900"
},
"ScalingMechanism": {
"Kind": "PartitionInstanceCount",
"MinInstanceCount": "4",
"MaxInstanceCount": "6",
"ScaleIncrement": "2"
}
}
]
}
200 応答
本文
応答本文は空です。
ステートフル サービス
この例では、ステートフル Service Fabric サービスの配置と負荷分散に関連する設定を更新する方法を示します。
要求
POST http://localhost:19080/Services/test~test2/$/Update?api-version=6.0
本文
{
"ServiceKind": "Stateful",
"Flags": "40",
"PlacementConstraints": "Color==Green",
"StandByReplicaKeepDurationSeconds": "1000"
}
200 応答
本文
応答本文は空です。