Como la API de Google Vault es un servicio compartido, aplicamos cuotas y limitaciones para asegurarnos de que todos los usuarios la utilicen 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 toda tu organización.
Cuotas de solicitudes a la API
Cada organización tiene permitidas 600 lecturas de asuntos 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 indican los límites de solicitudes por minuto y por proyecto:
Solicitudes de lectura por minuto y por proyecto | |
---|---|
Exportación, asunto y consulta guardada | 120 |
Pausar | 228 |
Operación de larga duración | 300 |
Solicitudes de escritura por minuto y por proyecto | |
---|---|
Exportar | 20 |
Pausar | 60 |
Permisos de asuntos | 30 |
Matter | 60 |
Consulta guardada | 45 |
Solicitudes de búsqueda (recuento) por minuto por proyecto | |
---|---|
Recuentos de búsquedas | 20 |
Uso de cuota por método
La cuota que usa una solicitud depende del método al que se llama. En la siguiente tabla, se indica el uso de la cuota por método:
Método | Costos de cuota |
---|---|
matters.close matters.create matters.delete matters.reopen matters.update matters.undelete
|
1 lectura de asunto 1 escritura de asunto |
matters.count |
1 recuento |
matters.get |
Se leyó 1 asunto |
matters.list |
10 lecturas de asuntos |
matters.addPermissions matters.removePermissions
|
1 lectura de asunto 1 escritura de asunto 1 escritura de permisos de asunto |
matters.exports.create |
1 lectura de exportación 10 escrituras de exportación |
matters.exports.delete |
1 escritura de exportación |
matters.exports.get |
Se leyó 1 exportación |
matters.exports.list |
5 lecturas de exportación |
matters.holds.addHeldAccounts matters.holds.create matters.holds.delete matters.holds.removeHeldAccounts matters.holds.update
|
1 lectura de materia 1 escritura de materia 1 lectura de conservación 1 escritura de conservación |
matters.holds.list |
1 lectura de asunto 3 lecturas de espera |
matters.holds.accounts.create matters.holds.accounts.delete matters.holds.accounts.list
|
1 lectura de materia 1 escritura de materia 1 lectura de conservación 1 escritura de conservación |
matters.savedQueries.create matters.savedQueries.delete
|
1 lectura de asunto 1 escritura de asunto 1 lectura de búsqueda guardada 1 escritura de búsqueda guardada |
matters.savedQueries.get |
1 asunto leído 1 búsqueda guardada leída |
matters.savedQueries.list |
1 lectura de asunto 3 lecturas de búsquedas guardadas |
operations.get |
1 operación de lectura de larga duración |
Cómo resolver errores de cuota basados en el tiempo
Si excedes una cuota por minuto o por organización, por lo general, obtendrás una respuesta con el 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 tus 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 reintenta las solicitudes con tiempos de espera que aumentan de forma exponencial entre las solicitudes, hasta un tiempo de retirada máximo. Si las solicitudes siguen sin tener éxito, es importante que las demoras entre las solicitudes aumenten con el tiempo hasta que la solicitud se realice 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:
- Realiza una solicitud a la API de Google Vault.
- Si la solicitud falla, espera 1 +
random_number_milliseconds
y vuelve a intentarla. - Si la solicitud falla, espera 2 +
random_number_milliseconds
segundos y vuelve a intentarla. - Si la solicitud falla, espera 4 +
random_number_milliseconds
y vuelve a intentarla. - Y así sucesivamente, hasta un tiempo de
maximum_backoff
. - Continúa con la espera y los reintentos hasta un número máximo de reintentos, pero no aumentes el período de espera entre los reintentos.
Donde:
- El tiempo de espera es
min(((2^n)+random_number_milliseconds), maximum_backoff)
, conn
incrementado en 1 para cada iteración (solicitud). random_number_milliseconds
es un número aleatorio 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 realizan el reintento a la vez, lo que hace que se envíen solicitudes en oleadas sincronizadas. 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 de uso.
El cliente puede seguir reintentando después de que alcanza el tiempo maximum_backoff
.
Después de este punto, los reintentos no necesitan continuar con el aumento del tiempo de retirada. Por ejemplo, si un cliente usa un tiempo maximum_backoff
de 64 segundos, luego de alcanzar este valor, el cliente puede volver a intentarlo cada 64 segundos. En algún momento, se debe evitar que los clientes vuelvan a intentarlo de forma ilimitada.
El tiempo de espera entre los reintentos y la cantidad de reintentos dependen del caso práctico y las condiciones de la red.
Solicita un aumento de la cuota
Según el uso de recursos de tu proyecto, es posible que desees solicitar un ajuste de cuota. Las llamadas a la API realizadas por una cuenta de servicio se consideran como si se usara una sola cuenta. Solicitar una cuota ajustada no garantiza la aprobación. Las solicitudes de ajuste de cuota que aumentarían significativamente el valor de la cuota pueden tardar más en aprobarse.
No todos los proyectos tienen las mismas cuotas. A medida que uses cada vez más Google Cloud con el tiempo, es posible que debas aumentar los valores de tus cuotas. 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 los ajustes de cuota
- Consulta el uso y los límites de tu cuota actual
- Solicita un límite de cuota más alto
Precios
El uso de la API de Google Vault está disponible sin costo adicional para los clientes de Google Workspace.