Límites de uso

Como la API de Vault es un servicio compartido, aplicamos cuotas y limitaciones para asegurarnos de 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 puede realizar 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
Asunto 60
Consulta guardada 45
Solicitudes de búsqueda (conteo) por minuto y por proyecto
Conteo de búsquedas 20

Uso de cuota por método

La cuota que usa una solicitud depende del método al que se llame. En la siguiente tabla, se indica el uso de 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 conteo
matters.get 1 lectura de asunto
matters.list 10 lecturas de asunto
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 1 lectura de 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 asunto
1 escritura de asunto
1 lectura de retención
1 escritura de retención
matters.holds.list 1 lectura de asunto
3 lecturas de retención
matters.holds.accounts.create
matters.holds.accounts.delete
matters.holds.accounts.list
1 lectura de asunto
1 escritura de asunto
1 lectura de retención
1 escritura de retención
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 1 lectura de asunto
1 lectura de consulta guardada
matters.savedQueries.list 1 lectura de asunto
3 lecturas de consulta guardada
operations.get 1 lectura de operación 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 429: Too many requests respuesta de código de estado HTTP.

Para todos los errores basados en el tiempo (un 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 a través del aumento exponencial de los tiempos de espera 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 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:

  1. Realiza una solicitud a la API de Google Vault.
  2. Si la solicitud falla, espera 1 + random_number_milliseconds y vuelve a intentar la solicitud.
  3. Si la solicitud falla, espera 2 + random_number_milliseconds y vuelve a intentar la solicitud.
  4. Si la solicitud falla, espera 4 + random_number_milliseconds y vuelve a intentar la solicitud.
  5. Y así sucesivamente, hasta un tiempo de maximum_backoff.
  6. 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), con n incrementado en 1 para cada iteración (solicitud).
  • random_number_milliseconds es un número al azar 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 sincronizadas en etapas. El valor de random_number_milliseconds se vuelve a calcular después de cada reintento de solicitud.
  • 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 de 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 de 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 depende del caso práctico y las condiciones de la red.

Solicita un aumento de la cuota

Según el uso que hagas de los recursos de tu proyecto, es posible que desees solicitar un ajuste de cuota. Las llamadas a la API de una cuenta de servicio se consideran como el uso de 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 tu uso de Google Cloud aumenta con el tiempo, es posible que debas aumentar los valores de tus cuotas. Si prevés un aumento repentino considerable en el uso, puedes solicitar ajustes en la cuota de forma proactiva en la página Cuotas y límites del sistema de la consola de Google Cloud.

Para obtener más información, consulta los siguientes recursos:

Precios

Todo el uso de la API de Vault de Google está disponible sin costo adicional para los clientes de Google Workspace.