Sdílet prostřednictvím


Služba aktualizací

Aktualizace službu Service Fabric pomocí zadaného popisu aktualizace.

Toto rozhraní API umožňuje aktualizovat vlastnosti spuštěné služby Service Fabric. Sada vlastností, které lze aktualizovat, jsou podmnožinou vlastností, které byly zadány při vytváření služby. Aktuální sadu vlastností je možné získat pomocí GetServiceDescription rozhraní API. Upozorňujeme, že aktualizace vlastností spuštěné služby se liší od upgradu aplikace pomocí StartApplicationUpgrade rozhraní API. Upgrade je dlouhotrvající operace na pozadí, která zahrnuje přesun aplikace z jedné verze na jinou, jednu upgradovanou doménu po druhé, zatímco aktualizace aplikuje nové vlastnosti na službu okamžitě.

Žádost

Metoda Identifikátor URI žádosti
POST /Services/{serviceId}/$/Update?api-version=6.0&timeout={timeout}

Parametry

Název Typ Vyžadováno Umístění
serviceId řetězec Yes Cesta
api-version řetězec Ano Dotaz
timeout celé číslo (int64) No Dotaz
ServiceUpdateDescription Popis serviceUpdateDescription Yes Text

serviceId

Typ: string
Povinné: Ano

Identita služby. Toto ID je obvykle úplný název služby bez schématu identifikátoru URI fabric:. Od verze 6.0 jsou hierarchické názvy oddělené znakem "~". Pokud je například název služby "fabric:/myapp/app1/svc1", identita služby bude myapp~app1~svc1 ve verzi 6.0+ a myapp/app1/svc1 v předchozích verzích.


api-version

Typ: string
Povinné: Ano
Výchozí:6.0

Verze rozhraní API Tento parametr je povinný a jeho hodnota musí být 6.0.

Verze rozhraní SERVICE Fabric REST API je založená na verzi modulu runtime, ve které bylo rozhraní API zavedeno nebo změněno. Modul runtime Service Fabric podporuje více než jednu verzi rozhraní API. Toto je nejnovější podporovaná verze rozhraní API. Pokud je předána nižší verze rozhraní API, vrácená odpověď se může lišit od odpovědi popsané v této specifikaci.

Modul runtime navíc přijímá všechny verze, které jsou vyšší než nejnovější podporovaná verze až do aktuální verze modulu runtime. Pokud je tedy nejnovější verze rozhraní API 6.0, ale modul runtime je 6.1, aby se usnadnil zápis klientů, modul runtime pro toto rozhraní API přijme verzi 6.1. Chování rozhraní API však bude podle zdokumentované verze 6.0.


timeout

Typ: celé číslo (int64)
Povinné: Ne
Výchozí:60
InclusiveMaximum: 4294967295
InclusiveMinimum: 1

Časový limit serveru pro provedení operace v sekundách. Tento časový limit určuje dobu, po kterou je klient ochoten čekat na dokončení požadované operace. Výchozí hodnota tohoto parametru je 60 sekund.


ServiceUpdateDescription

Typ: ServiceUpdateDescription
Povinné: Ano

Informace potřebné k aktualizaci služby.

Odpovědi

Stavový kód HTTP Description Schéma odpovědi
200 (OK) Úspěšná operace vrátí stavový kód 202.
Všechny ostatní stavové kódy Podrobná odpověď na chybu.
Chyba infrastruktury

Příklady

Bezstavová služba

Tento příklad ukazuje, jak aktualizovat nastavení umístění a vyrovnávání zatížení související s bezstavovou službou Service Fabric.

Žádost

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

Odpověď: 200

Text

Text odpovědi je prázdný.

Stavová služba

Tento příklad ukazuje, jak aktualizovat nastavení umístění a vyrovnávání zatížení stavové služby Service Fabric.

Žádost

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

Odpověď: 200

Text

Text odpovědi je prázdný.