Uppdateringstjänst
Uppdateringar en Service Fabric-tjänst med den angivna uppdateringsbeskrivningen.
Med det här API:et kan du uppdatera egenskaper för en Service Fabric-tjänst som körs. Den uppsättning egenskaper som kan uppdateras är en delmängd av de egenskaper som angavs när tjänsten skapades. Den aktuella uppsättningen egenskaper kan hämtas med hjälp av GetServiceDescription
API:et. Observera att uppdatering av egenskaperna för en tjänst som körs skiljer sig från att uppgradera ditt program med hjälp av StartApplicationUpgrade
API:et. Uppgraderingen är en tidskrävande bakgrundsåtgärd som innebär att programmet flyttas från en version till en annan, en uppgraderingsdomän i taget, medan de nya egenskaperna tillämpas omedelbart på tjänsten.
Förfrågan
Metod | URI för förfrågan |
---|---|
POST | /Services/{serviceId}/$/Update?api-version=6.0&timeout={timeout} |
Parametrar
Namn | Typ | Obligatorisk | Location |
---|---|---|---|
serviceId |
sträng | Ja | Sökväg |
api-version |
sträng | Ja | Söka i data |
timeout |
heltal (int64) | No | Söka i data |
ServiceUpdateDescription |
ServiceUpdateDescription | Yes | Brödtext |
serviceId
Typ: sträng
Krävs: Ja
Tjänstens identitet. Det här ID:t är vanligtvis det fullständiga namnet på tjänsten utan URI-schemat fabric:.
Från och med version 6.0 avgränsas hierarkiska namn med tecknet "~".
Om tjänstnamnet till exempel är "fabric:/myapp/app1/svc1" skulle tjänstidentiteten vara "myapp~app1~svc1" i 6.0+ och "myapp/app1/svc1" i tidigare versioner.
api-version
Typ: sträng
Krävs: Ja
Standard: 6.0
Versionen av API:et. Den här parametern krävs och dess värde måste vara "6.0".
Service Fabric REST API-versionen baseras på körningsversionen där API:et introducerades eller ändrades. Service Fabric Runtime stöder mer än en version av API:et. Det här är den senaste versionen av API:et som stöds. Om en lägre API-version skickas kan det returnerade svaret skilja sig från det som dokumenteras i den här specifikationen.
Dessutom accepterar körningen alla versioner som är högre än den senaste versionen som stöds upp till den aktuella versionen av körningen. Så om den senaste API-versionen är 6.0, men om körningen är 6.1, accepterar körningen version 6.1 för det API:et för att göra det enklare att skriva klienterna. Beteendet för API:et är dock enligt den dokumenterade 6.0-versionen.
timeout
Typ: heltal (int64)
Krävs: Nej
Standard: 60
InclusiveMaximum: 4294967295
InclusiveMinimum: 1
Serverns tidsgräns för att utföra åtgärden i sekunder. Den här tidsgränsen anger hur lång tid klienten är villig att vänta på att den begärda åtgärden ska slutföras. Standardvärdet för den här parametern är 60 sekunder.
ServiceUpdateDescription
Typ: ServiceUpdateDescription
Krävs: Ja
Den information som krävs för att uppdatera en tjänst.
Svar
HTTP-statuskod | Description | Svarsschema |
---|---|---|
200 (OK) | En lyckad åtgärd returnerar statuskoden 202. |
|
Alla andra statuskoder | Det detaljerade felsvaret. |
FabricError |
Exempel
Tillståndslös tjänst
Det här exemplet visar hur du uppdaterar inställningar för placering och belastningsutjämning för en tillståndslös Service Fabric-tjänst.
Förfrågan
POST http://localhost:19080/Services/test~test1/$/Update?api-version=6.0
Brödtext
{
"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 Svar
Brödtext
Svarstexten är tom.
Tillståndskänslig tjänst
Det här exemplet visar hur du uppdaterar inställningar för placering och belastningsutjämning för en tillståndskänslig Service Fabric-tjänst.
Förfrågan
POST http://localhost:19080/Services/test~test2/$/Update?api-version=6.0
Brödtext
{
"ServiceKind": "Stateful",
"Flags": "40",
"PlacementConstraints": "Color==Green",
"StandByReplicaKeepDurationSeconds": "1000"
}
200 Svar
Brödtext
Svarstexten är tom.