Flask Limiter: personalice los límites de velocidad en la API y el uso de la aplicación

Presente Flask Limiter y las características y parámetros relevantes. Apréndelo y empieza a equipar tu aplicación con el Flask limiter

El enfoque fundamental de la monetización SaaS o BaaS o API es proporcionar a los clientes diferentes servicios y planes. Para que los usuarios puedan seleccionar y comprar la cuota del plan que consideren suficiente y pagar por un precio razonable. Flask limiter tiene módulos y parámetros existentes para que su aplicación adopte y construya estas funciones. Es fácil y liviano actualizar su SaaS con esta extensión.

En este capítulo, hablaré sobre Flask Limiter y sus características y parámetros relevantes. Al final de este artículo, puede dominar las habilidades y comenzar a equipar su aplicación con los límites de tasa de Flask, que se utilizan para establecer y proporcionar diferentes planes para los compradores.

Tabla de contenido: Use Flask Limiter para personalizar los límites de velocidad en el uso de aplicaciones web, API y SaaS

¿Qué es el limitador de frascos?

Flask limiter es un paquete de extensión de Flask que puede permitirnos agregar fácilmente la funcionalidad de limitación de velocidad a un punto final. Además de limitar la tasa, también puede colocar la información del límite de tasa en el encabezado HTTP utilizando la configuración RATELIMIT_HEADERS_ENABLED . Por lo tanto, no necesitamos codificar la información del encabezado HTTP nosotros mismos. Además de eso, también admite un backend configurable para almacenamiento con implementaciones actuales para Redis, en memoria, Memcached y otros.

Proporciona funciones de limitación de velocidad para las aplicaciones de Flask. Al agregar la extensión a su aplicación de matraz, puede configurar varios límites de velocidad en diferentes niveles y niveles. Son cosas como toda la aplicación, por Blueprint, rutas, recursos, etc.

Se aplica un límite de tarifa predeterminado de 200 por día y 50 por hora a todas las rutas. Incluso podemos establecer múltiples límites, solo necesitamos delimitarlos usando un delimitador. Por ejemplo, podemos establecer el límite en 100 solicitudes por minuto y 1000 solicitudes por hora, al mismo tiempo.

Instalación e Importación de Módulos

Para instalar Flask limiter, podemos abrir la terminal de la computadora e ingresar pip3 install Flask-limiter . Solo toma 10 segundos completar la instalación.

Luego, necesitamos importar los módulos y las bibliotecas del limitador de frascos a su secuencia de comandos de Python. A continuación se muestran los dos módulos principales.

El limitador es el constructor y podemos crear un nivel global de limitador que se configure con la aplicación Flask. Por su parte, get_remote_addresss es el valor key_func para identificar la dirección IP del usuario que solicita los datos.

Inicialice el limitador globalmente

Al usar el constructor – limitador, podemos configurar el limitador con la aplicación Flask. En esta configuración, se pueden establecer los límites de calificación predeterminados, key_func , que es get_remote_address.

Decora para Declarar Tasa Límite

Además del límite predeterminado global establecido en la configuración, podemos personalizar los límites de calificación utilizando el límite del decorador en cada ruta de la aplicación Flask.

Por ejemplo, hay algunos parámetros básicos que a menudo se usan para decorar la ruta. Son el valor límite, exempt_when , key_func/lambda y error_message . A continuación se muestra un ejemplo del uso de estos parámetros para crear un decorador en una ruta

key_func/lambda para extraer el identificador único para el límite de tasa. El valor predeterminado es la dirección remota de la solicitud. Pero podemos personalizar y configurar para usuarios actuales específicos mediante el inicio de sesión de matraz. Para los detalles sobre las autenticaciones de usuarios, publicaría otros artículos para elaborar.

Share_Limit ()

Para escenarios en los que varias rutas deben compartir un límite de velocidad. Por ejemplo, cuando desea proteger las rutas que utilizan el mismo recurso con un límite de tarifa general.

Por lo general, el enfoque es crear una variable que tenga el limitador de instancias y el método shared_limit

En el método shared_limit, podemos establecer el valor límite y el alcance. Luego, la variable se puede usar en las rutas que desea que compartan entre sí.

exento_cuando

Cada límite puede ser eximido cuando se cumplan las condiciones dadas. Estas condiciones se pueden especificar proporcionando un invocable como un argumento exempt_when al definir el límite.

Exempt_when es muy útil ya que puede excluir algunas situaciones que no coinciden con la identidad del usuario. Por ejemplo, si soy un miembro de prestigio que visita una página, el límite de solicitudes de página puede ser diferente al de otros miembros. Entonces el valor límite en esta ruta es para otros miembros. Por otro lado, el miembro de prestigio puede usar el global u otro de una función personalizada.

Muestra completa de Python y Flask Limiter Script

Si está interesado en la secuencia de comandos completa de Python del Capítulo 56: Use Flask Limiter para personalizar los límites de velocidad en el uso de aplicaciones web, API y SaaS, suscríbase a nuestro boletín agregando el mensaje "Capítulo 56" . Le enviaremos el guión inmediatamente a su buzón.

Espero que disfrute leyendo el Capítulo 56: Use Flask Limiter para personalizar los límites de velocidad en el uso de aplicaciones web, API y SaaS. Si lo hiciste, apóyanos haciendo una de las cosas que se enumeran a continuación, porque siempre ayuda a nuestro canal.

  • Apoya y dona al canal a través de PayPal ( paypal.me/Easy2digital )
  • Suscríbete a mi canal y activa la campanita de notificaciones Easy2Digital Youtube channel .
  • Sigue y dale me gusta a mi página Easy2Digital Facebook page
  • Comparte el artículo en tu red social con el hashtag #easy2digital
  • Te suscribes a nuestro boletín semanal para recibir los últimos artículos, videos y códigos de descuento de Easy2Digital