Служба обновления

Обновления службу Service Fabric, используя указанное описание обновления.

Этот API позволяет обновлять свойства работающей службы Service Fabric. Набор свойств, которые можно обновить, является подмножеством свойств, указанных во время создания службы. Текущий набор свойств можно получить с помощью GetServiceDescription API. Обратите внимание, что обновление свойств работающей службы отличается от обновления приложения с помощью StartApplicationUpgrade API. Обновление — это длительная фоновая операция, которая включает в себя перемещение приложения из одной версии в другую, один домен обновления за раз, в то время как обновление применяет новые свойства немедленно к службе.

Запрос

Метод Универсальный код ресурса (URI) запроса
POST /Services/{serviceId}/$/Update?api-version=6.0&timeout={timeout}

Параметры

Имя Тип Обязательно Расположение
serviceId строка Да Путь
api-version строка Да Запрос
timeout целое число (int64) Нет Запрос
ServiceUpdateDescription ServiceUpdateDescription да Текст

serviceId

Тип: строка
Обязательный: да

Идентификатор службы. Обычно он содержит полное имя службы из URI службы без указания схемы "fabric:". Начиная с версии 6.0, иерархические имена разделяются знаком "~". Например, если имя службы — "fabric:/myapp/app1/svc1", то в версии 6.0 и более поздних версиях идентификатором службы будет "myapp~app1~svc1", а в предыдущих версиях идентификатором был бы "myapp/app1/svc1".


api-version

Тип: строка
Обязательный: да
По умолчанию: 6.0

Версия API. Этот параметр является обязательным и его значение должно быть "6.0".

Версия REST API Service Fabric основана на версии среды выполнения, в которой api был представлен или изменен. Среда выполнения Service Fabric поддерживает несколько версий API. Это последняя поддерживаемая версия API. Если передается более ранжная версия API, возвращаемый ответ может отличаться от той, что описано в этой спецификации.

Кроме того, среда выполнения принимает любую версию, которая выше последней поддерживаемой версии, вплоть до текущей версии среды выполнения. Таким образом, если последняя версия API — 6.0, а среда выполнения — 6.1, чтобы упростить запись клиентов, среда выполнения примет версию 6.1 для этого API. Однако поведение API будет выполняться согласно описанной версии 6.0.


timeout

Тип: integer (int64)
Обязательный: нет
По умолчанию: 60
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

Текст

Текст ответа пуст.