Panoramica del progetto quota

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

Ogni richiesta a un'API Google Cloud viene conteggiata in una quota. Poiché le quote vengono applicate a ogni progetto, il che significa che ogni richiesta deve avere un progetto per fornire la quota. Questo progetto è denominato progetto quota. Viene chiamato anche progetto di fatturazione. Il progetto di fatturazione e il progetto della quota sono lo stesso progetto. Per saperne di più, consulta Come impostare il progetto della quota.

Come viene determinato il progetto della quota

Il modo in cui viene determinato il progetto della 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 sulle 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 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. Questo si applica indipendentemente dal fatto che utilizzi Google Cloud CLI, REST o le librerie client.

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

API basate su client

Se un'API non è un'API 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 diversi modi e il progetto verrà verificato selezionando le opzioni seguenti. L'ordine indicato è l'ordine di 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 della 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, il progetto condiviso di gcloud CLI viene talvolta utilizzato come progetto per la quota. Non tutte le API basate su client ricorrono al progetto condiviso.
  • Se l'entità per la chiamata API è un account di servizio, anche mediante furto d'identità, il progetto associato all'account di servizio viene utilizzato come progetto quota.
  • Se l'entità dell'API è un utente della federazione delle identità per la forza lavoro, il progetto utente dei pool di forza lavoro viene utilizzato come progetto della quota.

Se nessuno dei controlli precedenti restituisce un progetto di quota, la richiesta ha esito negativo.

Informazioni sul progetto condiviso di gcloud 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 della quota, la richiesta potrebbe ricorrere al progetto condiviso dell'interfaccia a riga di comando gcloud, oppure la richiesta potrebbe non riuscire. Il progetto condiviso di gcloud CLI è utilizzato da tutte le richieste gcloud CLI in tutti i progetti. Di conseguenza, se anche molte altre richieste dell'interfaccia a riga di comando gcloud utilizzano questo progetto come progetto di quota, la quota per il progetto condiviso potrebbe essere temporaneamente esaurita. In questo caso, la richiesta non riesce e viene visualizzato un messaggio di errore che indica che il superamento della quota è insufficiente.

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 su client

Può essere difficile determinare quale tipo di API stai utilizzando. 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 nessuno dei due ha l'API abilitata, il messaggio di errore API not enabled indica per quale progetto viene controllato l'attivazione. Il progetto verificato per l'attivazione è lo stesso progetto verificato per la quota di frequenza.

Passaggi successivi