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.