Panoramica del progetto di quota

Questa pagina definisce l'utilizzo del progetto di quota e le relative modalità determinato. Assicurarsi che il progetto di quota sia impostato correttamente può essere utile evitare richieste non riuscite alle API Google Cloud e inutili errori di quota.

Ogni richiesta a un'API Google Cloud viene conteggiata a fronte di una quota. Poiché le quote sono applicate a ogni progetto, il che significa che ogni richiesta necessita per fornire la quota. Questo progetto è chiamato progetto quota. A volte viene anche chiamato progetto di fatturazione. Il progetto di fatturazione di quota di spazio di archiviazione sono lo stesso progetto. Per saperne di più, vedi Come impostare il progetto di quota.

Come viene determinato il progetto quota

La modalità di determinazione del progetto quota dipende dal tipo di API che utilizzi: API basata su risorse o API basata su client.

API basate su risorse

Per le API Google Cloud basate su risorse, il progetto che fornisce la quota per una chiamata API è anche il progetto che contiene la risorsa a cui si accede. Ad esempio, quando crei un'istanza Compute Engine, devi specificare il progetto per la nuova istanza. Il progetto contiene quindi è stata creata. In un secondo momento, se esegui operazioni sull'istanza Compute Engine, il progetto che contiene l'istanza fornisce la quota per la richiesta. Ciò vale indipendentemente dal fatto che utilizzi Google Cloud CLI, l'API REST o le librerie client.

Non puoi modificare il progetto quota utilizzato da una richiesta a un'API basata su risorse. La richiesta utilizza sempre il progetto che contiene la risorsa corrispondente operativo.

API basate su client

Se un'API non è basata su risorse, è basata su client. Ad esempio, l'API Cloud Translation è un'API basata su client di uso comune.

Quando effettui una richiesta a un'API basata su client, se non è possibile identificare un progetto quota, la richiesta non va a buon fine.

Il progetto quota può essere impostato in diversi modi e verrà verificato controllando le seguenti opzioni. L'ordine elencato è l'ordine di precedenza.

  • Il progetto quota impostato nell'ambiente o nella 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 e hai eseguito l'autenticazione in Google Cloud CLI con le tue credenziali utente, il progetto condiviso di Google Cloud CLI viene talvolta utilizzato come progetto 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.

Informazioni sul progetto condiviso della gcloud CLI per le API basate su client

Se utilizzi l'interfaccia a riga di comando gcloud per effettuare una richiesta a un'API basata su client senza impostare il progetto quota, la richiesta potrebbe utilizzare il progetto condiviso dell'interfaccia a riga di comando gcloud o potrebbe non riuscire. Il progetto condiviso della gcloud CLI è utilizzato da tutte la gcloud CLI richieste in tutti i progetti, quindi se vengono eseguite molte altre richieste della gcloud CLI anche utilizzando questo progetto come progetto di quota, la quota potrebbe essere temporaneamente esaurito. In questo caso, la richiesta non va a buon fine con un messaggio di errore relativo al superamento della quota.

Identifica il progetto di quota attuale per le API basate su client

Per identificare il progetto utilizzato per un comando gcloud CLI, includi il flag --log-http con gcloud CLI per stampare le intestazioni del comando. La log include il progetto utilizzato per questo comando come progetto di quota nel campo X-Goog-User-Project.

Determinare se un'API è basata su risorse o su client

Può essere difficile determinare il tipo di API in uso. Tuttavia, l'attivazione e la quota vengono applicate nello stesso modo. Se un account di servizio Il progetto A chiama un metodo di lettura nel progetto B e nessuno dei due ha l'API è abilitato, il messaggio di errore API not enabled indica quale progetto è stata controllata per verificare l'attivazione. Il progetto per il quale è stato controllato l'attivazione è lo stesso il progetto ha controllato la quota di frequenza.

Passaggi successivi