Limiter du flacon – Personnaliser les limites de taux de l’API, utilisation des applications

Introduisez un limiteur de ballon et des fonctionnalités et paramètres pertinents. Apprenez-le et commencez à équiper votre application avec le limiteur du flacon

L’approche fondamentale de la monétisation SaaS ou BAAS ou API est de fournir aux clients différents services et plans. Ainsi, les utilisateurs peuvent sélectionner et acheter le quota de plan, ils pensent qu’il est suffisant et payer un prix raisonnable. FLASK LIMITEUR a des modules et des paramètres existants pour que votre application adopte et construit ces fonctions. Il est facile et léger de mettre à niveau votre SaaS avec cette extension.

Dans ce chapitre, je vais parler du limiteur Flask et de ses fonctionnalités et paramètres pertinents. À la fin de cet article, vous pouvez maîtriser les compétences et commencer à équiper votre application avec les limites de taux de flacon, qui sont utilisées pour définir et fournir des plans différents pour les acheteurs.

Table of Contents: Use Flask Limiter to Customise Rate Limits on Web Application, API & SaaS Usage

Quel est le limiteur de flacon

Flask limiter is a Flask extension package that can let us easily add rate-limiting functionality to an endpoint. Apart from limiting the rate, it can also put the rate limit information in the HTTP header by using the RATELIMIT_HEADERS_ENABLED configuration. Therefore, we don’t need to code the HTTP header information ourselves. Besides that, it also supports a configurable backend for storage with current implementations for Redis, in-memory, Memcached, and others.

Il fournit des fonctionnalités de limitation de débit aux applications de file d’attente. En ajoutant l’extension à votre application Flask, vous pouvez configurer diverses limites de taux à différents niveaux et niveaux. Ce sont des éléments tels que à l’échelle de l’application, par plan, itinéraires, ressources, etc.

Une limite de taux par défaut de 200 par jour et 50 par heure est appliquée à tous les itinéraires. Nous pouvons même définir plusieurs limites, nous avons juste besoin de les délimiter à l’aide d’un délimiteur. Par exemple, nous pouvons définir la limite à 100 demandes par minute et 1000 demandes par heure, en même temps.

Installation et importation du module

To install the Flask limiter, we can open the computer terminal and input pip3 install Flask-limiter. It just takes 10 seconds to complete the installation.

Ensuite, nous devons importer les modules et les bibliothèques du limiteur de flacon dans votre script Python. Vous trouverez ci-dessous les deux modules principaux.

The limiter is the constructor and we can create a global level of limiter that configure with the Flask App. Meanwhile, get_remote_addresss is the key_func value to identify the IP address of the user who requests the data.

Initialiser le limiteur à l’échelle mondiale

By using the constructor – limiter, we can configure the limiter with the Flask App. In this configuration, it can be set the default rating limits, key_func which is the get_remote_address.

Décorer pour déclarer la limite de taux

En dehors de la limite de défaut globale définie dans la configuration, nous pouvons personnaliser les limites de notation en utilisant la limite de décorateur dans chaque itinéraire d’application de file.

For example, there are some core parameters that are often used to decorate the route. They are the limit value, exempt_when, key_func/lambda, and error_message. Below is a sample of using these parameters to create a decorator in a route

key_func/lambda to extract the unique identifier for the rate limit. The default value is the remote address of the request. But we can custom and set up for specific current users by using flask login. For the details about user authentications, I would release other articles to elaborate.

Share_limit ()

Pour les scénarios où une limite de taux doit être partagée par plusieurs itinéraires. Par exemple, lorsque vous souhaitez protéger les itinéraires en utilisant la même ressource avec une limite de taux de parapluie.

Habituellement, l’approche consiste à créer une variable qui a le limiteur d’instance et la méthode partagée

Dans la méthode Shared_limit, nous pouvons définir la valeur limite et la portée. Ensuite, la variable peut être utilisée dans les itinéraires que vous souhaitez qu’ils partagent les uns avec les autres.

exonéré

Each limit can be exempted when the given conditions are fulfilled. These conditions can be specified by supplying a callable as a exempt_when the argument when defining the limit.

Exonéré_étant est très utile car il peut exclure certaines situations qui ne correspondent pas à l’identité de l’utilisateur. Par exemple, si je suis un membre de prestige visitant une page, la limite de demande de page peut être différente des autres membres. La valeur limite de cette voie est donc pour les autres membres. D’un autre côté, le membre Prestige peut utiliser l’un ou l’autre global d’une fonction personnalisée.

Échantillon complet de python et script de limiteur de flacon

If you are interested in the full python script of Chapter 56 – Use Flask Limiter to Customise Rate Limits on Web Application, API & SaaS Usage, please subscribe to our newsletter by adding the message “Chapter 56”. We would send you the script immediately to your mailbox.

I hope you enjoy reading Chapter 56 – Use Flask Limiter to Customise Rate Limits on Web Application, API & SaaS Usage. If you did, please support us by doing one of the things listed below, because it always helps out our channel.

  • Support and donate to the channel through PayPal (paypal.me/Easy2digital)
  • Subscribe to my channel and turn on the notification bell Easy2Digital Youtube channel.
  • Follow and like my page Easy2Digital Facebook page
  • Partagez l’article sur votre réseau social avec le hashtag # easy2digital
  • Vous vous inscrivez à notre newsletter hebdomadaire pour recevoir les derniers articles, vidéos et code de réduction Easy2digital

FAQ:

Q1: Qu’est-ce que le limiteur du flacon?

R: Le limiteur FLASK est un produit conçu pour fournir des fonctionnalités de limitation de taux pour les applications FLASK.

Q2: Pourquoi devrais-je utiliser le limiteur FLASK?

R: Le limiteur FLASK aide à prévenir les abus et protège votre application Flask de la submergation par trop de demandes.

Q3: Comment fonctionne le limiteur FLASK?

R: Le limiteur du flacon fonctionne en fixant des limites au nombre de demandes qui peuvent être faites à votre application FLASK dans un certain délai.

Q4: Le limiteur du flacon peut-il être personnalisé?

R: Oui, le limiteur FLASK vous permet de personnaliser les limites de taux en fonction de vos besoins spécifiques.

Q5: Le limiteur du flacon est-il compatible avec les autres extensions du ballon?

R: Oui, le limiteur FLASK est conçu pour fonctionner de manière transparente avec d’autres extensions de ballon.

Q6: Le limiteur du flacon prend-il en charge différents types de limitation de taux?

R: Oui, le limiteur FLASK prend en charge différents types de limitation de taux tels que la limitation des taux basés sur IP et la limitation des taux basés sur l’utilisateur.

Q7: Le limiteur du flacon peut-il être utilisé avec des API Flask?

R: Oui, le limiteur FLASK peut être utilisé avec des API Flask pour contrôler la vitesse à laquelle les clients peuvent faire des demandes à votre API.

Q8: Le limiteur du flacon est-il facile à intégrer avec les applications de ballon existantes?

R: Oui, le limiteur du flacon est facile à intégrer avec les applications de ballon existantes et nécessite une configuration minimale.

Q9: Le limiteur FLASK offre-t-il des capacités de journalisation et de surveillance?

R: Oui, Flask Limiter fournit des capacités de journalisation et de surveillance pour vous aider à suivre l’activité de limitation des taux.

Q10: Le limiteur du flacon est-il adapté aux sites Web à haut trafic?

R: Oui, le limiteur FLASK convient aux sites Web à haut trafic et peut gérer efficacement de grands volumes de demandes.