L'API Cloud Quotas ti consente di modificare in modo programmatico le quote a livello di progetto e di automatizzare le richieste di aggiustamento delle quote a livello di progetto. Ad esempio, puoi utilizzare l'API Cloud Quotas per:
Automatizzare gli aggiustamenti delle quote: puoi utilizzare l'API Cloud Quotas per richiedere la quota. aggiustamenti in base ai tuoi criteri. Ad esempio, per evitare la quota errori di superamento, puoi usare l'API per richiedere in modo programmatico una quota quando le risorse Compute Engine raggiungono l'80% della quota disponibile.
Riutilizza le configurazioni delle quote tra i progetti: l'API Cloud Quotas può clonare le configurazioni delle quote da un progetto all'altro. Se esiste un insieme noto di quote che devono essere aumentate per ogni nuovo progetto Google Cloud, puoi utilizzare l'API Cloud Quotas per automatizzare questa operazione nella logica di creazione del progetto. Le richieste di variazione della quota sono soggette all'approvazione di Google Cloud.
Gestire le richieste di quota dei clienti: se sei un provider SaaS integrato con Google Cloud, potresti ricevere richieste di aumento della quota tramite diverso dalla console Google Cloud. Queste richieste devono essere inoltrate a Google Cloud per l'elaborazione. L'API Cloud Quotas può eseguire le richieste dei clienti.
Abilita il controllo della versione della configurazione del client: l'API Cloud Quotas è declarative. Puoi trattare le configurazioni delle quote come codice e archiviarle nel tuo sistema controllato dalla versione per la cronologia e il rollback.
Limitazioni
Le quote Cloud presentano le seguenti limitazioni:
Gli aggiustamenti dell'aumento della quota devono essere apportati a livello di progetto e sono soggetta all'approvazione di Google Cloud.
Puoi richiedere aggiustamenti per la riduzione delle quote per le quote a livello di progetto, cartella e organizzazione.
L'API Cloud Quotas supporta solo le operazioni a livello di progetto. Le operazioni a livello di cartella e di organizzazione non sono supportate.
Endpoint di servizio
L'endpoint di servizio è un URL di base che specifica l'indirizzo di rete di un servizio API. Un servizio può avere più endpoint. Il servizio API Cloud Quotas ha il seguente endpoint e tutti gli URI sono relativi a questo:
https://cloudquotas.googleapis.com
Ruoli obbligatori
Per ottenere le autorizzazioni necessarie per accedere alle risorse cloudquotas_quotaPreferences
e cloudquotas_quotaInfos
,
chiedi all'amministratore di concederti il ruolo IAM Amministratore delle quote Cloud (cloudquotas.admin
)
nel progetto.
Per saperne di più sulla concessione dei ruoli, consulta Gestire l'accesso a progetti, cartelle e organizzazioni.
Questo ruolo predefinito contiene
le autorizzazioni necessarie per accedere alle risorse cloudquotas_quotaPreferences
e cloudquotas_quotaInfos
. Per vedere le autorizzazioni esatte
obbligatorie, espandi la sezione Autorizzazioni obbligatorie:
Autorizzazioni obbligatorie
Per accedere alle risorse cloudquotas_quotaPreferences
e cloudquotas_quotaInfos
sono necessarie le seguenti autorizzazioni:
-
cloudquotas.quotas.update
-
cloudquotas.quotas.get
-
monitoring.timeSeries.list
-
resourcemanager.projects.get
-
resourcemanager.projects.list
Potresti anche riuscire a ottenere queste autorizzazioni con ruoli personalizzati altri ruoli predefiniti.
Modello di risorsa API
Il modello di risorse dell'API Cloud Quotas è composto da due risorse:
QuotaPreference
e QuotaInfo
.
Preferenza quota
La risorsa QuotaPreference
rappresenta la tua preferenza per la quota per una determinata
combinazione di dimensioni. Utilizza le funzionalità di
per regolare le quote nei progetti, nelle cartelle o nelle organizzazioni.
Imposta un valore preferito per una regione
L'esempio seguente mostra una risorsa QuotaPreference
in un metodo CreateQuotaPreference
.
{ "service": "compute.googleapis.com", "quotaId": "GPUS-PER-GPU-FAMILY-per-project-region", "quotaConfig": { "preferredValue": 100 }, "dimensions": { "region": "us-central1" } }
Il valore preferredValue
pari a 100 indica che il richiedente vuole che la quota GPUS-PER-GPU-FAMILY-per-project-region
sia impostata su quel valore. Il campo delle dimensioni indica che la preferenza si applica solo alla regione
us-central1
.
Verificare il valore concesso
L'esempio seguente mostra una risorsa QuotaPreference
in un
Metodo GetQuotaPreference
.
{ "name": "projects/PROJECT_NUMBER/locations/global/quotaPreferences/compute_googleapis_com-gpus-us-central1", "service": "compute.googleapis.com", "quotaId": "GPUS-PER-GPU-FAMILY-per-project-region", "quotaConfig": { "preferredValue": 100, "grantedValue": 100, "traceId": "123acd-345df23", "requestOrigin": "ORIGIN_UNSPECIFIED" }, "dimensions": { "region": "us-central1" }, "createTime": "2023-01-15T01:30:15.01Z", "updateTime": "2023-01-16T02:35:16.01Z" }
Questo output include i seguenti valori:
PROJECT_NUMBER
: un identificatore unico generato automaticamente per il progetto.
La risposta mostra un valore grantedValue
pari a 100, che significa
la classe preferredValue
dell'esempio precedente è stata approvata e soddisfatta.
Le preferenze per dimensioni diverse sono risorse QuotaPreference
diverse. Ad esempio, QuotaPreference
per la CPU nelle regioni us-central1
e
us-east1
sono due risorse distinte.
La preferenza per le quote è obbligatoria
Le risorse QuotaPreference
vengono utilizzate per indicare il valore preferito per una quota specifica. Il valore corrente di una determinata quota si basa su:
QuotaPreference
richieste effettuate da te.Richieste di aumento della quota approvate da Google Cloud.
Modifiche alle quote avviate da Google Cloud.
La possibilità di eliminare un QuotaPreference
non è supportata. Tuttavia, puoi impostare
un valore di quota preferita inferiore al valore approvato da Google Cloud per aggiungere ulteriori sistemi di protezione.
Per ulteriori informazioni sulla risorsa QuotaPreference
, consulta la documentazione di riferimento dell'API Cloud Quotas.
Per ulteriori informazioni sulle query QuotaPreference
, vedi
Implementare casi d'uso comuni.
Informazioni sulla quota
QuotaInfo
è una risorsa di sola lettura che fornisce informazioni su una determinata quota per un determinato progetto, una cartella o organizzazioni. Mostra le informazioni relative alle quote definite dai servizi Google Cloud e a eventuali aggiustamenti delle quote soddisfatte avviati dai clienti. La risorsa QuotaInfo
contiene informazioni come metadati, tipo di contenitore e dimensione.
Impostare valori di quota diversi per regione
Il seguente esempio di risorsa QuotaInfo
mostra che la quota di CPU per
è 200 per la regione us-central1
e 100 per tutte le altre regioni.
{ "name": "projects/PROJECT_NUMBER/locations/global/services/compute.googleapis.com/quotaInfos/CPUS-per-project-region", "quotaId": "CPUS-per-project-region", "metric": "compute.googleapis.com/cpus", "containerType": "PROJECT", "dimensions": [ "region" ], "isPrecise": true, "quotaDisplayName": "CPUs per project per region", "metricDisplayName": "CPUs", "dimensionsInfo": [ { "dimensions": { "region": "us-central1" }, "details": { "quotaValue": 200, "resetValue": 200 }, "applicableLocations": [ "us-central1", ] }, { "details": { "quotaValue": 100, "resetValue": 100 }, "applicableLocations": [ "us-central2", "us-west1", "us-east1" ] } ] }
Questo output include i seguenti valori:
PROJECT_NUMBER
: un evento generato automaticamente identificatore univoco per il progetto.
Imposta una quota globale
Il seguente esempio di risorsa QuotaInfo
mostra una quota di frequenza con un valore al minuto
l'intervallo di aggiornamento. Le dimensioni sono vuote, il che indica che si tratta di una quota
globale. Tutte le quote senza una dimensione regione o zona sono globali.
{ "name": "projects/PROJECT_NUMBER/locations/global/services/compute.googleapis.com/quotaInfos/ReadRequestsPerMinutePerProject", "quotaId": "ReadRequestsPerMinutePerProject", "metric": "compute.googleapis.com/read_requests", "refreshInterval": "minute", "containerType": "PROJECT", "dimensions": [], "isPrecise": false, "quotaDisplayName": "Read Requests per Minute", "metricDisplayName": "Read Requests", "dimensionsInfo": [ { "details": { "quotaValue": 100, "resetValue": 200 }, "applicableLocations": [ "global" ] } ] }
Questo output include i seguenti valori:
PROJECT_NUMBER
: un identificatore unico generato automaticamente per il progetto.
Per maggiori dettagli sulla risorsa QuotaInfo
, consulta la documentazione sull'API Cloud Quotas.
Per ulteriori dettagli sulle query QuotaPreference
, consulta
Implementare casi d'uso comuni.
Nomi delle risorse
Le risorse sono entità denominate e sono identificate dai relativi nomi. I nomi delle risorse vengono utilizzati in tutte le richieste e le risposte e ogni risorsa deve avere il proprio nome univoco. Ogni nome di risorsa è codificato da un insieme di campi.
Risorsa preferenza quota
La convenzione di denominazione per una risorsa QuotaPreference
utilizza il seguente pattern:
projects/PROJECT_NUMBER/locations/global/quotaPreferences/QUOTA_PREFERENCE_ID
Puoi impostare quotaPreferenceId
quando crei una preferenza di quota, altrimenti viene generato un ID. È consigliabile che uno schema di denominazione quotaPreferenceId
codifichi il nome del servizio, l'ID quota, la località e altre dimensioni. La
quotaPreferenceId
deve essere univoco per il progetto, la cartella o le organizzazioni.
Ad esempio quotaPreference
Un pattern per codificare il tuo ID preferenza di quota è il seguente:
SERVICE_LOCATION_DIMENSION1-VALUES-IN-ORDER
L'esempio seguente mostra questo pattern:
compute_us-central1_nvidia-200
Con il nome di una risorsa, devi usare il metodo GET
per recuperare un
QuotaPreference
. Puoi anche chiamare il metodo UPDATE
con allow_missing
attiva per creare o aggiornare un QuotaPreference
.
Risorsa informazioni sulla quota
La convenzione di denominazione per una risorsa QuotaInfo
utilizza il seguente pattern:
projects/PROJECT_NUMBER/locations/global/services/SERVICE_NAME/quotaInfos/QUOTA_ID
Passaggi successivi
Documentazione di riferimento dell'API Cloud Quotas
Informazioni sulle quote