Delen via


Container-API aanroepen

Container-API aanroepen op een container die is geïmplementeerd op een Service Fabric-knooppunt.

Roep de container-API aan op een container die is geïmplementeerd op een Service Fabric-knooppunt voor het opgegeven codepakket.

Aanvraag

Methode Aanvraag-URI
POST /Nodes/{nodeName}/$/GetApplications/{applicationId}/$/GetCodePackages/$/ContainerApi?api-version=6.2&ServiceManifestName={ServiceManifestName}&CodePackageName={CodePackageName}&CodePackageInstanceId={CodePackageInstanceId}&timeout={timeout}

Parameters

Naam Type Vereist Locatie
nodeName tekenreeks Ja Pad
applicationId tekenreeks Ja Pad
api-version tekenreeks Ja Query’s uitvoeren
ServiceManifestName tekenreeks Ja Query’s uitvoeren
CodePackageName tekenreeks Ja Query’s uitvoeren
CodePackageInstanceId tekenreeks Ja Query’s uitvoeren
timeout geheel getal (int64) Nee Query’s uitvoeren
ContainerApiRequestBody ContainerApiRequestBody Ja Hoofdtekst

nodeName

Type: tekenreeks
Vereist: Ja

De naam van het knooppunt.


applicationId

Type: tekenreeks
Vereist: Ja

De identiteit van de toepassing. Dit is doorgaans de volledige naam van de toepassing zonder het URI-schema 'fabric:'. Vanaf versie 6.0 worden hiërarchische namen gescheiden door het teken '~'. Als de toepassingsnaam bijvoorbeeld 'fabric:/myapp/app1' is, is de toepassingsidentiteit 'myapp~app1' in 6.0+ en 'myapp/app1' in eerdere versies.


api-version

Type: tekenreeks
Vereist: Ja
Standaardinstelling: 6.2

De versie van de API. Deze parameter is vereist en de waarde moet '6.2' zijn.

Service Fabric REST API-versie is gebaseerd op de runtimeversie waarin de API is geïntroduceerd of gewijzigd. Service Fabric-runtime ondersteunt meer dan één versie van de API. Deze versie is de meest recente ondersteunde versie van de API. Als een lagere API-versie wordt doorgegeven, kan het geretourneerde antwoord afwijken van het antwoord dat in deze specificatie wordt beschreven.

Daarnaast accepteert de runtime elke versie die hoger is dan de meest recente ondersteunde versie tot de huidige versie van de runtime. Dus als de nieuwste API-versie 6.0 is en de runtime 6.1 is, accepteert de runtime versie 6.1 voor die API. Het gedrag van de API is echter volgens de gedocumenteerde versie 6.0.


ServiceManifestName

Type: tekenreeks
Vereist: Ja

De naam van een servicemanifest dat is geregistreerd als onderdeel van een toepassingstype in een Service Fabric-cluster.


CodePackageName

Type: tekenreeks
Vereist: Ja

De naam van het codepakket dat is opgegeven in het servicemanifest dat is geregistreerd als onderdeel van een toepassingstype in een Service Fabric-cluster.


CodePackageInstanceId

Type: tekenreeks
Vereist: Ja

Id die een unieke identificatie vormt van een codepakketexemplaar dat is geïmplementeerd op een Service Fabric-knooppunt.


timeout

Type: geheel getal (int64)
Vereist: Nee
Standaardinstelling: 60
InclusiveMaximum: 4294967295
InclusiefMinimum: 1

De time-out van de server voor het uitvoeren van de bewerking in seconden. Deze time-out geeft de tijdsduur aan die de client bereid is te wachten totdat de aangevraagde bewerking is voltooid. De standaardwaarde voor deze parameter is 60 seconden.


ContainerApiRequestBody

Type: ContainerApiRequestBody
Vereist: Ja

Parameters voor het maken van container-API-aanroep

Antwoorden

HTTP-statuscode Beschrijving Antwoordschema
200 (OK) Een geslaagde bewerking retourneert 200 statuscode en antwoord van de container-API voor een container die is geïmplementeerd op een Service Fabric-knooppunt voor het opgegeven codepakket.
ContainerApiResponse
Alle andere statuscodes Het gedetailleerde foutantwoord.
FabricError

Voorbeelden

Containerlogboeken ophalen

In dit voorbeeld ziet u hoe u de container-API met HTTP GET aanroept voor een codepakket dat op een knooppunt is geïmplementeerd.

Aanvraag

POST http://localhost:19080/Nodes/Node01/$/GetApplications/samples/winnodejs/$/GetCodePackages/$/ContainerApi?api-version=6.2&ServiceManifestName=NodeServicePackage&CodePackageName=NodeService.Code&CodePackageInstanceId=131668159770315380
Hoofdtekst
{
  "UriPath": "/containers/{id}/logs?stdout=true&stderr=true"
}

200-antwoord

Hoofdtekst
{
  "ContainerApiResult": {
    "Status": "200",
    "Content-Type": "text/plain; charset=utf-8",
    "Body": "vEthernet (Container NIC ec5c19b2) 172.17.201.44\n"
  }
}

Container bijwerken

In dit voorbeeld ziet u hoe u een container-API aanroept met HTTP POST voor een codepakket dat op een knooppunt is geïmplementeerd.

Aanvraag

POST http://localhost:19080/Nodes/N0020/$/GetApplications/samples/nodejs1/$/GetCodePackages/$/ContainerApi?api-version=6.2&ServiceManifestName=NodeOnSF&CodePackageName=Code&CodePackageInstanceId=131673596679688285
Hoofdtekst
{
  "HttpVerb": "POST",
  "UriPath": "/containers/{id}/update",
  "Body": "{ \"CpuShares\": 512}"
}

200-antwoord

Hoofdtekst
{
  "ContainerApiResult": {
    "Status": "200",
    "Content-Type": "application/json",
    "Body": "{\"Warnings\":null}\n"
  }
}