Partager via


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