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 | Sí | Ruta de acceso |
applicationId |
string | Sí | Ruta de acceso |
api-version |
string | Sí | Consultar |
ServiceManifestName |
string | Sí | Consultar |
CodePackageName |
string | Sí | Consultar |
CodePackageInstanceId |
string | Sí | Consultar |
timeout |
entero (int64) | No | Consultar |
ContainerApiRequestBody |
ContainerApiRequestBody | Sí | 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"
}
}