Limiter les appels vers une ressource d'une API (resource-call-limiter)
Permet de limiter le nombre total de requêtes soumises à la ressource d'une API dans une unité de temps définie. Le Call Limiter agit comme un fusible et vise à protéger le SI La Poste d’un volume de requêtes à traiter trop important. Il prend donc en compte l'ensemble des requêtes envoyées par les consommateurs sur la période définie. En cas de dépassement de capacité, Okapi renvoie une erreur 429 "Too many requests".
Principe de fonctionnement
La ressource déclare dans son raccordement les données relatives au Call Limiter sous le namespace callLimiter
dans les données optionnelles (extra
).
Les attributs du namespace callLimiter
sont les suivants :
quotaTime
(number) : Durée de la période (en secondes)quotaCount
(number) : Nombre d'appels possibles pendant la période définie parquotaTime
Principe de mise en oeuvre
- type: resource
value:
name: My Resource
methode: get
route: /myresource
...
plugins:
- apiCallLimiter
extra:
callLimiter:
quotaTime: 86400
quotaCount: 10000