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 | Sì | Percorso |
applicationId |
string | Sì | Percorso |
api-version |
string | Sì | Query |
ServiceManifestName |
string | Sì | Query |
CodePackageName |
string | Sì | Query |
CodePackageInstanceId |
string | Sì | Query |
timeout |
integer (int64) | No | Query |
ContainerApiRequestBody |
ContainerApiRequestBody | sì | 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"
}
}