Dado que la API de Google Chat es un servicio compartido, aplicamos cuotas y limitaciones a asegúrate de que lo usen todos los usuarios y para proteger y el rendimiento de Google Workspace.
Si superas una cuota, recibirás una solicitud HTTP 429: Too many requests
la respuesta de código de estado. Verificaciones de límites de frecuencia adicionales en Chat
backend también podría generar la misma respuesta de error. Si se produce este error,
deberían usar un
algoritmo de retirada exponencial
y vuelve a intentarlo más tarde. Siempre y cuando no superes las cuotas por minuto que se indican en
en las siguientes tablas, no hay límite para la cantidad de solicitudes que puedes realizar
por día.
Se aplican dos tipos de cuota a los métodos de la API de Chat: por espacio y por proyecto. y cuotas.
Cuotas por espacio
Las cuotas por espacio limitan la frecuencia de consultas en un espacio determinado y se comparten todas las apps de Chat que actúen en ese espacio que llamen al Métodos de la API de Chat para cada cuota.
En la siguiente tabla, se detallan los límites de consultas por espacio:
Cuota por espacio |
Métodos de la API de Chat |
Límite (cada 60 segundos, compartido |
---|---|---|
Operaciones de lectura por minuto |
|
900 |
Operaciones de escritura por minuto |
|
60 |
Cuotas por proyecto
Las cuotas por proyecto limitan la frecuencia de consultas para un proyecto de Google Cloud. Así, se aplican a una sola app de Chat que llama al Métodos de la API de Chat para cada cuota.
En la siguiente tabla, se detallan los límites de consultas por proyecto. También puedes encontrar estos límites en la página Cuotas.
Cuota por proyecto |
Métodos de la API de Chat |
Límite (cada 60 segundos) |
---|---|---|
Escrituras de mensajes por minuto |
|
3000 |
Operaciones de lectura de mensajes por minuto |
|
3000 |
Operaciones de escritura de membresía por minuto |
|
300 |
Operaciones de lectura de membresía por minuto |
|
3000 |
Escrituras en el espacio por minuto |
|
60 |
Operaciones de lectura de espacios por minuto |
|
3000 |
Operaciones de escritura de adjuntos por minuto |
|
600 |
Operaciones de lectura de archivos adjuntos por minuto |
|
3000 |
Operaciones de escritura de reacciones por minuto |
|
600 |
Lecturas de reacción por minuto |
|
3000 |
Límites de uso adicionales
Hay límites de cuota adicionales para crear espacios de tipo GROUP_CHAT
o SPACE
(mediante el método spaces.create
o spaces.setup
).
Crear menos de 35 espacios por minuto y 210 espacios por
hora de estos tipos. Los espacios de tipo DIRECT_MESSAGE
no están sujetos a estas
límites de cuota adicionales.
Pueden activarse las consultas grandes por segundo (QPS) de cualquier API que se oriente al mismo espacio. límites internos adicionales que no son visibles en el Cuotas.
Resuelve errores de cuotas basadas en el tiempo
Para todos los errores basados en el tiempo (un máximo de N solicitudes por X minutos), recomendamos tu código detecta la excepción y usa una retirada exponencial truncada para garantizar que tu los dispositivos no generan una carga excesiva.
La retirada exponencial es una estrategia estándar de manejo de errores para aplicaciones de red. Los El algoritmo de retirada exponencial vuelve a intentar las solicitudes con tiempos de espera que aumentan exponencialmente entre solicitudes, hasta un tiempo de retirada máximo. Si las solicitudes aún no tienen éxito, es importante que las demoras entre las solicitudes aumenten con el tiempo hasta que la solicitud sea exitosa.
Algoritmo de ejemplo
Un algoritmo de retirada exponencial vuelve a intentar las solicitudes de forma exponencial, lo que aumenta el tiempo de espera. entre reintentos y un tiempo de retirada máximo. Por ejemplo:
- Hacer una solicitud a la API de Google Chat
- Si la solicitud falla, espera 1 +
random_number_milliseconds
y vuelve a intentarlo. la solicitud. - Si la solicitud falla, espera 2 +
random_number_milliseconds
y vuelve a intentarlo. la solicitud. - Si la solicitud falla, espera 4 +
random_number_milliseconds
y vuelve a intentarlo. la solicitud. - Y así sucesivamente, hasta un tiempo de
maximum_backoff
. - Sigue con la espera y los reintentos hasta una cantidad máxima de reintentos, pero no aumentes el tiempo de espera. y el período entre reintentos.
Donde:
- El tiempo de espera es de
min(((2^n)+random_number_milliseconds), maximum_backoff)
, conn
incrementado en 1 para cada iteración (solicitud). random_number_milliseconds
es una cantidad aleatoria de milisegundos menor que o igual a 1,000. Esto ayuda a evitar casos en los que muchos clientes estén sincronizados alguna situación y todos reintentarán a la vez, enviando solicitudes sincronizadas olas. El valor derandom_number_milliseconds
se vuelve a calcular después de cada de respuesta ante la solicitud de reintento.maximum_backoff
suele ser de 32 o 64 segundos. El valor adecuado depende del caso de uso.
El cliente puede seguir reintentando después de que haya alcanzado el tiempo maximum_backoff
.
Después de este punto, los reintentos no necesitan continuar con el aumento del tiempo de retirada. Para
Por ejemplo, si un cliente usa un tiempo maximum_backoff
de 64 segundos, entonces, después de
este valor, el cliente puede reintentarlo cada 64 segundos. En algún momento,
los clientes deberían evitar
que vuelvan a intentarlo de forma indefinida.
El tiempo de espera entre los reintentos y la cantidad de reintentos depende de tu caso de uso. y las condiciones de red.
Solicita un aumento de la cuota por proyecto
Según el uso que hagas de los recursos en tu proyecto, es posible que quieras solicitar una cuota el aumento de la demanda. Se considera que las llamadas a la API realizadas por una cuenta de servicio usan un cuenta. Solicitar una cuota mayor no garantiza la aprobación. Grande los aumentos de cuota pueden tardar más en aprobarse.
No todos los proyectos tienen las mismas cuotas. A medida que usas cada vez más Google Cloud las cuotas podrían aumentar. Si esperas que se produzca una de aumento en el uso, puedes solicitar ajustes de cuota en la página Cuotas en la consola de Google Cloud.
Para obtener más información, consulta los siguientes recursos:
- Acerca de las solicitudes de aumento de cuota
- Consulta el uso y los límites actuales de tu cuota
- Solicita un límite de cuota más alto