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