Aufrufen der Container-API
Aufrufen der Container-API für einen Container, der auf einem Service Fabric-Knoten bereitgestellt wird.
Ruft die Container-API für einen Container auf, der auf einem Service Fabric-Knoten für das jeweilige Codepaket bereitgestellt wurde.
Anforderung
Methode | Anforderungs-URI |
---|---|
POST | /Nodes/{nodeName}/$/GetApplications/{applicationId}/$/GetCodePackages/$/ContainerApi?api-version=6.2&ServiceManifestName={ServiceManifestName}&CodePackageName={CodePackageName}&CodePackageInstanceId={CodePackageInstanceId}&timeout={timeout} |
Parameter
Name | type | Erforderlich | Standort |
---|---|---|---|
nodeName |
Zeichenfolge | Ja | Pfad |
applicationId |
Zeichenfolge | Ja | Pfad |
api-version |
Zeichenfolge | Ja | Abfrage |
ServiceManifestName |
Zeichenfolge | Ja | Abfrage |
CodePackageName |
Zeichenfolge | Ja | Abfrage |
CodePackageInstanceId |
Zeichenfolge | Ja | Abfrage |
timeout |
ganze Zahl (int64) | Nein | Abfrage |
ContainerApiRequestBody |
ContainerApiRequestBody | Ja | Body |
nodeName
Typ: Zeichenfolge
Erforderlich: Ja
Der Name des Knotens.
applicationId
Typ: Zeichenfolge
Erforderlich: Ja
Die Identität (ID) der Anwendung. Dies ist üblicherweise der vollständige Name der Anwendung ohne das URI-Schema „fabric:“.
Ab Version 6.0 wird für hierarchische Namen das Zeichen „~“ als Trennzeichen verwendet.
Hat eine Anwendung beispielsweise den Namen „fabric://meineapp/app1“, hat die Anwendungsidentität in 6.0 und höher den Wert „meineapp~app1“ und in früheren Versionen den Wert „meineapp/app1“.
api-version
Typ: Zeichenfolge
Erforderlich: Ja
Standard:
Die Version der API. Dieser Parameter ist erforderlich, und sein Wert muss "6.2" sein.
Die Rest-API-Version von Service Fabric basiert auf der Laufzeitversion, in der die API eingeführt oder geändert wurde. Die Service Fabric-Runtime unterstützt mehrere Versionen der API. Diese Version ist die neueste unterstützte Version der API. Wenn eine niedrigere API-Version übergeben wird, unterscheidet sich die zurückgegebene Antwort möglicherweise von der in dieser Spezifikation dokumentierten.
Darüber hinaus akzeptiert die Runtime jede Version, die höher als die neueste unterstützte Version bis zur aktuellen Version der Runtime ist. Wenn also die neueste API-Version 6.0 und die Runtime 6.1 ist, akzeptiert die Runtime Version 6.1 für diese API. Das Verhalten der API entspricht jedoch der dokumentierten Version 6.0.
ServiceManifestName
Typ: Zeichenfolge
Erforderlich: Ja
Der Name eines Dienstmanifests, das als Bestandteil eines Anwendungstyps in einem Service Fabric-Cluster registriert ist.
CodePackageName
Typ: Zeichenfolge
Erforderlich: Ja
Der Name des Codepakets, das im Dienstmanifest angegeben ist, das als Bestandteil eines Anwendungstyps in einem Service Fabric-Cluster registriert ist.
CodePackageInstanceId
Typ: Zeichenfolge
Erforderlich: Ja
Eine ID, die eine Codepaketinstanz eindeutig identifiziert, die auf einem Service Fabric-Knoten bereitgestellt wird.
timeout
Typ: integer (int64)
Erforderlich: Nein
Standard:
InclusiveMaximum: 4294967295
InklusiveMinimum: 1
Der Servertimeout für die Ausführung des Vorgangs in Sekunden. Dieser Timeout gibt die Zeitdauer an, die der Client bereit ist, auf den Abschluss des angeforderten Vorgangs zu warten. Der Standardwert für diesen Parameter ist 60 Sekunden.
ContainerApiRequestBody
Typ: ContainerApiRequestBody
Erforderlich: Ja
Parameter für den Container-API-Aufruf
Antworten
HTTP-Statuscode | BESCHREIBUNG | Antwortschema |
---|---|---|
200 (OK) | Ein erfolgreicher Vorgang gibt 200 status Code- und Container-API-Antwort für einen Container zurück, der auf einem Service Fabric-Knoten für das angegebene Codepaket bereitgestellt wird. |
ContainerApiResponse |
Alle anderen status Codes | Die detaillierte Fehlerantwort. |
FabricError |
Beispiele
Abrufen von Containerprotokollen
In diesem Beispiel wird gezeigt, wie Sie die Container-API mit HTTP GET für ein auf einem Knoten bereitgestelltes Codepaket aufrufen.
Anforderung
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"
}
Antwort 200
Text
{
"ContainerApiResult": {
"Status": "200",
"Content-Type": "text/plain; charset=utf-8",
"Body": "vEthernet (Container NIC ec5c19b2) 172.17.201.44\n"
}
}
Aktualisieren eines Containers
In diesem Beispiel wird gezeigt, wie Sie die Container-API mit HTTP POST für ein auf einem Knoten bereitgestelltes Codepaket aufrufen.
Anforderung
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}"
}
Antwort 200
Text
{
"ContainerApiResult": {
"Status": "200",
"Content-Type": "application/json",
"Body": "{\"Warnings\":null}\n"
}
}