Panoramica del progetto quota

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

Ogni richiesta a un'API Google Cloud viene conteggiata in base a una quota. Poiché le quote vengono applicate a ogni progetto, significa che ogni richiesta richiede un progetto per fornire la quota. Questo progetto è chiamato progetto quota. A volte viene anche chiamato progetto di fatturazione. Il progetto di fatturazione e il progetto di quota sono lo stesso progetto. Per scoprire di più, consulta Come impostare il progetto 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 l'istanza appena creata. In un secondo momento, se esegui operazioni sull'istanza Compute Engine, il progetto che contiene l'istanza fornisce la quota per la richiesta. Questo vale indipendentemente dall'utilizzo di Google Cloud CLI, dell'API REST o delle 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 su cui opera.

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 associato alla chiave API viene utilizzato come progetto quota.
  • Se utilizzi Google Cloud CLI per ottenere il token di accesso e hai eseguito l'autenticazione nella gcloud CLI con le tue credenziali utente, il progetto condiviso della gcloud CLI viene talvolta utilizzato come progetto quota. Non tutte le API basate su client utilizzano il progetto condiviso come impostazione predefinita.
  • Se l'entità per la chiamata all'API è un account di servizio, anche tramite rappresentazione, il progetto associato all'account di servizio viene utilizzato come progetto quota.
  • Se il principale 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 quota.

Se nessuno dei controlli precedenti restituisce un progetto quota, la richiesta non va a buon fine.

Informazioni sul progetto condiviso dellgcloud 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 gcloud CLI viene utilizzato da tutte le richieste gcloud CLI in tutti i progetti, pertanto se molte altre richieste gcloud CLI utilizzano anche questo progetto come progetto quota, la quota per il progetto condiviso potrebbe essere temporaneamente esaurita. In questo caso, la richiesta non va a buon fine con un messaggio di errore relativo al superamento della quota.

Identificare il progetto quota corrente 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. Il log include il progetto utilizzato per questo comando come progetto 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 del progetto A chiama un metodo di lettura nel progetto B e in nessuno dei due progetti è attivata l'API, il messaggio di errore API not enabled indica il progetto per cui viene controllata l'attivazione. Il progetto controllato per l'attivazione è lo stesso progetto controllato per la quota tariffaria.

Passaggi successivi