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