Questa pagina descrive come utilizzare l'API Service Consumer Management per visualizzare e sostituire i limiti di quota applicati ai singoli consumer del tuo servizio.
Assicurati di familiarizzare con il modello di quota di servizio per comprendere meglio la terminologia utilizzata in questo tutorial.
Per ottenere i dati sull'utilizzo della quota, utilizza l'API Cloud Monitoring.Per programmare in base all'API Service Infrastructure, ti consigliamo di utilizzare una
delle nostre librerie client fornite. Per sperimentare
con l'API, puoi seguire le istruzioni di questa guida e utilizzare il comando curl
per testare l'API senza configurare un ambiente di sviluppo
completo dell'applicazione.
Visualizzare la quota di servizio
Per visualizzare le metriche e i limiti delle quote di servizio, segui questi passaggi:
Per utilizzare
gcurl, esegui il seguente comandoaliascon il token di autenticazione:alias gcurl='curl -H "Authorization: Bearer $(gcloud auth print-access-token)" -H "Content-Type: application/json"'Per saperne di più, consulta Attivare l'API Service Usage.
Per visualizzare tutti i limiti di quota per tutte le metriche applicabili a un determinato consumer, utilizza il seguente metodo:
gcurl https://serviceconsumermanagement.googleapis.com/v1beta1/services/SERVICE_NAME/projects/PROJECT_ID/consumerQuotaMetricsSostituisci quanto segue:
SERVICE_NAME: il nome del servizio.PROJECT_ID: l'ID del progetto consumer di interesse.
Questa chiamata risponde con un elenco di metriche definite dal servizio, ognuna con l'elenco dei limiti per queste metriche che si applicano a questo consumer, i valori per questi limiti e qualsiasi override. Ecco un esempio di risposta:
{ "metrics": [ { "name": "services/myservice.appspot.com/projects/consumer-project-id/consumerQuotaMetrics/airport_requests", "metric": "airport_requests", "displayName": "Airport Requests", "consumerQuotaLimits": [ { "name": "services/myservice.appspot.com/projects/consumer-project-id/consumerQuotaMetrics/airport_requests/limits/%2Fmin%2Fproject", "metric": "airport_requests", "unit": "1/min/{project}", "quotaBuckets": [ { "effectiveLimit": "5", "defaultLimit": "5", } ] } ], } ] }Ogni metrica nella risposta ha un campo nome. Per esaminare le impostazioni delle quote solo per quella metrica, anziché per tutte le metriche, utilizza il relativo nome nell'URL:
gcurl https://serviceconsumermanagement.googleapis.com/v1beta1/METRIC_NAMESostituisci
METRIC_NAMEcon il nome completo della metrica. Ad esempio:services/myservice.appspot.com/projects/consumer-project-id/consumerQuotaMetrics/airport_requestsOgni limite all'interno di una metrica ha un campo nome. Per esaminare le impostazioni della quota per solo quel limite per quella metrica, anziché per tutti i limiti di una metrica o per tutte le metriche, utilizza il relativo nome nell'URL:
gcurl https://serviceconsumermanagement.googleapis.com/v1beta1/LIMIT_NAMESostituisci
LIMIT_NAMEcon il nome completo del limite. Ad esempio:services/myservice.appspot.com/projects/consumer-project-id/consumerQuotaMetrics/airport_requests/limits/%2Fmin%2Fproject
Applicare un override del producer
Il proprietario o l'amministratore di un servizio può applicare un override del produttore a un limite specifico per un consumer specifico, concedendo un aumento della quota per quel limite.
Per identificare un limite, utilizza prima uno dei metodi precedenti per trovare la quota limite di interesse e utilizza il relativo campo del nome per applicare un override del produttore:
gcurl https://serviceconsumermanagement.googleapis.com/v1beta1/LIMIT_NAME/producerOverrides -d '{"override": {"override_value": "12345"} }'Questa chiamata può essere utilizzata per applicare un nuovo override o aggiornare un override esistente a un nuovo valore. Per concedere una quota illimitata per un limite, utilizza "-1" come valore di override.
Se la chiamata ha esito positivo, restituisce un identificatore dell'operazione, che rappresenta il lavoro in corso sul server, man mano che la modifica della quota si propaga ai sistemi di backend:
{ "name": "operations/quf.92accba3-6530-4fc1-9a95-c1280d48a6b7" }Per controllare l'avanzamento dell'operazione, utilizza il relativo nome:
gcurl https://serviceconsumermanagement.googleapis.com/v1/OPERATION_NAMEQuando questa chiamata risponde con un messaggio che include "done":true, l'operazione è terminata. Se l'operazione non riesce, il messaggio include i dettagli dell'errore.
Puoi anche verificare se una modifica è stata applicata ripetendo la chiamata get originale sul limite specifico. Il limite ora deve avere un campo
producerOverrideaggiuntivo.
Forzare modifiche consistenti della quota
Se un override causerebbe una riduzione della quota applicata superiore al 10%, la chiamata viene rifiutata, come misura di sicurezza per evitare di ridurre accidentalmente la quota troppo rapidamente. Per ignorare questa limitazione, utilizza il flag force:
gcurl https://serviceconsumermanagement.googleapis.com/v1beta1/LIMIT_NAME/producerOverrides -d '{"override": {"override_value": "0"}, "force": true}'
Applica gli override delle quote a livello di regione o zona
Alcuni limiti di quota vengono applicati in base alla regione o alla zona; ciò è indicato dalla presenza di /{region} o /{zone} nell'unità di limite.
L'applicazione di un override a un limite di questo tipo modifica la quota di base in ogni regione o zona. Per modificare la quota solo per una regione o una zona specifica, utilizza il campo posizione:
gcurl https://serviceconsumermanagement.googleapis.com/v1beta1/LIMIT_NAME/producerOverrides -d '{"override": {"override_value": "135", "dimensions": {"region": "asia-south1"} } }'