Como verificar o status

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.