web-dev-qa-db-fra.com

Fonctions d'étape du déclencheur AWS SQS

Question rapide: est-il possible de déclencher l'exécution d'une fonction Step après l'envoi d'un message SQS?, Si oui, comment le spécifieriez-vous dans le fichier cloudformation yaml?

Merci d'avance.

8
Carlos

La première chose à considérer est la suivante: avez-vous vraiment besoin d'utiliser SQS pour démarrer une machine à états Step Functions? Pouvez-vous tiliser la passerelle API à la place? Ou pourriez-vous écrire vos messages dans un compartiment S3 et tiliser les événements CloudWatch pour démarrer une machine d'état ?

Si vous devez utiliser SQS, vous aurez besoin d'une fonction lambda pour agir en tant que proxy. Vous devrez configurer la file d'attente en tant que déclencheur lambda , et vous devrez écrire un lambda qui peut analyser le message SQS et effectuer l'appel approprié aux fonctions d'étape API StartExecution .

Je suis sur mobile, je ne peux donc pas taper le yaml pour le moment, mais si vous en avez besoin, je peux essayer de le mettre à jour plus tard. Pour l'instant, voici une procédure détaillée de la façon de invoquer une machine d'état Step Functions à partir de Lambda (y compris l'exemple yaml), et voici une procédure pas à pas tilisez CloudFormation pour configurer SQS pour déclencher une Lambda .

17
Matthew Pope