Google Cloud utilizza le quote per limitare la quantità di una determinata risorsa Google Cloud condivisa che puoi utilizzare. Ogni quota rappresenta una specifica risorsa conteggiabile, come le chiamate API a un determinato servizio, il numero di byte inviati a un determinato servizio o il numero di connessioni di streaming utilizzate contemporaneamente dal tuo progetto.
Molti servizi hanno anche limiti non correlati al sistema di quote. Si tratta di vincoli fissi, come le dimensioni massime dei messaggi o il numero di risorse Pub/Sub che puoi creare in un progetto, che non possono essere aumentati o diminuiti.
Visualizzare e gestire le quote
Per un determinato progetto, puoi utilizzare la dashboard delle quote di IAM e amministrazione per visualizzare i limiti e l'utilizzo correnti delle quote. Puoi anche utilizzare questa dashboard per:
- Riduci i limiti di quota
- Avviare un processo di richiesta di limiti di quota più elevati
Per ulteriori informazioni sul monitoraggio e sull'invio di avvisi relativi all'utilizzo delle quote, consulta Monitoraggio.
Attribuzione dell'utilizzo della quota
Per la velocità effettiva del sottoscrittore di tipo push, l'utilizzo delle quote viene addebitato a carico del progetto che contiene la sottoscrizione push. Questo è il progetto che compare nel nome l'abbonamento.
Per tutte le altre quote, l'utilizzo viene addebitato a carico del progetto associato alle credenziali specificate nella richiesta. L'utilizzo della quota non viene addebitato il progetto che contiene la risorsa richiesta.
Ad esempio, se un account di servizio nel progetto A invia una richiesta di pubblicazione a
pubblica in un argomento nel progetto B, la quota viene addebitata al progetto A.
In alcuni casi, potresti voler addebitare l'utilizzo della quota a un altro progetto. Puoi utilizzare il parametro di sistema X-Goog-User-Project
per cambiare il progetto per l'attribuzione della quota. Per saperne di più su X-Goog-User-Project
, consulta la sezione Parametri di sistema.
Puoi utilizzare gcloud CLI per impostare il progetto per l'attribuzione della quota
per una richiesta specifica. L'interfaccia a riga di comando gcloud invia
l'intestazione della richiesta X-Goog-User-Project
.
Devi disporre del ruolo roles/serviceusage.serviceUsageConsumer
o di un ruolo personalizzato con l'autorizzazione serviceusage.services.use
per il progetto che utilizzerai per l'attribuzione delle quote.
L'esempio seguente mostra come ottenere un elenco di abbonamenti nel progetto RESOURCE_PROJECT caricando la quota per le operazioni di amministrazione sul progetto QUOTA_PROJECT. Esegui il seguente comando nel terminale Google Cloud CLI:
gcloud pubsub subscriptions list --project=
RESOURCE_PROJECT --billing-project=
QUOTA_PROJECT
Sostituisci QUOTA_PROJECT
con l'ID del progetto Google Cloud in base al quale vuoi addebitare la quota.
Tieni presente che in Pub/Sub il progetto fatturato è sempre quello che che contiene la risorsa. Puoi modificare il progetto solo per l'attribuzione della quota.
Quote di Pub/Sub
Le quote elencate nella seguente tabella possono essere visualizzate e modificate per progetto nel Dashboard delle quote di API e servizi.
Le quote per le aree geografiche sono suddivise in tre tipi:
- Aree geografiche di grandi dimensioni:
europe-west1
,europe-west4
,us-central1
,us-east1
,us-east4
,us-west1
,us-west2
- Regioni medie:
asia-east1
,asia-northeast1
,asia-southeast1
,europe-west2
eeurope-west3
- Aree geografiche di piccole dimensioni: tutte le altre
Le quote di consegna "exactly-once" sono specifiche per regione. Controlla i dettagli per ogni regione nella tabella seguente.
Quota | Limite di quota predefinito | Descrizione |
---|---|---|
Velocità effettiva del publisher per regione |
|
L'utilizzo della quota si basa sulle dimensioni
Tieni presente che è possibile includere più messaggi in un e non è previsto alcun addebito di quota aggiuntiva per messaggio. |
Velocità effettiva sottoscrittore di tipo pull per area geografica |
|
L'utilizzo della quota si basa sulle dimensioni dei
|
Velocità effettiva Acknowledger per area geografica |
|
L'utilizzo della quota si basa sulle dimensioni delle richieste
|
Velocità effettiva delle sottoscrizioni push per regione |
|
Per le richieste di consegna push inviate al
endpoint push, l'utilizzo della quota si basa sulle dimensioni
|
Sottoscrizioni BigQuery velocità effettiva per regione |
|
Per le richieste inviate a BigQuery,
l'utilizzo della quota si basa sulle dimensioni dei |
Abbonamenti a Cloud Storage velocità effettiva per regione |
|
Per le richieste inviate a Cloud Storage,
l'utilizzo della quota si basa sulle dimensioni dei |
Velocità effettiva sottoscrittore StreamingPull per regione |
|
L'utilizzo della quota si basa sulle dimensioni di
Tieni presente che le librerie client utilizzano operazioni StreamingPull se possibile. |
Numero di connessioni StreamingPull aperte per regione |
|
Il numero di connessioni StreamingPull aperte in un determinato momento. Vedi StreamingPull. |
Operazioni dell'amministratore | 6000 al minuto (100 operazioni/s) |
Ogni operazione dell'amministratore, ad esempio GetTopicRequest, addebita un'unità a questa quota.
|
Numero di messaggi consumati dagli abbonamenti con la pubblicazione esattamente una volta abilitata per regione |
|
L'utilizzo della quota si basa sul numero di
|
Numero di messaggi confermati o la cui scadenza è stata estesa Quando utilizzi abbonamenti con la consegna "exactly-once" abilitata per regione |
|
L'utilizzo della quota si basa sul numero di ID di conferma nelle richieste
|
Unità per le quote di velocità effettiva
L'utilizzo delle quote di velocità effettiva viene misurato in unità da 1 kB. 1 kB corrisponde a 1000 byte. Per
Ad esempio, in un PublishRequest
con 105 messaggi di 50 byte ciascuno, i dati utente
la dimensione è 105 * 50 bytes = 5250 bytes
, quindi l'utilizzo della quota è
max(1kB, ceil(5250 bytes/1000)) = 6kB
.
Limiti delle risorse
Risorsa | Limiti |
---|---|
Progetto |
10.000 argomenti 10.000 sottoscrizioni collegate o scollegate 5000 snapshot 10.000 schemi |
Argomento |
10.000 sottoscrizioni collegate 5000 snapshot allegati Se conservazione dei messaggi di argomento è configurata, i messaggi pubblicati in un argomento possono essere conservati in spazio di archiviazione per un massimo di 31 giorni dalla data di pubblicazione. |
Abbonamento |
Per impostazione predefinita, conserva i messaggi non confermati
in un archivio permanente per 7
giorni dal momento della pubblicazione. Non ci sono limiti sul
numero di messaggi conservati. Se gli abbonati non utilizzano un abbonamento, quest'ultimo scade. Il periodo di scadenza predefinito è 31 giorni. |
Schema | Dimensione schema (campo definition ): 300 kBRevisioni per schema: 20 |
Richiesta di pubblicazione |
10 MB (dimensioni totali) 1000 messaggi |
Messaggio |
Dimensioni del messaggio (campo data ): 10 MBAttributi per messaggio: 100 Dimensioni della chiave dell'attributo: 256 byte Dimensione valore dell'attributo: 1024 byte |
Flussi StreamingPull | 10 MB/s per flusso aperto |
Risposta pull unaria |
Numero massimo di messaggi nella risposta pull: 1000 Dimensioni massime della risposta pull: 10 MB |
Messaggi Pull/StreamingPull | Il servizio potrebbe imporre limiti sul numero totale di messaggi in sospeso. Messaggi StreamingPull per connessione. Se incontri questi limiti, aumenta la frequenza di conferma dei messaggi e il numero di connessioni utilizzate. |
Richieste Acknowledge e ModifyAckDeadline |
512 kB (dimensioni totali) |
Ordinazione delle chiavi | Se i messaggi includono chiavi di ordinamento, la velocità effettiva massima del publisher è 1 MB/s per chiave di ordinamento. |
Usa un account di servizio per quote più elevate
Se utilizzi lo strumento gcloud di Google Cloud CLI con un normale account utente (ovvero, non di account di servizio), le operazioni Pub/Sub sono limitate a una frequenza adatto per le operazioni manuali. Le frequenze che superano questo limite causeranno l'errore RESOURCE_EXHAUSTED. La soluzione consiste nell'utilizzare le credenziali dell'account di servizio. Se vuoi utilizzare le credenziali di gcloud CLI per l'automazione, attivare un account di servizio per le tue operazioni Pub/Sub.
Utilizza endpoint di località per instradare le richieste
Se hai una quota aggiuntiva in determinate regioni, puoi indirizzare le richieste a queste regioni utilizzando gli endpoint Pub/Sub basati sulla posizione. Quando pubblichi messaggi in un endpoint globale, il servizio Pub/Sub potrebbe instradare il traffico verso un'area geografica che non dispone di quota sufficiente.
Quote non corrispondenti
I casi di quote non corrispondenti possono verificarsi quando i messaggi pubblicati o ricevuti sono di dimensioni inferiori ai 1000 byte, ad esempio:
Se pubblichi 10 messaggi da 500 byte in richieste distinte, l'utilizzo della quota del publisher sarà di 10.000 byte. Questo perché i messaggi di dimensioni inferiori ai 1000 byte vengono automaticamente arrotondati per eccesso all'incremento di 1000 byte successivo.
Se ricevi questi 10 messaggi in una singola risposta pull, l'utilizzo della quota di sottoscrittore potrebbe essere solo di 5 kB, poiché le dimensioni effettive di ogni messaggio vengono combinate per determinare la quota complessiva.
Questo è vero anche in caso contrario. L'utilizzo della quota di sottoscrittore potrebbe essere maggiore dell'utilizzo della quota di publisher se pubblichi più messaggi in una singola richiesta di pubblicazione o se ricevi i messaggi in richieste di pull separate.