Serviço de Atualização
Atualizações um serviço do Service Fabric com a descrição de atualização especificada.
Esta API permite atualizar as propriedades de um serviço do Service Fabric em execução. O conjunto de propriedades que podem ser atualizadas é um subconjunto das propriedades que foram especificadas no momento da criação do serviço. O conjunto atual de propriedades pode ser obtido com a GetServiceDescription
API. Tenha em atenção que atualizar as propriedades de um serviço em execução é diferente de atualizar a sua aplicação com StartApplicationUpgrade
a API. A atualização é uma operação em segundo plano de execução prolongada que envolve mover a aplicação de uma versão para outra, um domínio de atualização de cada vez, enquanto a atualização aplica as novas propriedades imediatamente ao serviço.
Pedir
Método | URI do pedido |
---|---|
POST | /Services/{serviceId}/$/Update?api-version=6.0&timeout={timeout} |
Parâmetros
Nome | Tipo | Necessário | Localização |
---|---|---|---|
serviceId |
string | Yes | Caminho |
api-version |
string | Yes | Consulta |
timeout |
número inteiro (int64) | No | Consulta |
ServiceUpdateDescription |
ServiceUpdateDescription | Yes | Corpo |
serviceId
Tipo: cadeia
Obrigatório: Sim
A identidade do serviço. Normalmente, este ID é o nome completo do serviço sem o esquema de URI "fabric:".
A partir da versão 6.0, os nomes hierárquicos são delimitados com o caráter "~".
Por exemplo, se o nome do serviço for "fabric:/myapp/app1/svc1", a identidade do serviço será "myapp~app1~svc1" em 6.0+ e "myapp/app1/svc1" em versões anteriores.
api-version
Tipo: cadeia
Obrigatório: Sim
Predefinição: 6.0
A versão da API. Este parâmetro é obrigatório e o respetivo valor tem de ser "6.0".
A versão da API REST do Service Fabric baseia-se na versão de runtime na qual a API foi introduzida ou foi alterada. O runtime do Service Fabric suporta mais do que uma versão da API. Esta é a versão suportada mais recente da API. Se for transmitida uma versão da API inferior, a resposta devolvida poderá ser diferente da documentada nesta especificação.
Além disso, o runtime aceita qualquer versão superior à versão suportada mais recente até à 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 escrita dos clientes, o runtime aceitará a versão 6.1 para essa API. No entanto, o comportamento da API será conforme a versão documentada 6.0.
timeout
Tipo: número inteiro (int64)
Obrigatório: Não
Predefinição: 60
InclusiveMaximum: 4294967295
InclusiveMinimum: 1
O tempo limite do servidor para executar a operação em segundos. Este tempo limite especifica a duração de tempo que o cliente está disposto a aguardar pela conclusão da operação pedida. O valor predefinido para este parâmetro é 60 segundos.
ServiceUpdateDescription
Tipo: ServiceUpdateDescription
Obrigatório: Sim
As informações necessárias para atualizar um serviço.
Respostas
Código de Estado HTTP | Description | Esquema de Resposta |
---|---|---|
200 (OK) | Uma operação bem-sucedida devolverá o código de estado 202. |
|
Todos os outros códigos de estado | A resposta detalhada ao erro. |
FabricError |
Exemplos
Serviço sem estado
Este exemplo mostra como atualizar as definições relacionadas com o posicionamento e o balanceamento de carga de um serviço do Service Fabric sem estado.
Pedir
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 definições relacionadas com o posicionamento e o balanceamento de carga de um serviço do Service Fabric com estado.
Pedir
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.