Invocar a API de Contentor

Invocar a API de contentor num contentor implementado num nó do Service Fabric.

Invocar a API de contentor num contentor implementado num nó do Service Fabric para o pacote de código especificado.

Pedir

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

Parâmetros

Nome Tipo Necessário Localização
nodeName string Yes Caminho
applicationId string Yes Caminho
api-version string Yes Consulta
ServiceManifestName string Yes Consulta
CodePackageName string Yes Consulta
CodePackageInstanceId string Yes Consulta
timeout número inteiro (int64) No Consulta
ContainerApiRequestBody ContainerApiRequestBody Yes Corpo

nodeName

Tipo: cadeia
Obrigatório: Sim

O nome do nó.


applicationId

Tipo: cadeia
Obrigatório: Sim

A identidade da aplicação. Normalmente, este é o nome completo da aplicação sem o esquema URI "fabric:". A partir da versão 6.0, os nomes hierárquicos são delimitados com o caráter "~". Por exemplo, se o nome da aplicação for "fabric:/myapp/app1", a identidade da aplicação será "myapp~app1" em 6.0+ e "myapp/app1" em versões anteriores.


api-version

Tipo: cadeia
Obrigatório: Sim
Predefinição: 6.2

A versão da API. Este parâmetro é obrigatório e o respetivo valor tem de 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 suporta mais do que uma versão da API. Esta versão é a versão suportada mais recente da API. Se for transmitida uma versão da API inferior, a resposta devolvida poderá ser diferente da documentada nesta especificação.

Além disso, o runtime aceita qualquer versão superior à versão suportada mais recente até à versão atual do runtime. Por isso, 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 dessa API. No entanto, o comportamento da API será conforme a versão documentada 6.0.


ServiceManifestName

Tipo: cadeia
Obrigatório: Sim

O nome de um manifesto de serviço registado como parte de um tipo de aplicação num cluster do Service Fabric.


CodePackageName

Tipo: cadeia
Obrigatório: Sim

O nome do pacote de código especificado no manifesto de serviço registado como parte de um tipo de aplicação num cluster do Service Fabric.


CodePackageInstanceId

Tipo: cadeia
Obrigatório: Sim

ID que identifica exclusivamente uma instância de pacote de código implementada num nó do service fabric.


timeout

Tipo: número inteiro (int64)
Obrigatório: Não
Predefinição: 60
InclusiveMaximum: 4294967295
InclusiveMinimum: 1

O tempo limite do servidor para executar a operação em segundos. Este tempo limite especifica a duração de tempo que o cliente está disposto a aguardar pela conclusão da operação pedida. O valor predefinido para este parâmetro é 60 segundos.


ContainerApiRequestBody

Tipo: ContainerApiRequestBody
Obrigatório: Sim

Parâmetros para fazer a chamada à API de contentor

Respostas

Código de Estado HTTP Description Esquema de Resposta
200 (OK) Uma operação bem-sucedida devolverá o código de estado 200 e a resposta da API de contentor para um contentor implementado num nó do Service Fabric para o pacote de código especificado.
ContainerApiResponse
Todos os outros códigos de estado A resposta detalhada ao erro.
FabricError

Exemplos

Obter registos de contentor

Este exemplo mostra como chamar a API de contentor com HTTP GET para um pacote de código implementado num nó.

Pedir

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 contentor

Este exemplo mostra como chamar a API de contentor com HTTP POST para um pacote de código implementado num nó.

Pedir

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