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