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.