Dela via


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"
  }
}