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