Límites de uso

Como la API de Google Drive es un servicio compartido, aplicamos cuotas y limitaciones para asegurarnos de que todos los usuarios la usen de manera justa y para proteger el rendimiento general del sistema de Google Workspace.

Las notificaciones que se entregan a la dirección especificada cuando se abre un canal de notificaciones no se descuentan de los límites de tu cuota. Sin embargo, las llamadas a los métodos changes.watch, channels.stop y files.watch sí se descuentan de tu cuota.

Si excedes una cuota, recibirás una respuesta con el código de estado 403: User rate limit exceeded HTTP. Las verificaciones adicionales de límites de frecuencia en el backend de Drive también pueden generar una 429: Too many requests respuesta. Si esto sucede, debes usar un algoritmo de retirada exponencial y volver a intentarlo más tarde. Siempre que te mantengas dentro de las cuotas por minuto que se indican a continuación, no habrá límite para la cantidad de solicitudes que puedes realizar por día.

En la siguiente tabla, se detallan los límites de las consultas:

Cuotas
Consultas
Por 60 segundos 12,000
Por 60 segundos por usuario 12,000

Cómo resolver errores de cuota basados en el tiempo

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 Drive.
  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. Sigue esperando y reintentando hasta una cantidad máxima 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 aleatorio de milisegundos menor o igual a 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 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 haya alcanzado 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, después 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 indefinida.

El tiempo de espera entre los reintentos y la cantidad de reintentos depende del caso práctico y las condiciones de la red.

Precios

Todo el uso de la API de Google Drive está disponible sin costo adicional. Si excedes los límites de solicitud de cuota , no se generan cargos adicionales y no se factura tu cuenta.

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 tu cuota. 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: