Estoy creando una API para una plataforma de publicación de anuncios que le permitirá solicitar datos de seguimiento para campañas publicitarias. Las campañas a menudo exceden cientos de millones de solicitudes, lo que significa que habrá muchos terabytes de datos. Por lo tanto, debemos evitar que los consumidores de API soliciten demasiados datos a la vez (de modo que la solicitud agote el tiempo de espera), pero no estoy seguro de cuál es la mejor práctica para hacerlo.
Las opciones que ya he identificado son:
- agregue un parámetro adicional a la solicitud que indique qué sección de los datos se desea
- truncar los datos y de alguna manera decirle al cliente que necesitan usar filtros más específicos
- responda con el código de estado HTTP 413 (pero esto parece ser para grandes cuerpos de solicitud, no respuestas)
- cambiar a una API de transmisión (como las API de transmisión de Twitter )
Pero mi pregunta es, ¿cuál es la práctica estándar / respuesta adecuada para este tipo de situación?
Nota: los ataques DoS no son muy preocupantes ya que no será una API pública