Compartilhar via


Serviços de Atualização

Atualizações um serviço do Service Fabric usando a descrição da atualização especificada.

Essa API permite atualizar propriedades de um serviço do Service Fabric em execução. O conjunto de propriedades que podem ser atualizadas é um subconjunto das propriedades especificadas no momento da criação do serviço. O conjunto atual de propriedades pode ser obtido usando GetServiceDescription a API. Observe que atualizar as propriedades de um serviço em execução é diferente de atualizar seu aplicativo usando StartApplicationUpgrade a API. A atualização é uma operação em segundo plano de execução prolongada que envolve mover o aplicativo de uma versão para outra, um domínio de atualização por vez, enquanto a atualização aplica as novas propriedades imediatamente ao serviço.

Solicitação

Método URI da solicitação
POST /Services/{serviceId}/$/Update?api-version=6.0&timeout={timeout}

Parâmetros

Nome Tipo Obrigatório Location
serviceId string Sim Caminho
api-version string Sim Consulta
timeout inteiro (int64) Não Consulta
ServiceUpdateDescription ServiceUpdateDescription Sim Corpo

serviceId

Tipo: string
Obrigatório: sim

A identidade do serviço. Normalmente, essa ID é o nome completo do serviço sem o esquema de 'malha' do URI. A partir da versão 6.0, nomes hierárquicos são delimitados pelo caractere "~". Por exemplo, se o nome do serviço for "fabric:/myapp/app1/svc1", a identidade do serviço será "myapp~app1~svc1" na versão 6.0 e superiores e and "myapp/app1/svc1" em versões anteriores.


api-version

Tipo: string
Obrigatório: sim
Padrão: 6.0

A versão da API. Esse parâmetro é necessário e seu valor deve ser '6.0'.

A versão da API REST do Service Fabric é baseada na versão de runtime na qual a API foi introduzida ou alterada. O runtime do Service Fabric dá suporte a mais de uma versão da API. Esta é a versão mais recente com suporte da API. Se uma versão inferior da API for passada, a resposta retornada poderá ser diferente daquela documentada nessa especificação.

Além disso, o runtime aceita qualquer versão maior do que a versão mais recente com suporte até a versão atual do runtime. Portanto, se a versão mais recente da API for 6.0, mas se o runtime for 6.1, para facilitar a gravação dos clientes, o runtime aceitará a versão 6.1 para essa API. No entanto, o comportamento da API será de acordo com a versão documentada 6.0.


timeout

Tipo: inteiro (int64)
Obrigatório: não
Padrão: 60
InclusiveMaximum: 4294967295
InclusiveMinimum: 1

Tempo limite do servidor para executar a operação em segundos. Especifica o tempo que o cliente está disposto a esperar para que operação solicitada seja concluída. O valor padrão desse parâmetro é 60 segundos.


ServiceUpdateDescription

Tipo: ServiceUpdateDescription
Obrigatório: sim

As informações necessárias para atualizar um serviço.

Respostas

Código de status HTTP Descrição Esquema de Resposta
200 (OK) Uma operação bem-sucedida retornará 202 status código.
Todos os outros códigos status A resposta de erro detalhada.
FabricError

Exemplos

Serviço sem estado

Este exemplo mostra como atualizar as configurações relacionadas ao posicionamento e ao balanceamento de carga de um serviço do Service Fabric sem estado.

Solicitação

POST http://localhost:19080/Services/test~test1/$/Update?api-version=6.0
Corpo
{
  "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"
      }
    }
  ]
}

Resposta 200

Corpo

O corpo da resposta está vazio.

Serviço com estado

Este exemplo mostra como atualizar as configurações relacionadas ao posicionamento e ao balanceamento de carga de um serviço do Service Fabric com estado.

Solicitação

POST http://localhost:19080/Services/test~test2/$/Update?api-version=6.0
Corpo
{
  "ServiceKind": "Stateful",
  "Flags": "40",
  "PlacementConstraints": "Color==Green",
  "StandByReplicaKeepDurationSeconds": "1000"
}

Resposta 200

Corpo

O corpo da resposta está vazio.