Vyvolání rozhraní API kontejneru
Vyvolejte rozhraní API kontejneru u kontejneru nasazeného v uzlu Service Fabric.
Vyvolejte rozhraní API kontejneru v kontejneru nasazeného v uzlu Service Fabric pro daný balíček kódu.
Žádost
Metoda | Identifikátor URI žádosti |
---|---|
POST | /Nodes/{nodeName}/$/GetApplications/{applicationId}/$/GetCodePackages/$/ContainerApi?api-version=6.2&ServiceManifestName={ServiceManifestName}&CodePackageName={CodePackageName}&CodePackageInstanceId={CodePackageInstanceId}&timeout={timeout} |
Parametry
Název | Typ | Vyžadováno | Umístění |
---|---|---|---|
nodeName |
řetězec | Yes | Cesta |
applicationId |
řetězec | Yes | Cesta |
api-version |
řetězec | Ano | Dotaz |
ServiceManifestName |
řetězec | Ano | Dotaz |
CodePackageName |
řetězec | Yes | Dotaz |
CodePackageInstanceId |
řetězec | Ano | Dotaz |
timeout |
integer (int64) | No | Dotaz |
ContainerApiRequestBody |
ContainerApiRequestBody | Ano | Text |
nodeName
Typ: řetězec
Povinné: Ano
Název uzlu
applicationId
Typ: řetězec
Povinné: Ano
Identita aplikace. Obvykle se jedná o úplný název aplikace bez schématu identifikátoru URI fabric:.
Od verze 6.0 jsou hierarchické názvy oddělené znakem ~.
Pokud je například název aplikace "fabric:/myapp/app1", identita aplikace bude ve verzi 6.0 nebo novější "myapp~app1" a v předchozích verzích "myapp/app1".
api-version
Typ: řetězec
Povinné: Ano
Výchozí:6.2
Verze rozhraní API. Tento parametr je povinný a jeho hodnota musí být 6.2.
Verze rozhraní REST API Service Fabric 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. Tato verze je nejnovější podporovanou verzí rozhraní API. Pokud se předá nižší verze rozhraní API, může se vrácená odpověď 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 a modul runtime je 6.1, modul runtime pro toto rozhraní API přijme verzi 6.1. Chování rozhraní API však bude podle zdokumentované verze 6.0.
ServiceManifestName
Typ: řetězec
Povinné: Ano
Název manifestu služby zaregistrovaného jako součást typu aplikace v clusteru Service Fabric.
CodePackageName
Typ: řetězec
Povinné: Ano
Název balíčku kódu zadaný v manifestu služby zaregistrovaný jako součást typu aplikace v clusteru Service Fabric.
CodePackageInstanceId
Typ: řetězec
Povinné: Ano
ID, které jednoznačně identifikuje instanci balíčku kódu nasazenou v uzlu Service Fabric.
timeout
Typ: integer (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.
ContainerApiRequestBody
Typ: ContainerApiRequestBody
Povinné: Ano
Parametry pro volání rozhraní API kontejneru
Odpovědi
Stavový kód HTTP | Description | Schéma odpovědi |
---|---|---|
200 (OK) | Úspěšná operace vrátí stavový kód 200 a odpověď rozhraní API kontejneru pro kontejner nasazený v uzlu Service Fabric pro daný balíček kódu. |
ContainerApiResponse |
Všechny ostatní stavové kódy | Podrobná chybová odpověď. |
Chyba infrastruktury |
Příklady
Získání protokolů kontejneru
Tento příklad ukazuje, jak volat rozhraní API kontejneru pomocí HTTP GET pro balíček kódu nasazený na uzlu.
Žádost
POST http://localhost:19080/Nodes/Node01/$/GetApplications/samples/winnodejs/$/GetCodePackages/$/ContainerApi?api-version=6.2&ServiceManifestName=NodeServicePackage&CodePackageName=NodeService.Code&CodePackageInstanceId=131668159770315380
Text
{
"UriPath": "/containers/{id}/logs?stdout=true&stderr=true"
}
Odpověď 200
Text
{
"ContainerApiResult": {
"Status": "200",
"Content-Type": "text/plain; charset=utf-8",
"Body": "vEthernet (Container NIC ec5c19b2) 172.17.201.44\n"
}
}
Aktualizace kontejneru
Tento příklad ukazuje, jak volat rozhraní API kontejneru s protokolem HTTP POST pro balíček kódu nasazený na uzlu.
Žádost
POST http://localhost:19080/Nodes/N0020/$/GetApplications/samples/nodejs1/$/GetCodePackages/$/ContainerApi?api-version=6.2&ServiceManifestName=NodeOnSF&CodePackageName=Code&CodePackageInstanceId=131673596679688285
Text
{
"HttpVerb": "POST",
"UriPath": "/containers/{id}/update",
"Body": "{ \"CpuShares\": 512}"
}
Odpověď 200
Text
{
"ContainerApiResult": {
"Status": "200",
"Content-Type": "application/json",
"Body": "{\"Warnings\":null}\n"
}
}