Verifica dello stato

Questa pagina descrive come utilizzare l'Service Infrastructure per controllare lo stato di servizi gestiti, producer di servizi, consumer di servizi e chiavi API.

Quando un producer di servizi offre un servizio ai propri consumer di servizi, deve assicurarsi che vengano soddisfatte varie condizioni preliminari, ad esempio se:

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

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

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

Il metodo services.check viene in genere chiamato dai server che implementano effettivamente il servizio. Per motivi di sicurezza e privacy, l'API Service Control utilizza Identity and Access Management per verificare che il chiamante disponga dell'autorizzazione appropriata 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 metodo services.check nel servizio senza ulteriori configurazioni. Consulta il riferimento services.check per i dettagli.

Per sperimentare rapidamente il metodo, puoi utilizzare il comando gcurl per chiamare il metodo services.check. Per i passaggi di configurazione iniziali, consulta la guida introduttiva all'API Service Control.

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 solo alcuni. Il successo è indicato dall'assenza del campo checkErrors. In caso contrario, nel campo checkErrors vengono elencati i controlli non riusciti.