Forum

AWS Lambda + API externe : pourquoi plus de retries n'a pas réglé mes erreurs 409

Hachem_Ouasli

Bonjour à tous,

Un retour d'expérience sur un bug qui m'a appris beaucoup sur le serverless.

Le contexte

Un connecteur Node.js / TypeScript sur AWS Lambda qui écrit dans Contentful (catégories, SEO, méga-menu) à partir des événements du système.

Le problème

Contentful protège chaque entrée avec un numéro de version. Si deux Lambdas lisent la version 12 en même temps, la première écrit la version 13. La deuxième essaie d'écrire avec la version 12 et reçoit une erreur 409 VersionMismatch. Le méga-menu se retrouve à moitié à jour.

Ajouter des retries ne règle rien. Le vrai problème, c'est qu'il y a deux écrivains en même temps.

La solution

  • Une file SQS FIFO avec un MessageGroupId : les messages d'un même groupe passent dans l'ordre.

  • Une concurrence à 1 sur cette Lambda : un seul écrivain à la fois sur la ressource.

  • Une clé d'idempotence : si un message arrive deux fois, la deuxième fois il ne fait rien.

  • Des écritures par lots, pour rester sous le rate limit de l'API.

La leçon

Le serverless rend le parallélisme très facile. Parfois, la bonne réponse est de le limiter.

Vous avez déjà eu ce genre de conflit avec une API externe ? Vous l'avez réglé comment : verrou, file d'attente, autre chose ?

Au service des talents IT

Free-Work est une plateforme qui s'adresse à tous les professionnels des métiers de l'informatique.

Ses contenus et son jobboard IT sont mis à disposition 100% gratuitement pour les indépendants et les salariés du secteur.

Free-workers
Ressources
A propos
Espace recruteurs
2026 © Free-Work / AGSI SAS
Suivez-nous