In questa pagina viene descritto come impostare un progetto di quota API basate su client. Per informazioni sul progetto di quota come impostare l'API quota e come viene determinato il progetto di quota. consulta Informazioni sul progetto di quota.
Quando effettui una richiesta a un'API basata su client, se non è possibile eseguire un progetto di quota identificati, la richiesta non va a buon fine.
Il progetto di quota può essere impostato in più modi e il progetto verrà verificato selezionando le opzioni che seguono. L'ordine elencato è l'ordine dei loro la precedenza.
- Il progetto di quota impostato nel ambiente o nel richiesta.
- Se utilizzi una chiave API per fornire le credenziali per una richiesta, il progetto associate alla chiave API viene utilizzato come progetto quota.
- Se utilizzi Google Cloud CLI per ottenere il token di accesso di aver eseguito l'autenticazione a gcloud CLI con le tue credenziali utente, il progetto condiviso della gcloud CLI viene talvolta utilizzato come progetto di quota. Non tutte le API basate su client fanno affidamento sul progetto condiviso.
- Se l'entità per la chiamata API è un account di servizio, inclusi di impersonificazione, il progetto associato all'account di servizio viene utilizzato come progetto di quota.
- Se l'entità per l'API è un utente della federazione delle identità per la forza lavoro, progetto utente pool di forza lavoro viene utilizzato come progetto di quota.
Se nessuno dei controlli precedenti restituisce un progetto di quota, la richiesta non va a buon fine.
Esistono diversi modi per impostare i progetti di quota. Se il progetto quota è specificato con più metodi, viene applicata la seguente precedenza:
- In modo programmatico
- Variabile di ambiente
- Credenziali utilizzate per autenticare la richiesta
Imposta il progetto quota in modo programmatico
Puoi impostare esplicitamente il progetto di quota nella tua applicazione. Questo metodo sostituisce tutte le altre definizioni. L'entità utilizzata per autenticare la richiesta deve disporre dell'autorizzazione richiesta nella progetto di quota specificato.
Il modo in cui imposti il progetto di quota in modo programmatico dipende dal fatto che stai utilizzando una libreria client, gcloud CLI o una richiesta API REST.
Libreria client
Puoi impostare il valore del progetto quota utilizzando le opzioni client quando per creare il client. Questo metodo funziona bene se vuoi controllare il valore di il progetto di quota dall'applicazione, a prescindere dall'ambiente in esecuzione.
Per ulteriori informazioni sull'implementazione delle opzioni client, consulta la libreria client documentazione.
Interfaccia a riga di comando gcloud
Puoi impostare il progetto quota per tutti i comandi gcloud CLI utilizzando
la proprietà billing/quota_project
nella configurazione della gcloud CLI. Puoi
impostare anche il progetto di quota per un comando specifico utilizzando --billing-project
, che ha la precedenza sulla proprietà di configurazione.
Per ulteriori informazioni sulle configurazioni dell'interfaccia a riga di comando di gcloud
, consulta la pagina di riferimento di gcloud config. Per ulteriori informazioni sul flag --billing-project
:
consulta il riferimento di Google Cloud SDK.
Richiesta REST
Puoi specificare il progetto di quota in una richiesta REST utilizzando
Intestazione x-goog-user-project
.
L'entità che effettua la richiesta deve disporre delle autorizzazioni necessarie sulla quota
progetto.
Per ulteriori informazioni e per codice campione, consulta Imposta il progetto di quota con una richiesta REST.
Imposta il progetto di quota utilizzando una variabile di ambiente
Le librerie client per alcuni linguaggi supportano l'impostazione del progetto di quota utilizzando un variabile di ambiente. Questo approccio può essere utile se vuoi impostare la quota per creare un progetto diverso nelle diverse shell o per eseguire l'override del progetto di quota associati alla credenziale. L'entità di qualsiasi richiesta deve avere le autorizzazioni richieste per il progetto di quota specificato dalla variabile di ambiente.
La variabile di ambiente dipende dal linguaggio:
Lingua | Variabile di ambiente |
---|---|
C++ |
|
C# |
|
Vai |
|
Java |
|
Node.js |
|
Python |
|
PHP |
|
Ruby | Non disponibile |
Imposta il progetto quota utilizzando le credenziali di autenticazione
Se il progetto quota non viene specificato, le librerie di autenticazione tentano di e a stabilirlo dalle credenziali utilizzate per la richiesta. Questo processo dipende dal tipo di credenziali utilizzate per autenticare la richiesta:
- Account di servizio: il progetto associato all'account di servizio è utilizzato come progetto di quota.
- Credenziali utente: per un ambiente di sviluppo locale,
Credenziali predefinite dell'applicazione
trova le credenziali utente nel file ADC locale. Il file può anche specificare
un progetto di quota. Se il progetto è impostato nella configurazione di Google Cloud CLI
disponi delle autorizzazioni necessarie per quel progetto, il progetto di quota viene impostato
predefinito quando crei il file ADC locale. Puoi anche impostare la quota ADC
utilizzando
Comando
auth application-default set-quota-project
. - Chiavi API: quando utilizzi una chiave API per fornire le credenziali per una richiesta, il progetto associato alla chiave API viene utilizzato come progetto di quota.
Autorizzazioni necessarie per impostare e utilizzare il progetto di quota
Per ottenere l'autorizzazione necessaria per impostare un progetto come progetto di quota o utilizzare il progetto di quota in una richiesta,
chiedi all'amministratore di concederti
Ruolo IAM Service Usage Consumer (roles/serviceusage.serviceUsageConsumer
) nel progetto.
Per saperne di più sulla concessione dei ruoli, consulta Gestire l'accesso.
Questo ruolo predefinito contiene
serviceusage.services.use
, che è
necessario per impostare un progetto come progetto di quota, oppure di utilizzare il progetto di quota in una richiesta.
Potresti anche riuscire a ottenere questa autorizzazione con ruoli personalizzati altri ruoli predefiniti.
Se utilizzi un progetto che hai creato come progetto di quota, disponi dei necessari autorizzazioni aggiuntive.
Per ulteriori informazioni sulle autorizzazioni, consulta Autorizzazioni di condivisione.
Imposta l'utente della quota
Alcune API limitano anche il numero di richieste per utente, a differenza le quote per progetto descritte nelle sezioni precedenti di questa pagina.
Per impostazione predefinita, il sistema utilizza l'entità autenticata. In caso contrario, autenticata, il sistema utilizza l'indirizzo IP del client.
Se devi eseguire l'override dell'utente della quota, puoi impostare il parametro quotaUser
tramite i parametri di sistema dell'API Cloud. Se
specifica quotaUser
o X-Goog-Quota-User
, una chiave API valida con indirizzo IP
devi utilizzare restrizioni per identificare il progetto di quota. In caso contrario,
Il parametro quotaUser
viene ignorato.
Per saperne di più sui parametri di sistema dell'API Cloud e sulle relative definizioni, consulta tabella delle definizioni dei parametri di sistema.
Passaggi successivi
- Informazioni sul progetto quota
- Scopri di più sulle credenziali predefinite dell'applicazione
- Scopri di più sull'autenticazione
- Informazioni sulle quote