Nesta página, você aprende a usar a Service Infrastructure para verificar o status em serviços gerenciados, produtores de serviço, consumidores de serviço e chaves de API.
Quando um produtor oferece um serviço para os próprios consumidores, ele precisa garantir que várias pré-condições sejam atendidas. Por exemplo, se:
- um consumidor de serviço foi excluído;
- o consumidor de serviço ativou o serviço;
- uma chave de API é válida.
A API Service Control fornece um método services.check simples para verificar essas pré-condições. Um serviço gerenciado precisa chamar esse método regularmente para garantir que as pré-condições sejam atendidas. A atividade entre o produtor de serviço e o consumidor de serviço é representada por um Operation.
O método services.check executa as seguintes verificações na operação:
- O projeto do produtor de serviço está ativo e íntegro.
- O projeto do consumidor de serviço está ativo e íntegro.
- O serviço gerenciado está ativado no projeto de consumidor de serviço.
- A chave de API é válida.
- O uso da chave de API atende às respectivas restrições da chave, como restrições de referenciador IP ou HTTP.
O método services.check geralmente é chamado a partir dos servidores que realmente implementam o serviço. Para fins de segurança e privacidade, a API Service Control usa o gerenciamento de identidade e acesso para verificar se o chamador tem a devida permissão para chamar o método. Para detalhes, consulte Controle de acesso à API Service Control.
Como verificar o status
Depois de lançar um serviço gerenciado, você pode chamar o método services.check no serviço sem configuração adicional. Consulte a referência do services.check para mais detalhes.
Para experimentar rapidamente o método, você pode usar o comando gcurl para chamar o método services.check. Consulte Primeiros passos com a API Service Control para conhecer as etapas de configuração inicial.
gcurl -d '{
"operation": {
"operationId": "123e4567-e89b-12d3-a456-426655440000",
"consumerId": "project:endpointsapis-consumer",
"startTime":"2016-07-31T05:20:00Z",
"operationName":"google.example.hello.v1.HelloService.GetHello"
}
}' https://servicecontrol.googleapis.com/v1/services/endpointsapis.appspot.com:check
{
"operationId": "123e4567-e89b-12d3-a456-426655440000"
}
A resposta do método indica se todas as verificações foram concluídas ou se falharam. O sucesso é indicado pela ausência do campo checkErrors. Caso contrário, o campo checkErrors lista as verificações com falha.