Panoramica del progetto di quota

Questa pagina definisce l'utilizzo del progetto di quota e come viene determinato il progetto. Assicurati che il progetto di quota sia impostato correttamente per evitare richieste non riuscite alle API Google Cloud e errori di quota non necessari.

Ogni richiesta a un'API Google Cloud viene conteggiata a fronte di una quota. Poiché le quote vengono applicate a ogni progetto, per ogni richiesta è necessario un progetto per fornire la quota. Questo progetto viene chiamato progetto quota. È anche chiamato progetto di fatturazione. Il progetto di fatturazione e il progetto quota sono lo stesso progetto. Per scoprire di più, consulta Come impostare il progetto di quota.

Come viene determinato il progetto di quota

Il modo in cui viene determinato il progetto di quota dipende dal tipo di API utilizzata: API basata sulle risorse o API basata su client.

API basate sulle 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 l'istanza appena creata. In seguito, se esegui operazioni sull'istanza di Compute Engine, il progetto che contiene l'istanza fornisce la quota per la richiesta. Ciò si applica indipendentemente dal fatto che utilizzi Google Cloud CLI, l'API REST o le librerie client.

Non puoi cambiare il progetto di quota utilizzato da una richiesta in un'API basata sulle risorse. La richiesta utilizza sempre il progetto che contiene la risorsa su cui sta operando la richiesta.

API basate su client

Se un'API non è basata sulle risorse, è un'API 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 di quota, la richiesta non va a buon fine.

Il progetto di quota può essere impostato in più modi. Il progetto verrà verificato selezionando le opzioni seguenti. L'ordine elencato è la precedenza.

  • Il progetto di quota impostato nell'ambiente o nella richiesta.
  • Se utilizzi una chiave API per fornire le credenziali per una richiesta, il progetto associato alla chiave API viene utilizzato come progetto di quota.
  • Se utilizzi Google Cloud CLI per ottenere il token di accesso e hai eseguito l'autenticazione a gcloud CLI con le tue credenziali utente, a volte il progetto condiviso gcloud CLI viene 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, anche tramite 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, il progetto utente dei 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 dellgcloud CLI per le API basate su client

Se utilizzi gcloud CLI per effettuare una richiesta a un'API basata su client senza impostare il progetto di quota, la richiesta potrebbe utilizzare il progetto condiviso gcloud CLI oppure la richiesta potrebbe non riuscire. Il progetto condiviso dell'interfaccia a riga di comando gcloud CLI è utilizzato da tutte le richieste dell'interfaccia a riga di comando gcloud CLI in tutti i progetti. Di conseguenza, se molte altre richieste dell'interfaccia a riga di gcloud CLI utilizzano anche questo progetto come progetto di quota, la quota per il progetto condiviso potrebbe essere temporaneamente esaurita. In questo caso, la richiesta non va a buon fine e viene visualizzato un messaggio di errore di superamento 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 per il comando. Il log include il progetto utilizzato per questo comando come progetto di quota nel campo X-Goog-User-Project.

Determinare se un'API è basata sulle risorse o sul client

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

Passaggi successivi