Condividi tramite


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 Percorso
api-version string Query
timeout integer (int64) No Query
ServiceUpdateDescription ServiceUpdateDescription 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.