Appeler l’API de conteneur
Appelez l’API de conteneur sur un conteneur déployé sur un nœud Service Fabric.
Appelle l’API de conteneur sur un conteneur déployé sur un nœud Service Fabric pour le package de code donné.
Requête
Méthode | URI de demande |
---|---|
POST | /Nodes/{nodeName}/$/GetApplications/{applicationId}/$/GetCodePackages/$/ContainerApi?api-version=6.2&ServiceManifestName={ServiceManifestName}&CodePackageName={CodePackageName}&CodePackageInstanceId={CodePackageInstanceId}&timeout={timeout} |
Paramètres
Nom | Type | Obligatoire | Emplacement |
---|---|---|---|
nodeName |
string | Oui | Chemin d’accès |
applicationId |
string | Oui | Chemin d’accès |
api-version |
string | Oui | Requête |
ServiceManifestName |
string | Oui | Requête |
CodePackageName |
string | Oui | Requête |
CodePackageInstanceId |
string | Oui | Requête |
timeout |
integer (int64) | Non | Requête |
ContainerApiRequestBody |
ContainerApiRequestBody | Oui | body |
nodeName
Type : chaîne
Obligatoire : Oui
Nom du nœud.
applicationId
Type : chaîne
Obligatoire : Oui
Identité de l’application. Il s’agit généralement du nom complet de l’application, sans « fabric ». Schéma d’URI.
Depuis la version 6.0, les noms hiérarchiques sont séparés par le caractère « ~ ».
Par exemple, si une application est nommée « fabric://mon_app/app1 », son identité est « mon_app~app1 » dans les versions 6.0 et supérieures, et « mon_app/app1 » dans les versions précédentes.
api-version
Type : chaîne
Obligatoire : Oui
Par défaut : 6.2
Version de l’API. Ce paramètre est obligatoire et sa valeur doit être « 6.2 ».
La version de l’API REST Service Fabric est basée sur la version du runtime dans laquelle l’API a été introduite ou a été modifiée. Le runtime Service Fabric prend en charge plusieurs versions de l’API. Cette version est la dernière version prise en charge de l’API. Si une version inférieure de l’API est passée, la réponse retournée peut être différente de celle documentée dans cette spécification.
En outre, le runtime accepte toute version supérieure à la dernière version prise en charge jusqu’à la version actuelle du runtime. Par conséquent, si la dernière version de l’API est 6.0 et que le runtime est 6.1, le runtime accepte la version 6.1 pour cette API. Toutefois, le comportement de l’API sera conformément à la version 6.0 documentée.
ServiceManifestName
Type : chaîne
Obligatoire : Oui
Nom d’un manifeste de service inscrit dans le cadre d’un type d’application dans un cluster Service Fabric.
CodePackageName
Type : chaîne
Obligatoire : Oui
Nom de package de code spécifié dans un manifeste de service inscrit dans le cadre d’un type d’application dans un cluster Service Fabric.
CodePackageInstanceId
Type : chaîne
Obligatoire : Oui
ID qui identifie de façon unique une instance de package de code déployée sur un nœud Service Fabric.
timeout
Type : integer (int64)
Obligatoire : Non
Par défaut : 60
InclusiveMaximum : 4294967295
InclusiveMinimum : 1
Délai d’attente du serveur pour l’exécution de l’opération en secondes. Il spécifie la durée pendant laquelle le client attend la fin de l’opération demandée. La valeur par défaut de ce paramètre est de 60 secondes.
ContainerApiRequestBody
Type : ContainerApiRequestBody
Obligatoire : Oui
Paramètres pour effectuer un appel d’API de conteneur
Réponses
Code d’état HTTP | Description | Schéma de réponse |
---|---|---|
200 (OK) | Une opération réussie renvoie 200 status réponse d’API de code et de conteneur pour un conteneur déployé sur un nœud Service Fabric pour le package de code donné. |
ContainerApiResponse |
Tous les autres codes status | Réponse d’erreur détaillée. |
FabricError |
Exemples
Obtenir les journaux de conteneur
Cet exemple montre comment appeler l’API de conteneur avec HTTP GET pour un package de code déployé sur un nœud.
Requête
POST http://localhost:19080/Nodes/Node01/$/GetApplications/samples/winnodejs/$/GetCodePackages/$/ContainerApi?api-version=6.2&ServiceManifestName=NodeServicePackage&CodePackageName=NodeService.Code&CodePackageInstanceId=131668159770315380
Corps
{
"UriPath": "/containers/{id}/logs?stdout=true&stderr=true"
}
Réponse 200
Corps
{
"ContainerApiResult": {
"Status": "200",
"Content-Type": "text/plain; charset=utf-8",
"Body": "vEthernet (Container NIC ec5c19b2) 172.17.201.44\n"
}
}
Mettre à jour un conteneur
Cet exemple montre comment appeler l’API de conteneur avec HTTP POST pour un package de code déployé sur un nœud.
Requête
POST http://localhost:19080/Nodes/N0020/$/GetApplications/samples/nodejs1/$/GetCodePackages/$/ContainerApi?api-version=6.2&ServiceManifestName=NodeOnSF&CodePackageName=Code&CodePackageInstanceId=131673596679688285
Corps
{
"HttpVerb": "POST",
"UriPath": "/containers/{id}/update",
"Body": "{ \"CpuShares\": 512}"
}
Réponse 200
Corps
{
"ContainerApiResult": {
"Status": "200",
"Content-Type": "application/json",
"Body": "{\"Warnings\":null}\n"
}
}