Verifica dello stato

Questa pagina descrive come utilizzare Service Infrastructure per controllare lo stato di servizi gestiti, produttori di servizi, consumatori di servizi e chiavi API.

Quando un producer di servizi offre un servizio ai suoi consumer di servizi, deve assicurarsi che siano soddisfatti vari prerequisiti, ad esempio:

  • Un consumer di servizi è stato eliminato.
  • Il consumer di servizi ha attivato il servizio.
  • Una chiave API è valida.

L'API Service Control offre una semplice services.check per controllare queste precondizioni. Un servizio gestito deve chiamare questo metodo su base regolare per verificare che le condizioni preliminari siano soddisfatte. L'attività tra producer di servizi e consumer di servizi è rappresentato da un Operation Il metodo services.check esegue i seguenti controlli sull'operazione:

  • Il progetto di producer di servizi è attivo e in uno stato integro.
  • Il progetto consumer di servizi è attivo e in stato integro.
  • Il servizio gestito è abilitato nel progetto consumer del servizio.
  • La chiave API è valida.
  • L'utilizzo della chiave API soddisfa le limitazioni associate alla chiave API, come le limitazioni relative a referrer HTTP o IP.

Il metodo services.check viene generalmente chiamato dai server che in realtà a implementare il servizio. Per motivi di sicurezza e privacy, l'API Service Control utilizza Identity and Access Management per verificare che il chiamante abbia l'autorizzazione corretta per chiamare il metodo. Per maggiori dettagli, consulta Controllo dell'accesso all'API Service Control.

Controllo dello stato in corso…

Dopo aver implementato un servizio gestito, puoi chiamare il services.check sul servizio senza configurazione aggiuntiva. Per ulteriori dettagli, consulta la documentazione di riferimento di services.check.

Per sperimentare rapidamente il metodo, puoi utilizzare il comando gcurl per chiamare il metodo services.check. Consulta: Introduzione all'API Service Control per i passaggi di configurazione iniziali.

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

La risposta del metodo di controllo indica se tutti i controlli sono riusciti o se alcuni non sono riusciti. Il successo è indicato dall'assenza di checkErrors . In caso contrario, il campo checkErrors elenca i controlli non riusciti.