Invocar API de Contêiner

Invoque a API de contêiner em um contêiner implantado em um nó do Service Fabric.

Invoca a API de contêiner em um contêiner implantado em um nó do Service Fabric para o pacote de código fornecido.

Solicitação

Método URI da solicitação
POST /Nodes/{nodeName}/$/GetApplications/{applicationId}/$/GetCodePackages/$/ContainerApi?api-version=6.2&ServiceManifestName={ServiceManifestName}&CodePackageName={CodePackageName}&CodePackageInstanceId={CodePackageInstanceId}&timeout={timeout}

Parâmetros

Nome Tipo Obrigatório Location
nodeName string Sim Caminho
applicationId string Sim Caminho
api-version string Sim Consulta
ServiceManifestName string Sim Consulta
CodePackageName string Sim Consulta
CodePackageInstanceId string Sim Consulta
timeout inteiro (int64) Não Consulta
ContainerApiRequestBody ContainerApiRequestBody Sim Corpo

nodeName

Tipo: string
Obrigatório: sim

O nome do nó.


applicationId

Tipo: string
Obrigatório: sim

A identidade do aplicativo. Normalmente, este é o nome completo do aplicativo sem o esquema de URI "fabric:". A partir da versão 6.0, nomes hierárquicos são delimitados pelo caractere "~". Por exemplo, se o nome do aplicativo for "fabric:/meuaplicativo/aplicativo1", a identidade do aplicativo será "meuaplicativo~aplicativo1" na versão 6.0 e superiores, e "meuaplicativo/aplicativo1" nas versões anteriores.


api-version

Tipo: string
Obrigatório: sim
Padrão: 6.2

A versão da API. Esse parâmetro é necessário e seu valor deve ser '6.2'.

A versão da API REST do Service Fabric baseia-se na versão de runtime na qual a API foi introduzida ou foi alterada. O runtime do Service Fabric dá suporte a mais de uma versão da API. Esta versão é a versão mais recente com suporte da API. Se uma versão inferior da API for passada, a resposta retornada poderá ser diferente daquela documentada nesta especificação.

Além disso, o runtime aceita qualquer versão que seja maior do que a versão mais recente com suporte até a versão atual do runtime. Portanto, se a versão mais recente da API for 6.0 e o runtime for 6.1, o runtime aceitará a versão 6.1 para essa API. No entanto, o comportamento da API será de acordo com a versão documentada 6.0.


ServiceManifestName

Tipo: string
Obrigatório: sim

O nome de um manifesto de serviço registrado como parte de um tipo de aplicativo em um cluster do Service Fabric.


CodePackageName

Tipo: string
Obrigatório: sim

O nome do pacote de código especificado no manifesto de serviço registrado como parte de um tipo de aplicativo em um cluster do Service Fabric.


CodePackageInstanceId

Tipo: string
Obrigatório: sim

ID que identifica exclusivamente uma instância de pacote de código implantada em um nó do Service Fabric.


timeout

Tipo: inteiro (int64)
Obrigatório: não
Padrão: 60
InclusiveMaximum: 4294967295
InclusiveMinimum: 1

Tempo limite do servidor para executar a operação em segundos. Especifica o tempo que o cliente está disposto a esperar para que operação solicitada seja concluída. O valor padrão desse parâmetro é 60 segundos.


ContainerApiRequestBody

Tipo: ContainerApiRequestBody
Obrigatório: sim

Parâmetros para fazer chamada à API de contêiner

Respostas

Código de status HTTP Descrição Esquema de Resposta
200 (OK) Uma operação bem-sucedida retornará 200 status código e resposta da API de contêiner para um contêiner implantado em um nó do Service Fabric para o pacote de código especificado.
ContainerApiResponse
Todos os outros códigos de status A resposta de erro detalhada.
FabricError

Exemplos

Obter logs de contêiner

Este exemplo mostra como chamar a API de contêiner com HTTP GET para um pacote de código implantado em um nó.

Solicitação

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

Resposta 200

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

Atualizar um contêiner

Este exemplo mostra como chamar a API de contêiner com HTTP POST para um pacote de código implantado em um nó.

Solicitação

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

Resposta 200

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