Como a API Google Workspace Events é um serviço compartilhado, aplicamos cotas e limitações para garantir que ela seja usada de forma justa por todos os usuários e para proteger a performance geral do Google Workspace.
Se você exceder uma cota, vai receber uma resposta de código de status HTTP 429: Too many requests. Outras verificações de limite de taxa no back-end da API Google Workspace Events também podem gerar a mesma resposta de erro. Se esse erro acontecer, use um
algoritmo de espera exponencial
e tente novamente mais tarde. Enquanto você permanecer dentro das cotas por minuto listadas nas tabelas a seguir, não haverá limite para o número de solicitações que você pode fazer por dia.
Cotas por projeto
As cotas por projeto limitam a taxa de consultas para um projeto na nuvem do Google Cloud e, portanto, se aplicam a um único app que chama os métodos especificados da API Google Workspace Events para cada cota.
A tabela a seguir detalha os limites de consulta por projeto. Você também pode encontrar esses limites na página "Cotas" no console do Google Cloud.
Cota por projeto |
Métodos da API Google Workspace Events |
Limite |
|---|---|---|
Gravações por minuto |
|
600 |
Gravações por minuto por usuário |
|
100 |
Leituras por minuto |
|
600 |
Leituras por minuto por usuário |
|
100 |
Resolver erros de cota com base no tempo
Para todos os erros com base no tempo (máximo de N solicitações por X minutos), recomendamos que seu código detecte a exceção e use uma espera exponencial truncada para garantir que seus dispositivos não gerem carga excessiva.
A espera exponencial é uma estratégia padrão de tratamento de erros para aplicativos de rede. Um algoritmo de espera exponencial repete solicitações usando tempos de espera exponencialmente crescentes entre as solicitações, até um tempo máximo de espera. Se as solicitações ainda não forem bem-sucedidas, é importante que os atrasos entre as solicitações aumentem com o tempo até que a solicitação seja bem-sucedida.
Exemplo de algoritmo
Um algoritmo de espera exponencial repete solicitações exponencialmente, aumentando o tempo de espera entre novas tentativas até um tempo máximo de espera. Exemplo:
- Faça uma solicitação para a API Google Workspace Events.
- Se a solicitação falhar, aguarde 1 +
random_number_millisecondse tente novamente a solicitação. - Se a solicitação falhar, aguarde 2 +
random_number_millisecondse tente novamente a solicitação. - Se a solicitação falhar, aguarde 4 +
random_number_millisecondse tente novamente a solicitação. - E assim por diante, até um tempo
maximum_backoff. - Continue aguardando e tentando novamente até um número máximo de novas tentativas, mas não aumente o período de espera entre elas.
em que:
- O tempo de espera é
min(((2^n)+random_number_milliseconds), maximum_backoff), comnincrementado em 1 para cada iteração (solicitação). random_number_millisecondsé um número aleatório de milissegundos menor ou igual a 1.000. Isso ajuda a evitar casos em que muitos clientes são sincronizados por alguma situação e todos tentam novamente de uma só vez, enviando solicitações em ondas sincronizadas. O valor derandom_number_millisecondsé recalculado após cada nova tentativa de solicitação.maximum_backoffcostuma ser 32 ou 64 segundos. O valor adequado depende do caso de uso.
O cliente pode continuar tentando novamente depois de maximum_backoff.
As novas tentativas após esse ponto não precisam continuar aumentando o tempo de espera. Por
exemplo, se um cliente usar um tempo maximum_backoff de 64 segundos, depois de atingir
este valor, o cliente poderá tentar novamente a cada 64 segundos. Em algum momento,
os clientes precisam ser impedidos de tentar novamente indefinidamente.
O tempo de espera entre novas tentativas e o número de novas tentativas depende do seu caso de uso e das condições da rede.
Solicitar um aumento de cota por projeto
Dependendo do uso de recursos do seu projeto, talvez você queira solicitar um ajuste de cota ajuste. As chamadas de API por uma conta de serviço são consideradas como usando uma única conta. Solicitar uma cota ajustada não garante a aprovação. As solicitações de ajuste de cota que aumentariam significativamente o valor da cota podem levar mais tempo para serem aprovadas.
Nem todos os projetos têm as mesmas cotas. À medida que você usa o Google Cloud com o tempo, seus valores de cota podem precisar aumentar. Caso espere um aumento de uso significativo, solicite o ajuste das cotas na página "Cotas" no console do Google Cloud.
Para saber mais, consulte os seguintes recursos: