Dado que la API de Google Vault es un servicio compartido, aplicamos cuotas y limitaciones para garantizar que todos los usuarios la usen de manera justa y para proteger el estado general del sistema de Google Workspace.
Límites de productos
No puedes tener más de 20 exportaciones en curso en tu organización.
Cuotas de solicitudes a la API
Cada organización tiene permitido 600 lecturas de Matter por minuto en todos los proyectos y usuarios, incluidas las solicitudes a través de la API de Vault y vault.google.com.
En las siguientes tablas, se enumeran los límites de solicitudes por minuto y por proyecto:
Solicitudes de lectura por minuto, por proyecto | |
---|---|
Exporta, importa y guarda la consulta | 120 |
Pausa | 228 |
Operación de larga duración | 300 |
Solicitudes de escritura por minuto por proyecto | |
---|---|
Exportar | 20 |
Pausa | 60 |
Permisos de Matter | 30 |
Matter | 60 |
Consulta guardada | 45 |
Solicitudes de búsqueda (recuento) por minuto y por proyecto | |
---|---|
Recuentos de búsquedas | 20 |
Uso de la cuota por método
La cuota que usa una solicitud depende del método al que se llama. En la siguiente tabla, se muestra el uso de la cuota por método:
Método | Costos de la cuota |
---|---|
matters.close matters.create matters.delete matters.reopen matters.update matters.undelete
|
1 lectura de asunto 1 escritura de asunto |
matters.count |
Cantidad de 1 |
matters.get |
Lectura de 1 asunto |
matters.list |
10 lecturas de asunto |
matters.addPermissions matters.removePermissions
|
1 lectura de asunto 1 escritura de asunto 1 permiso de escritura de asunto |
matters.exports.create |
1 exportación de lectura 10 operaciones de escritura de exportación |
matters.exports.delete |
1 operación de escritura de exportación |
matters.exports.get |
1 operación de lectura de exportación |
matters.exports.list |
5 operaciones de lectura de exportación |
matters.holds.addHeldAccounts matters.holds.create matters.holds.delete matters.holds.removeHeldAccounts matters.holds.update
|
1 lectura de asunto 1 escritura de asunto 1 retención de lectura 1 retención de escritura |
matters.holds.list |
1 lectura de asunto 3 lecturas de conservación |
matters.holds.accounts.create matters.holds.accounts.delete matters.holds.accounts.list
|
1 lectura de asunto 1 escritura de asunto 1 retención de lectura 1 retención de escritura |
matters.savedQueries.create matters.savedQueries.delete
|
1 lectura de asunto 1 escritura de asunto 1 lectura de consulta guardada 1 escritura de consulta guardada |
matters.savedQueries.get |
Lectura de 1 asunto Lectura de 1 consulta guardada |
matters.savedQueries.list |
1 lectura de asunto 3 lecturas de consultas guardadas |
operations.get |
1 operación de lectura de larga duración |
Resuelve errores de cuotas basadas en el tiempo
Si superas una cuota por minuto o por organización, por lo general, recibes una respuesta de código de estado HTTP 429: Too many requests
.
Para todos los errores basados en el tiempo (máximo de N solicitudes por X minutos), te recomendamos que tu código detecte la excepción y use una retirada exponencial truncada para asegurarte de que los dispositivos no generen una carga excesiva.
La retirada exponencial es una estrategia estándar de manejo de errores para aplicaciones de red. Un algoritmo de retirada exponencial vuelve a intentar las solicitudes mediante tiempos de espera que aumentan de forma exponencial entre solicitudes, hasta un tiempo de retirada máximo. Si las solicitudes aún no se completan, es importante que las demoras entre ellas aumenten con el tiempo hasta que se realicen correctamente.
Algoritmo de ejemplo
Un algoritmo de retirada exponencial vuelve a intentar las solicitudes de forma exponencial, lo que aumenta el tiempo de espera entre los reintentos hasta un tiempo de retirada máximo. Por ejemplo:
- Realizar una solicitud a la API de Google Vault
- Si la solicitud falla, espera 1 +
random_number_milliseconds
y vuelve a intentar la solicitud. - Si la solicitud falla, espera 2 +
random_number_milliseconds
y vuelve a intentar la solicitud. - Si la solicitud falla, espera 4 +
random_number_milliseconds
y vuelve a intentar la solicitud. - Y así sucesivamente, hasta un tiempo de
maximum_backoff
. - Continúa con la espera y los reintentos hasta una cantidad máxima de reintentos, pero no aumentes el período de espera entre los reintentos.
Donde:
- El tiempo de espera es de
min(((2^n)+random_number_milliseconds), maximum_backoff)
, conn
incrementado en 1 por cada iteración (solicitud). random_number_milliseconds
es una cantidad aleatoria de milisegundos menor o igual que 1,000. Esto ayuda a evitar los casos en los que muchos clientes se sincronizan por alguna situación y todos vuelven a intentarlo a la vez, lo que envía solicitudes en conjuntos sincronizados. El valor derandom_number_milliseconds
se vuelve a calcular después de cada solicitud de reintento.maximum_backoff
suele ser de 32 o 64 segundos. El valor apropiado depende del caso práctico.
El cliente puede volver a intentarlo después de que se cumpla el tiempo maximum_backoff
.
Después de este punto, los reintentos no necesitan seguir aumentando el tiempo de retirada. Por ejemplo, si un cliente usa un tiempo maximum_backoff
de 64 segundos, después de alcanzar este valor, puede volver a intentarlo cada 64 segundos. En algún momento, se debe evitar que los clientes vuelvan a intentarlo de forma indefinida.
El tiempo de espera entre los reintentos y la cantidad de reintentos dependen de tu caso de uso y las condiciones de la red.
Cómo solicitar un aumento de la cuota
Según el uso de recursos de tu proyecto, es posible que desees solicitar un aumento de cuota. Se considera que las llamadas a la API realizadas por una cuenta de servicio usan una sola cuenta. Solicitar una cuota mayor no garantiza la aprobación. Los grandes aumentos de cuota pueden tardar más tiempo en aprobarse.
No todos los proyectos tienen las mismas cuotas. Como usas cada vez más Google Cloud con el tiempo, es posible que tus cuotas deban aumentar. Si prevés un aumento considerable en el uso, puedes solicitar ajustes en la cuota de forma proactiva en la página Cuotas de 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 la cuota
- Cómo solicitar un límite de cuota más alto
Precios
Los clientes de Google Workspace pueden usar la API de Google Vault sin costo adicional.