Compartir a través de


Invocar Api de contenedor

Invoque la API de contenedor en un contenedor implementado en un nodo de Service Fabric.

Invoca la API de contenedor para el contenedor implementado en un nodo de Service Fabric para el paquete de código especificado.

Solicitud

Método URI de solicitud
POST /Nodes/{nodeName}/$/GetApplications/{applicationId}/$/GetCodePackages/$/ContainerApi?api-version=6.2&ServiceManifestName={ServiceManifestName}&CodePackageName={CodePackageName}&CodePackageInstanceId={CodePackageInstanceId}&timeout={timeout}

Parámetros

Nombre Tipo Requerido Location
nodeName string Ruta de acceso
applicationId string Ruta de acceso
api-version string Consultar
ServiceManifestName string Consultar
CodePackageName string Consultar
CodePackageInstanceId string Consultar
timeout entero (int64) No Consultar
ContainerApiRequestBody ContainerApiRequestBody Body

nodeName

Tipo: cadena
Obligatoria: sí

El nombre del nodo.


applicationId

Tipo: cadena
Obligatoria: sí

La identidad de la aplicación. Este suele ser el nombre completo de la aplicación sin el esquema de URI "fabric:" A partir de la versión 6.0, los nombres jerárquicos se delimitan con el carácter "~". Por ejemplo, si el nombre de la aplicación es "fabric:/myapp/app1", la identidad de la aplicación sería "myapp~app1" en 6.0+ y "myapp/app1" en las versiones anteriores.


api-version

Tipo: cadena
Obligatoria: sí
Predeterminado:

La versión de la API. Este parámetro es necesario y su valor debe ser "6.2".

La versión de la API rest de Service Fabric se basa en la versión en tiempo de ejecución en la que se introdujo o se cambió la API. El entorno de ejecución de Service Fabric admite más de una versión de la API. Esta versión es la versión más reciente admitida de la API. Si se pasa una versión de API inferior, la respuesta devuelta puede ser diferente de la documentada en esta especificación.

Además, el tiempo de ejecución acepta cualquier versión superior a la versión admitida más reciente hasta la versión actual del entorno de ejecución. Por lo tanto, si la versión más reciente de la API es 6.0 y el runtime es 6.1, el entorno de ejecución aceptará la versión 6.1 para esa API. Sin embargo, el comportamiento de la API será según la versión 6.0 documentada.


ServiceManifestName

Tipo: cadena
Obligatoria: sí

El nombre de un manifiesto de servicio registrado como parte de un tipo de aplicación en un clúster de Service Fabric.


CodePackageName

Tipo: cadena
Obligatoria: sí

El nombre del paquete de código especificado en un manifiesto de servicio registrado como parte de un tipo de aplicación en un clúster de Service Fabric.


CodePackageInstanceId

Tipo: cadena
Obligatoria: sí

Identificador que de forma exclusiva identifica a una instancia de paquete de código implementada en un nodo de Service Fabric.


timeout

Tipo: entero (int64)
Obligatoria: no
Predeterminado:
InclusiveMaximum: 4294967295
InclusiveMinimum: 1

Tiempo de espera del servidor para realizar la operación en segundos. Este tiempo de espera especifica el tiempo que el cliente está dispuesto a esperar a que se complete la operación solicitada. El valor predeterminado para este parámetro es 60 segundos.


ContainerApiRequestBody

Tipo: ContainerApiRequestBody
Obligatoria: sí

Parámetros para realizar una llamada API de contenedor

Respuestas

Código de estado HTTP Descripción Esquema de respuesta
200 (OK) Una operación correcta devolverá el código de estado 200 y la respuesta de la API de contenedor para un contenedor implementado en un nodo de Service Fabric para el paquete de código especificado.
ContainerApiResponse
Todos los demás códigos de estado Respuesta de error detallada.
FabricError

Ejemplos

Obtención de registros de contenedor

En este ejemplo se muestra cómo llamar a la API de contenedor con HTTP GET para un paquete de código implementado en un nodo.

Request

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

Respuesta 200

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

Actualizar el contenedor

En este ejemplo se muestra cómo llamar a la API de contenedor con HTTP POST para un paquete de código implementado en un nodo.

Request

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

Respuesta 200

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