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 consumatore di servizi è stato eliminato.
  • Il consumer del servizio lo ha attivato.
  • Una chiave API è valida.

L'API Service Control fornisce un semplice services.check metodo per verificare queste pre condizioni. Un servizio gestito deve chiamare questo metodo regolarmente per verificare che i prerequisiti siano soddisfatti. L'attività tra il producer di servizi e il consumer di servizi è rappresentata 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 del servizio è 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 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 abbia l'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 sul servizio senza configurazione aggiuntiva. Per ulteriori dettagli, consulta la documentazione di riferimento di services.check.

Per eseguire rapidamente esperimenti con il metodo, puoi utilizzare il comando gcurl per chiamare il metodo services.check. Per i passaggi di configurazione iniziale, consulta Introduzione 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 se alcuni non sono riusciti. L'operazione è andata a buon fine se non è presente il campo checkErrors. In caso contrario, il campo checkErrors elenca i controlli non riusciti.