Anropa container-API
Anropa container-API på en container som distribueras på en Service Fabric-nod.
Anropa container-API:et på en container som distribueras på en Service Fabric-nod för det angivna kodpaketet.
Förfrågan
Metod | URI för förfrågan |
---|---|
POST | /Nodes/{nodeName}/$/GetApplications/{applicationId}/$/GetCodePackages/$/ContainerApi?api-version=6.2&ServiceManifestName={ServiceManifestName}&CodePackageName={CodePackageName}&CodePackageInstanceId={CodePackageInstanceId}&timeout={timeout} |
Parametrar
Namn | Typ | Obligatorisk | Location |
---|---|---|---|
nodeName |
sträng | Ja | Sökväg |
applicationId |
sträng | Ja | Sökväg |
api-version |
sträng | Ja | Söka i data |
ServiceManifestName |
sträng | Ja | Söka i data |
CodePackageName |
sträng | Ja | Söka i data |
CodePackageInstanceId |
sträng | Ja | Söka i data |
timeout |
heltal (int64) | No | Söka i data |
ContainerApiRequestBody |
ContainerApiRequestBody | Yes | Brödtext |
nodeName
Typ: sträng
Krävs: Ja
Namnet på noden.
applicationId
Typ: sträng
Krävs: Ja
Programmets identitet. Detta är vanligtvis det fullständiga namnet på programmet utan URI-schemat "fabric:".
Från och med version 6.0 avgränsas hierarkiska namn med tecknet "~".
Om programnamnet till exempel är "fabric:/myapp/app1" skulle programidentiteten vara "myapp~app1" i 6.0+ och "myapp/app1" i tidigare versioner.
api-version
Typ: sträng
Krävs: Ja
Standard: 6.2
Versionen av API:et. Den här parametern krävs och dess värde måste vara "6.2".
Service Fabric REST API-versionen baseras på körningsversionen där API:et introducerades eller ändrades. Service Fabric Runtime stöder mer än en version av API:et. Den här versionen är den senaste versionen av API:et som stöds. Om en lägre API-version skickas kan det returnerade svaret skilja sig från det som dokumenteras i den här specifikationen.
Dessutom accepterar körningen alla versioner som är högre än den senaste versionen som stöds upp till den aktuella versionen av körningen. Så om den senaste API-versionen är 6.0 och körningen är 6.1 accepterar körningen version 6.1 för det API:et. Beteendet för API:et är dock enligt den dokumenterade 6.0-versionen.
ServiceManifestName
Typ: sträng
Krävs: Ja
Namnet på ett tjänstmanifest som registrerats som en del av en programtyp i ett Service Fabric-kluster.
CodePackageName
Typ: sträng
Krävs: Ja
Namnet på det kodpaket som anges i tjänstmanifestet som registrerats som en del av en programtyp i ett Service Fabric-kluster.
CodePackageInstanceId
Typ: sträng
Krävs: Ja
ID som unikt identifierar en kodpaketinstans som distribuerats på en Service Fabric-nod.
timeout
Typ: heltal (int64)
Krävs: Nej
Standard: 60
InclusiveMaximum: 4294967295
InclusiveMinimum: 1
Serverns tidsgräns för att utföra åtgärden i sekunder. Den här tidsgränsen anger hur lång tid klienten är villig att vänta på att den begärda åtgärden ska slutföras. Standardvärdet för den här parametern är 60 sekunder.
ContainerApiRequestBody
Typ: ContainerApiRequestBody
Krävs: Ja
Parametrar för att göra API-containeranrop
Svar
HTTP-statuskod | Description | Svarsschema |
---|---|---|
200 (OK) | En lyckad åtgärd returnerar 200 statuskod och container-API-svar för en container som distribueras på en Service Fabric-nod för det angivna kodpaketet. |
ContainerApiResponse |
Alla andra statuskoder | Det detaljerade felsvaret. |
FabricError |
Exempel
Hämta containerloggar
Det här exemplet visar hur du anropar container-API:et med HTTP GET för ett kodpaket som distribuerats på en nod.
Förfrågan
POST http://localhost:19080/Nodes/Node01/$/GetApplications/samples/winnodejs/$/GetCodePackages/$/ContainerApi?api-version=6.2&ServiceManifestName=NodeServicePackage&CodePackageName=NodeService.Code&CodePackageInstanceId=131668159770315380
Brödtext
{
"UriPath": "/containers/{id}/logs?stdout=true&stderr=true"
}
200 Svar
Brödtext
{
"ContainerApiResult": {
"Status": "200",
"Content-Type": "text/plain; charset=utf-8",
"Body": "vEthernet (Container NIC ec5c19b2) 172.17.201.44\n"
}
}
Uppdatera container
Det här exemplet visar hur du anropar container-API:et med HTTP POST för ett kodpaket som distribuerats på en nod.
Förfrågan
POST http://localhost:19080/Nodes/N0020/$/GetApplications/samples/nodejs1/$/GetCodePackages/$/ContainerApi?api-version=6.2&ServiceManifestName=NodeOnSF&CodePackageName=Code&CodePackageInstanceId=131673596679688285
Brödtext
{
"HttpVerb": "POST",
"UriPath": "/containers/{id}/update",
"Body": "{ \"CpuShares\": 512}"
}
200 Svar
Brödtext
{
"ContainerApiResult": {
"Status": "200",
"Content-Type": "application/json",
"Body": "{\"Warnings\":null}\n"
}
}