Los límites permiten definir la cantidad de consultas y la transferencia máxima en MB que acepta el gateway por unidad de tiempo, además del tiempo de espera (timeout) y el tiempo que la respuesta permanece en caché. Se configuran a nivel de la API y pueden sobreescribirse en cada método, para todos los usuarios o para grupos y usuarios específicos. En este video ve cómo definir los límites de una API, cómo sobreescribirlos en un método y qué responde el gateway cuando se superan.
La regulación de límites de solicitudes a las APIs, o API rate limiting, controla la cantidad de solicitudes que un cliente (usuario o aplicación) puede realizar en un período determinado. Permite evitar la sobrecarga de los orígenes de datos, protegerse contra ataques de denegación de servicio y controlar costos: en una API monetizada por transacción acota el consumo, y en una monetizada por suscripción define las cantidades de cada plan. Cuando se superan los límites, la API responde con el código 429 y un mensaje que indica el tiempo de espera o cuarentena.
limit cuando el método pagina.Si un usuario agota su cuota para un período, debe esperar a que se cumpla ese período para volver a consultar. Por ejemplo, si supera la cantidad de solicitudes por minuto, debe esperar un minuto.
Al crear o editar una API, el paso Límites define las cuotas globales que heredan todos sus métodos: solicitudes y megabytes por período, timeout, caché y filas por página. Modifique los valores por defecto según sus definiciones y guarde la API.
Al agregar o editar un método, en el título Límites haga clic en el botón Sobreescribir.
Se abre una ventana donde puede agregar conjuntos de límites con Nuevo Límite. Cada conjunto tiene un nombre, una descripción y a quiénes aplica: Todos los usuarios, o Grupos/usuarios específicos.
Seleccione Todos y modifique los valores por defecto de cada límite y unidad de tiempo.
Una vez creado el conjunto, puede editarlo con el lápiz de la columna Acciones, agregar otro con Agregar o terminar con Listo.
Seleccione Grupos/usuarios. Se muestra un selector de grupos y usuarios para agregarlos al conjunto, y los mismos valores por límite y unidad de tiempo.
Al hacer clic en Listo vuelve a la configuración del método. Haga clic en Listo y luego en Publicar para que la versión de la API quede publicada con la nueva configuración.
En el editor del método, el bloque Paginación define si el gateway pagina el resultado de la vista. Viene Activado, y Paginación comienza en la página elige si la primera página es la 0 (por defecto) o la 1.
Con la paginación activada, el método acepta los parámetros limit (filas por página) y page (número de página). Si limit falta o supera el Máximo de filas por página de la API o del método, se usa ese máximo. En la respuesta JSON, meta.count informa el total de filas del resultado: con 49 filas, ?limit=3&page=0 devuelve las tres primeras y page=1 las tres siguientes.
Con la paginación desactivada, el gateway devuelve el resultado completo y no interpreta limit ni page: si la vista define parámetros con esos nombres, los recibe ella.
Los límites pueden definirse en cuatro niveles. Cuando hay más de uno, aplica el de mayor jerarquía:
Si un usuario está en dos grupos con conjuntos de límites distintos en un método, aplica el del primer grupo configurado.
Dentro de la cuota, el gateway responde normalmente. Al superarla responde con el código 429 hasta que se renueva el período. En el video, con un límite de cinco solicitudes por minuto, la sexta llamada recibe 429.
page o suba el máximo.