Cloud Endpoints fornisce quote, che ti consentono di controllare la frequenza con cui le applicazioni possono chiamare la tua API. L'impostazione di una quota consente di specificare limiti di utilizzo per proteggere la tua API da un numero eccessivo di richieste dalle applicazioni di chiamata. Le richieste in eccesso potrebbero essere state causate da un semplice errore di battitura o da un sistema progettato in modo non efficiente che effettua chiamate inutili alla tua API. Indipendentemente dalla causa, il blocco del traffico proveniente da una sorgente una volta raggiunto un determinato livello è necessario per l'integrità complessiva della tua API. Impostando una quota, ti assicuri che un'applicazione non possa influire negativamente su altre applicazioni che utilizzano la tua API.
Questa pagina fornisce una panoramica delle funzionalità principali fornite dalle quote.
Le richieste sono legate al progetto consumer
Dopo aver configurato una quota, Endpoints monitora il numero di richieste al minuto per progetto Google Cloud consumer. Ogni applicazione che chiama l'API deve:
- Avere un progetto Google Cloud.
- Aver abilitato l'API nel proprio progetto Google Cloud.
- Invia una chiave API. per ogni richiesta all'API. Questo consente a Endpoints di identificare il progetto Google Cloud a cui è associata l'applicazione chiamante e di incrementare il contatore di richieste per il progetto Google Cloud.
Per informazioni sulla configurazione di una chiave API, consulta le seguenti risorse:
- Java: limitare l'accesso all'API con le chiavi API
- Python: limitare l'accesso alle API con le chiavi API
Puoi fare in modo che i tuoi consumer API creino i propri progetti nella console Google Cloud oppure puoi creare i progetti per loro. Poiché gli endpoint applicano le quote per progetto, devi avere un progetto per ogni consumer API.
Limita il numero di richieste al minuto
Impostando una quota, puoi limitare il numero di richieste al minuto all'intera API o solo a metodi specifici. Se il codice client di un progetto consumer supera il limite configurato, la richiesta viene rifiutata prima che arrivi all'API e viene restituito un codice di stato HTTP di 429 too many
requests
. Le applicazioni di chiamata dovranno gestire il codice di stato 429
e utilizzare il backoff esponenziale o un'altra logica di ripetizione per ridurre la frequenza delle chiamate alla tua API.
Configura una o più quote
Puoi configurare una o più quote denominate e specificare un limite di frequenza diverso per ogni quota. Ad esempio, nell'API potresti avere alcuni metodi che utilizzano molte risorse (come un metodo che esegue una query complessa e restituisce un lungo elenco di risultati) e altri metodi veloci e leggeri. Ti consigliamo di configurare due quote con limiti di frequenza diversi e associare i metodi che richiedono molte risorse a una quota e i metodi leggeri all'altra.
Configura un costo
Quando associ un metodo a una quota, specifichi sempre un costo per la richiesta. In questo modo, metodi diversi possono utilizzare la stessa quota a tariffe diverse. Puoi utilizzare i costi in alternativa alla configurazione di quote diverse. Ad esempio, supponi di configurare una quota con un limite di 1000 richieste al minuto. Per i metodi leggeri, devi configurare un costo pari a 1, il che significa che i client possono chiamare i metodi leggeri 1000 volte al minuto. Per i metodi che utilizzano molte risorse, devi configurare un costo pari a 2, il che significa che ogni volta che il client chiama il metodo, il contatore delle richieste viene incrementato di 2, fino al raggiungimento del limite di 1000. In effetti, questo limita i metodi che consumano molte risorse a 500 richieste al minuto.
Esegui l'override della quota configurata
Nella pagina Endpoint > Servizi viene visualizzata la quota configurata per ciascun metodo nell'API. Se necessario, puoi eseguire l'override del limite configurato per un progetto consumer specifico. Per impostare un override, devi inserire il numero di progetto del progetto consumer nella pagina Endpoint > Servizi. Se non hai accesso al progetto consumer che vuoi sostituire, devi contattare qualcuno che ne abbia accesso per ottenere il numero del progetto.