更新サービス

指定した更新プログラムの説明を使用して 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 応答

本文

応答本文は空です。