Google Cloud usa quotas para restringir a quantidade de um determinado recurso partilhado Google Cloud que pode usar. Cada quota representa um recurso contabilizável específico, como chamadas API para um determinado serviço, o número de bytes enviados para um determinado serviço ou o número de ligações de streaming usadas em simultâneo pelo seu projeto.
Muitos serviços também têm limites que não estão relacionados com o sistema de quotas. Estas são restrições fixas, como os tamanhos máximos das mensagens ou o número de recursos do Pub/Sub que pode criar num projeto, que não podem ser aumentadas nem diminuídas.
Veja e faça a gestão de quotas
Para um determinado projeto, pode usar o painel de controlo de quotas de IAM e de administrador para ver os limites e a utilização atuais da quota. Também pode usar este painel de controlo para fazer o seguinte:
- Reduza os limites de quotas
- Inicie um processo para se candidatar a limites de quota mais elevados
Para mais informações sobre a monitorização e os alertas relativos à utilização da sua quota, consulte o artigo Monitorização.
Atribuição da utilização da quota
Para a taxa de transferência de subscritores push, a utilização da quota é cobrada ao projeto que contém a subscrição push. Este é o projeto que aparece no nome da subscrição.
Para todas as outras quotas, a utilização é cobrada ao projeto associado às credenciais especificadas no pedido. A utilização da quota não é cobrada ao projeto que contém o recurso pedido.
Por exemplo: se uma conta de serviço no projeto A enviar um pedido de publicação para publicar num tópico no projeto B, a quota é cobrada ao projeto A.
Em alguns casos, pode querer que a utilização da quota seja cobrada a outro projeto. Pode usar o parâmetro do sistema X-Goog-User-Project
para alterar o projeto para atribuição de quota. Para mais informações sobre X-Goog-User-Project
,
consulte Parâmetros do sistema.
Pode usar a CLI gcloud para definir o projeto para atribuição de quota
para um pedido específico. A CLI gcloud envia o cabeçalho do pedido X-Goog-User-Project
.
Tem de ter a função roles/serviceusage.serviceUsageConsumer
ou uma função personalizada com a autorização serviceusage.services.use
no projeto que vai usar para a atribuição de quota.
O exemplo seguinte mostra como obter uma lista de subscrições no projeto RESOURCE_PROJECT ao mesmo tempo que cobra a quota de operações de administrador em função do projeto QUOTA_PROJECT. Execute o seguinte comando no terminal da CLI do Google Cloud:
gcloud pubsub subscriptions list --project=
RESOURCE_PROJECT --billing-project=
QUOTA_PROJECT
Substitua QUOTA_PROJECT
pelo ID do Google Cloud projeto em relação ao qual quer cobrar a quota.
Tenha em atenção que, no Pub/Sub, o projeto faturado é sempre o que contém o recurso. Só pode alterar o projeto para a atribuição de quota.
Quotas do Pub/Sub
As quotas indicadas na tabela seguinte podem ser vistas e editadas por projeto no painel de controlo de quotas de APIs e serviços.
As quotas regionais estão divididas em 3 tipos:
- Regiões grandes:
europe-west1
,europe-west4
,us-central1
,us-east1
,us-east4
,us-west1
eus-west2
- Regiões médias:
asia-east1
,asia-northeast1
,asia-southeast1
,europe-west2
eeurope-west3
- Regiões pequenas: todas as outras regiões
As quotas de entrega exatamente uma vez são específicas da região. Consulte os detalhes de cada região na tabela seguinte.
Quota | Limite de quota predefinido | Descrição |
---|---|---|
Débito do publicador por região |
|
A utilização da quota baseia-se no tamanho dos
É possível incluir várias mensagens num único pedido de publicação, e não existe um custo de quota adicional por mensagem. O tamanho da mensagem, conforme calculado para fins de utilização da quota, também inclui o campo |
Extraia o débito de subscrições por região |
|
A utilização da quota baseia-se no tamanho dos
O tamanho da mensagem, calculado para efeitos de utilização da quota, também inclui o campo |
Débito de confirmações por região |
|
A utilização da quota baseia-se no tamanho dos pedidos
|
Débito das subscrições de emissão por região |
|
Para pedidos de fornecimento push feitos ao
ponto final push, a utilização da quota baseia-se no tamanho dos
|
Subscrições do BigQuery débito por região |
|
Para pedidos feitos ao BigQuery,
a utilização da quota baseia-se no tamanho dos |
Subscrições do Cloud Storage débito por região |
|
Para pedidos feitos ao Cloud Storage,
a utilização da quota baseia-se no tamanho dos |
Débito do subscritor StreamingPull por região |
|
A utilização da quota baseia-se no tamanho dos
As bibliotecas cliente usam operações StreamingPull sempre que possível. |
Número de ligações StreamingPull abertas por região |
|
O número de ligações StreamingPull abertas em qualquer altura. Consulte StreamingPull. |
Operações de administrador | 6000 por minuto (100 operações/s) |
Cada operação de administrador, como GetTopicRequest, cobra uma unidade em relação a esta quota.
|
Número de mensagens consumidas de subscrições com a entrega exatamente uma vez ativada por região |
|
A utilização da quota baseia-se no número de
|
Número de mensagens reconhecidas ou cujo prazo é prolongado quando usa subscrições com a entrega exatamente uma vez ativada por região |
|
A utilização da quota baseia-se no número de IDs de confirmação nos pedidos
|
Unidades de quota de débito
A utilização da quota de débito é medida em unidades de 1 KB. 1 kB equivale a 1000 bytes. Por exemplo, numa PublishRequest
com 105 mensagens de 50 bytes cada, o tamanho dos dados do utilizador é 105 * 50 bytes = 5250 bytes
, pelo que a utilização da quota é max(1kB, ceil(5250 bytes/1000)) = 6kB
.
Limites de recursos
Recurso | Limites |
---|---|
Projeto |
10 000 tópicos 10 000 subscrições anexadas ou desanexadas 5000 capturas instantâneas 10 000 esquemas |
Tópico |
10 000 subscrições anexadas 5000 instantâneos anexados Se a retenção de mensagens de tópicos estiver configurada, as mensagens publicadas num tópico podem ser retidas no armazenamento persistente durante um período máximo de 31 dias a partir do momento da publicação. |
Subscrição |
Por predefinição, mantém as mensagens não reconhecidas
no armazenamento persistente durante 7
dias a partir do momento da publicação. Não existe limite para o número de mensagens retidas. Se os subscritores não usarem uma subscrição, esta expira. O período de validade predefinido é de 31 dias. |
Esquema | Tamanho do esquema (o campo definition ): 300 KBRevisões por esquema: 20 |
Pedido de publicação |
10 MB (tamanho total) 1000 mensagens |
Mensagem |
Tamanho da mensagem (o campo data ): 10 MBAtributos por mensagem: 100 Tamanho da chave do atributo: 256 bytes Tamanho do valor do atributo: 1024 bytes |
Streams StreamingPull | 10 MBps por stream aberta |
Resposta de obtenção unária |
Número máximo de mensagens na resposta Pull: 1000 Tamanho máximo da resposta Pull: 10 MB |
Mensagens Pull/StreamingPull | O serviço pode impor limites ao número total de mensagens StreamingPull pendentes por ligação. Se se deparar com estes limites, aumente a taxa à qual confirma a receção de mensagens e o número de ligações que usa. |
Confirme e modifique os pedidos de AckDeadline |
512 KB (tamanho total) |
Encomendar chaves | Se as mensagens tiverem chaves de ordenação, a taxa de transferência máxima do publicador é de 1 MBps para cada chave de ordenação. |
Objetos do contentor do Cloud Storage | Quando usar tópicos de importação do Cloud Storage, o limite para o número de objetos num contentor é de 50 milhões. |
Use uma conta de serviço para quotas mais elevadas
Se usar a ferramenta Google Cloud CLI com uma conta de utilizador normal (ou seja, uma conta que não seja de serviço), as operações do Pub/Sub estão limitadas a uma taxa adequada para operações manuais. As taxas que excedam este limite resultam no erro RESOURCE_EXHAUSTED. A solução é certificar-se de que está a usar credenciais da conta de serviço. Se quiser usar credenciais da CLI gcloud para automatização, ative uma conta de serviço para as suas operações do Pub/Sub.
Use pontos finais de localização para encaminhar pedidos
Se tiver uma quota adicional em regiões específicas, pode encaminhar pedidos para estas regiões através de pontos finais do Pub/Sub baseados na localização. Quando publica mensagens num ponto final global, o serviço Pub/Sub pode encaminhar o tráfego para uma região que não tenha quota suficiente.
Não correspondências de quotas
As incompatibilidades de quotas podem ocorrer quando as mensagens publicadas ou recebidas são inferiores a 1000 bytes. Por exemplo:
Se publicar 10 mensagens de 500 bytes em pedidos separados, a sua utilização da quota do publicador é de 10 000 bytes. Isto deve-se ao facto de as mensagens com menos de 1000 bytes serem automaticamente arredondadas para o incremento de 1000 bytes seguinte.
Se receber essas 10 mensagens numa única resposta de obtenção, a utilização da quota de subscritores pode ser apenas de 5 kB, uma vez que o tamanho real de cada mensagem é combinado para determinar a quota geral.
O inverso também é verdadeiro. A utilização da quota de subscritores pode ser superior à utilização da quota de publicadores se publicar várias mensagens num único pedido de publicação ou receber as mensagens em pedidos de obtenção separados.