Aller au contenu principal

Déclencheur AWS SQS

Le type AWS SQS (famille Événements) écoute une file Amazon SQS et lance un flux pour chaque message reçu — ou pour le lot reçu selon le mode de traitement.

Clés et identifiants

Ne saisissez pas d'identifiants AWS en clair dans la configuration : utilisez les variables de dictionnaire.

Paramètres​

ParamètreTypeObligatoireDéfautDescription
NomChaîne✅—Libellé affiché dans les listes et l'éditeur.
DescriptionChaîne✅—Résumé du but du déclencheur, pour les revues et la maintenance.
Chemin (slug)Chaîne✅—Identifiant de l'URL publique, généré depuis le nom.
TagsListe❌—Étiquettes pour filtrer et retrouver le déclencheur dans les listes.
AppChaîne❌—Application métier à rattacher au déclencheur pour la cartographie — voir Apps.
Mode de traitementPROCESS_PER_LINE / PROCESS_WHOLE✅PROCESS_WHOLEExécuter un flux par message récupéré — data est un objet (une exécution par message) ; Exécuter un flux avec tous les messages récupérés — data est un tableau (une exécution pour le lot).
URL de la file (queue.url)URL✅—URL complète de la file à consommer.
Identifiant de la clé d'accèsChaîne✅—Access Key ID AWS.
Secret de la clé d'accèsChaîne (masquée)✅—Secret Access Key AWS. Référencez-le via une variable de dictionnaire plutôt que de le coller en clair.

Options avancées​

ParamètreTypeObligatoireDéfautDescription
Nombre maximum d'essaisNombre❌—Nombre maximal de tentatives de requête en cas d'échec retryable.
Nombre maximum de messagesNombre❌—Nombre de messages récupérés par appel (1 à 10).
Délai de réapparition du message (en secondes)Nombre❌—Durée pendant laquelle un message reste invisible après lecture.
Attributs du messageListe❌—Noms d'attributs métier à demander avec les messages.
Attributs système du messageListe❌—Noms d'attributs système SQS à demander.

Prérequis AWS — un compte AWS avec accès à SQS, une file d'attente SQS créée, et vos identifiants AWS (Access Key ID et Secret Access Key) avec les permissions nécessaires pour lire depuis la file.

Entrée​

Le déclencheur reçoit le contenu du message publié dans la file. Le format exact dépend du message envoyé, par exemple :

{
"message": { "orderId": "CMD-4821", "status": "new" }
}

Sortie​

Le flux reçoit le contenu du message dans data ; l'identifiant du message est disponible via incomingRequest.messageId :

{
"data": { "orderId": "CMD-4821", "status": "new" }
}

Erreurs​

  • Suppression automatique — Ecosystem supprime le message de la file après un traitement réussi. En cas d'échec, le message reste dans la file et sera retraité.
  • Suppression manuelle — pour valider la suppression après traitement, utilisez le nœud AWS SQS dans le flux.
  • Retentatives — après un échec, le message redevient visible une fois le Délai de réapparition du message écoulé puis est retraité ; après plusieurs tentatives, envisagez de le déplacer vers une DLQ (Dead Letter Queue).

Limites​

  • Nombre maximum de messages : 1 à 10 messages par appel.
  • Délai de réapparition du message : configurez-le au moins égal à la durée de votre flux pour éviter une redélivrance en cours de traitement.
Coûts

SQS facture les requêtes API, le stockage des messages et le transfert de données. Activez le long polling et supprimez rapidement les messages traités pour réduire les coûts.

Exemple​

  1. Dans AWS : créez une file d'attente SQS et notez son URL.
  2. Dans Ecosystem : munissez-vous de vos identifiants AWS (Access Key ID et Secret Access Key), idéalement référencés dans un dictionnaire.
  3. Créez le déclencheur : type AWS SQS, renseignez l'URL de la file, l'identifiant et le secret de la clé d'accès. Configurez un Délai de réapparition du message au moins égal à la durée de votre flux.
  4. Associez un flux qui reçoit le message, traite la commande et supprime le message de la file après succès.
  5. Déployez en production : le déclencheur consomme la file.

Voir aussi​