Condividi tramite


Richiamare l'API contenitore

Richiamare l'API contenitore in un contenitore distribuito in un nodo di Service Fabric.

Richiama l'API del contenitore in un contenitore distribuito in un nodo di Service Fabric per il pacchetto di codice specificato.

Richiesta

Metodo URI richiesta
POST /Nodes/{nodeName}/$/GetApplications/{applicationId}/$/GetCodePackages/$/ContainerApi?api-version=6.2&ServiceManifestName={ServiceManifestName}&CodePackageName={CodePackageName}&CodePackageInstanceId={CodePackageInstanceId}&timeout={timeout}

Parametri

Nome Tipo Necessario Posizione
nodeName string Percorso
applicationId string Percorso
api-version string Query
ServiceManifestName string Query
CodePackageName string Query
CodePackageInstanceId string Query
timeout integer (int64) No Query
ContainerApiRequestBody ContainerApiRequestBody Corpo

nodeName

Tipo: string
Obbligatorio: Sì

Il nome del nodo.


applicationId

Tipo: string
Obbligatorio: Sì

Identità dell'applicazione. Si tratta in genere del nome completo dell'applicazione senza lo schema URI "fabric:". A partire dalla versione 6.0, i nomi gerarchici sono delimitati dal carattere "~". Ad esempio, se il nome dell'applicazione è "fabric:/myapp/app1", l'identità dell'applicazione sarà "myapp~app1" nella versione 6.0 e successive e "myapp/app1" nelle versioni precedenti.


api-version

Tipo: string
Obbligatorio: Sì
Impostazione predefinita: 6.2

Versione dell'API. Questo parametro è obbligatorio e il relativo valore deve essere '6.2'.

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 versione è la versione supportata più recente 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 successiva alla versione supportata più recente fino alla versione corrente del runtime. Se quindi la versione più recente dell'API è 6.0 e il runtime è 6.1, il runtime accetterà la versione 6.1 per tale API. Tuttavia, il comportamento dell'API sarà in base alla versione 6.0 documentata.


ServiceManifestName

Tipo: string
Obbligatorio: Sì

Nome di un manifesto del servizio registrato come parte di un tipo di applicazione in un cluster di Service Fabric.


CodePackageName

Tipo: string
Obbligatorio: Sì

Nome di un pacchetto di codice specificato nel manifesto del servizio registrato come parte di un tipo di applicazione in un cluster di Service Fabric.


CodePackageInstanceId

Tipo: string
Obbligatorio: Sì

ID che identifica in modo univoco un'istanza di pacchetto di codice distribuita in un nodo di Service Fabric.


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.


ContainerApiRequestBody

Tipo: ContainerApiRequestBody
Obbligatorio: Sì

Parametri per l'esecuzione di una chiamata API contenitore

Risposte

Codice di stato HTTP Descrizione Schema di risposta
200 (OK) Un'operazione riuscita restituirà il codice di stato 200 e la risposta dell'API contenitore per un contenitore distribuito in un nodo di Service Fabric per il pacchetto di codice specificato.
ContainerApiResponse
Tutti gli altri codici di stato Risposta dettagliata all'errore.
FabricError

Esempio

Ottenere i log dei contenitori

Questo esempio illustra come chiamare l'API contenitore con HTTP GET per un pacchetto di codice distribuito in un nodo.

Richiesta

POST http://localhost:19080/Nodes/Node01/$/GetApplications/samples/winnodejs/$/GetCodePackages/$/ContainerApi?api-version=6.2&ServiceManifestName=NodeServicePackage&CodePackageName=NodeService.Code&CodePackageInstanceId=131668159770315380
Corpo
{
  "UriPath": "/containers/{id}/logs?stdout=true&stderr=true"
}

200 Risposta

Corpo
{
  "ContainerApiResult": {
    "Status": "200",
    "Content-Type": "text/plain; charset=utf-8",
    "Body": "vEthernet (Container NIC ec5c19b2) 172.17.201.44\n"
  }
}

Aggiornare il contenitore

Questo esempio illustra come chiamare l'API contenitore con HTTP POST per un pacchetto di codice distribuito in un nodo.

Richiesta

POST http://localhost:19080/Nodes/N0020/$/GetApplications/samples/nodejs1/$/GetCodePackages/$/ContainerApi?api-version=6.2&ServiceManifestName=NodeOnSF&CodePackageName=Code&CodePackageInstanceId=131673596679688285
Corpo
{
  "HttpVerb": "POST",
  "UriPath": "/containers/{id}/update",
  "Body": "{ \"CpuShares\": 512}"
}

Risposta 200

Corpo
{
  "ContainerApiResult": {
    "Status": "200",
    "Content-Type": "application/json",
    "Body": "{\"Warnings\":null}\n"
  }
}