2016-12-15 1 views
1

J'utilise la fonction Lambda pour envoyer un message à la file d'attente SQS. Une fois le message placé dans la file d'attente SQS, j'ai besoin de déclencher une autre fonction Lambda pour traiter le message dans la file d'attente. Je pense que nous pouvons mettre en œuvre en utilisant SNS. Je suis nouveau dans le service AWS, S'il vous plaît proposer une solution pour déclencher la fonction Lambda basée sur les messages de file d'attente SQS à l'aide de SNS.Comment déclencher la fonction Lambda à l'aide de SNS basé sur la file d'attente SQS

+0

Vous pouvez omettre l'étape SNS - https://cloudonaut.io/integrate-sqs-and-lambda-serverless-architecture-for-asynchronous-workloads/ –

+0

Merci pour votre réponse @Vlad Je cherche un traitement de file d'attente en temps réel. votre approche suggérée fonctionnera pour le traitement en temps réel. – Team

Répondre

0

Vous n'avez pas besoin de la couche SNS entre les deux. De votre première Lambda 2 choses

  1. place un message dans SQS et
  2. Trigger Lambda qui traitera l'événement

Par curiosité, pourquoi avez-vous besoin de mettre le message SQS. Si votre traitement est trivial, vous pouvez directement traiter le message dans votre première fonction lambda.

De cette façon, vous économisez le coût de SQS, ainsi que d'autres Lambda

+0

Déclencher le Lambda qui va traiter l'évènement - Comment créer ce trigger? – Andy

+0

Consultez ce lien pour plus de détails sur le déclenchement de lambda. http://docs.aws.amazon.com/lambda/latest/dg/API_Invoke.html –

0

Je pense que cela dépendra de l'urgence de traitement des messages. Si vous voulez traiter tous les messages en temps réel, envoyez-les à SNS et abonnez votre Lambda à ce sujet. Un autre scénario peut être où vous traitez vos messages en temps réel et toute panne se produit fréquemment en raison de certaines dépendances, puis dans ce cas, envoyez-le à SQS et traitez via une interrogation Lambda plus tard.

Le déclenchement de Lambda est assez flexible dans tous ces cas, vous pouvez directement abonner votre lambda à la rubrique SNS à traiter, vous pouvez également programmer votre lambda pour l'exécuter sur une base cron (utile en cas d'interrogation et de traitement des messages SQS)

+0

Pouvez-vous expliquer comment utiliser SNS pour traiter les messages de la file d'attente sqs? – Team