Servicio de actualización
Novedades un servicio de Service Fabric mediante la descripción de actualización especificada.
Esta API permite actualizar las propiedades de un servicio de Service Fabric en ejecución. El conjunto de propiedades que se pueden actualizar es un subconjunto de las propiedades especificadas en el momento de crear el servicio. El conjunto actual de propiedades se puede obtener mediante GetServiceDescription
la API. Tenga en cuenta que actualizar las propiedades de un servicio en ejecución es diferente de actualizar la aplicación mediante StartApplicationUpgrade
la API. La actualización es una operación en segundo plano de larga duración que implica mover la aplicación de una versión a otra, un dominio de actualización a la vez, mientras que la actualización aplica las nuevas propiedades inmediatamente al servicio.
Solicitud
Método | URI de solicitud |
---|---|
POST | /Services/{serviceId}/$/Update?api-version=6.0&timeout={timeout} |
Parámetros
Nombre | Tipo | Requerido | Location |
---|---|---|---|
serviceId |
string | Sí | Ruta de acceso |
api-version |
string | Sí | Consultar |
timeout |
entero (int64) | No | Consultar |
ServiceUpdateDescription |
ServiceUpdateDescription | Sí | Body |
serviceId
Tipo: cadena
Obligatoria: sí
La identidad del servicio. Este identificador suele ser el nombre completo del servicio sin el esquema de URI "fabric:".
A partir de la versión 6.0, los nombres jerárquicos se delimitan con el carácter "~".
Por ejemplo, si el nombre del servicio es "fabric:/myapp/app1/svc1", la identidad de servicio sería "myapp~app1~svc1" en 6.0+ y "myapp/app1/svc1" en las versiones anteriores.
api-version
Tipo: cadena
Obligatoria: sí
Predeterminado:
La versión de la API. Este parámetro es necesario y su valor debe ser "6.0".
La versión de la API REST de Service Fabric se basa en la versión en tiempo de ejecución en la que se introdujo o se cambió la API. El entorno de ejecución de Service Fabric admite más de una versión de la API. Esta es la versión compatible más reciente de la API. Si se pasa una versión de API anterior, la respuesta devuelta puede ser diferente de la documentada en esta especificación.
Además, el tiempo de ejecución acepta cualquier versión superior a la versión compatible más reciente hasta la versión actual del entorno de ejecución. Por lo tanto, si la versión más reciente de la API es 6.0, pero si el tiempo de ejecución es 6.1, para facilitar la escritura de los clientes, el entorno de ejecución aceptará la versión 6.1 para esa API. Sin embargo, el comportamiento de la API será según la versión documentada 6.0.
timeout
Tipo: entero (int64)
Obligatoria: no
Predeterminado:
InclusiveMaximum: 4294967295
InclusiveMinimum: 1
Tiempo de espera del servidor para realizar la operación en segundos. Este tiempo de espera especifica el tiempo que el cliente está dispuesto a esperar a que se complete la operación solicitada. El valor predeterminado para este parámetro es 60 segundos.
ServiceUpdateDescription
Tipo: ServiceUpdateDescription
Obligatoria: sí
La información necesaria para actualizar un servicio.
Respuestas
Código de estado HTTP | Descripción | Esquema de respuesta |
---|---|---|
200 (OK) | Una operación correcta devolverá el código de estado 202. |
|
Todos los demás códigos de estado | Respuesta de error detallada. |
FabricError |
Ejemplos
Servicio sin estado
En este ejemplo se muestra cómo actualizar la ubicación y la configuración relacionada con el equilibrio de carga de un servicio de Service Fabric sin estado.
Request
POST http://localhost:19080/Services/test~test1/$/Update?api-version=6.0
Cuerpo
{
"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"
}
}
]
}
Respuesta 200
Cuerpo
El cuerpo de la respuesta está vacío.
Servicio con estado
En este ejemplo se muestra cómo actualizar la ubicación y la configuración relacionada con el equilibrio de carga de un servicio de Service Fabric con estado.
Request
POST http://localhost:19080/Services/test~test2/$/Update?api-version=6.0
Cuerpo
{
"ServiceKind": "Stateful",
"Flags": "40",
"PlacementConstraints": "Color==Green",
"StandByReplicaKeepDurationSeconds": "1000"
}
Respuesta 200
Cuerpo
El cuerpo de la respuesta está vacío.