Servizio aggiornamento
Aggiornamenti un servizio di Service Fabric usando la descrizione dell'aggiornamento specificata.
Questa API consente di aggiornare le proprietà di un servizio di Service Fabric in esecuzione. Il set di proprietà che possono essere aggiornate è un subset delle proprietà specificate al momento della creazione del servizio. Il set corrente di proprietà può essere ottenuto usando l'API GetServiceDescription
. Si noti che l'aggiornamento delle proprietà di un servizio in esecuzione è diverso dall'aggiornamento dell'applicazione tramite l'API StartApplicationUpgrade
. L'aggiornamento è un'operazione in background a esecuzione prolungata che comporta lo spostamento dell'applicazione da una versione a un'altra, un dominio di aggiornamento alla volta, mentre l'aggiornamento applica immediatamente le nuove proprietà al servizio.
Richiesta
Metodo | URI richiesta |
---|---|
POST | /Services/{serviceId}/$/Update?api-version=6.0&timeout={timeout} |
Parametri
Nome | Tipo | Necessario | Posizione |
---|---|---|---|
serviceId |
string | Sì | Percorso |
api-version |
string | Sì | Query |
timeout |
integer (int64) | No | Query |
ServiceUpdateDescription |
ServiceUpdateDescription | sì | Corpo |
serviceId
Tipo: string
Obbligatorio: Sì
L'identità del servizio. Questo ID è in genere il nome completo del servizio senza lo schema URI 'fabric:'.
A partire dalla versione 6.0, i nomi gerarchici sono delimitati dal carattere "~".
Ad esempio, se il nome del servizio è "fabric:/myapp/app1/svc1", l'identità del servizio sarà "myapp~app1~svc1" in 6.0+ e "myapp/app1/svc1" nelle versioni precedenti.
api-version
Tipo: string
Obbligatorio: Sì
Impostazione predefinita: 6.0
Versione dell'API. Questo parametro è obbligatorio e il relativo valore deve essere '6.0'.
La versione dell'API REST di Service Fabric è basata sulla versione di runtime in cui è stata introdotta o modificata l'API. Il runtime di Service Fabric supporta più versioni dell'API. Questa è la versione più recente supportata dell'API. Se viene passata una versione precedente dell'API, la risposta restituita può essere diversa da quella documentata in questa specifica.
Inoltre, il runtime accetta qualsiasi versione superiore alla versione supportata più recente fino alla versione corrente del runtime. Se quindi la versione più recente dell'API è 6.0, ma se il runtime è 6.1, per semplificare la scrittura dei client, il runtime accetterà la versione 6.1 per tale API. Tuttavia, il comportamento dell'API sarà in base alla versione 6.0 documentata.
timeout
Tipo: integer (int64)
Obbligatorio: No
Impostazione predefinita: 60
InclusiveMaximum: 4294967295
InclusiveMinimum: 1
Timeout del server per l'esecuzione dell'operazione in secondi. Questo timeout specifica la durata di attesa che il client è disposto a attendere il completamento dell'operazione richiesta. Il valore predefinito per questo parametro è 60 secondi.
ServiceUpdateDescription
Tipo: ServiceUpdateDescription
Obbligatorio: Sì
Informazioni necessarie per aggiornare un servizio.
Risposte
Codice di stato HTTP | Descrizione | Schema di risposta |
---|---|---|
200 (OK) | Un'operazione completata restituirà il codice di stato 202. |
|
Tutti gli altri codici di stato | Risposta dettagliata all'errore. |
FabricError |
Esempio
Servizio senza stato
Questo esempio illustra come aggiornare il posizionamento e il bilanciamento del carico delle impostazioni correlate di un servizio Service Fabric senza stato.
Richiesta
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"
}
}
]
}
200 Risposta
Corpo
Il corpo della risposta è vuoto.
Servizio con stato
Questo esempio illustra come aggiornare il posizionamento e il bilanciamento del carico delle impostazioni correlate di un servizio di Service Fabric con stato.
Richiesta
POST http://localhost:19080/Services/test~test2/$/Update?api-version=6.0
Corpo
{
"ServiceKind": "Stateful",
"Flags": "40",
"PlacementConstraints": "Color==Green",
"StandByReplicaKeepDurationSeconds": "1000"
}
200 Risposta
Corpo
Il corpo della risposta è vuoto.