Je construis un service qui utiliserait les données provenant d'une autre source (service). Donc, je pense à utiliser le pipeline suivant: -AWS SQS Requis ou non
Autre service ----> ---- SNS Sujet> SQS ----> AWS Lambda ----> Dynamo Db
Alors , ce que dit ci-dessus flux est un autre service va pousser les données à SNS Topic à laquelle un SQS serait un abonné. Maintenant, AWS Lambda aura un déclencheur sur ce SQS qui écoutera les messages dans SQS et le poussera sur Dynamo Db. Bien que cela semble correct de le faire. Mais maintenant je pense si j'ai vraiment besoin de SQS ou non. Puis-je éviter de l'utiliser? Au lieu d'utiliser SQS, AWS Lambda a directement un déclencheur sur SNS. Je pense juste à un cas si je n'utilise pas AWS SQS. Comment va-t-il gérer le scénario si la base de données AWS Dynamo échoue? Je pense qu'avec seulement SNS, je perdrais quelques messages pendant le temps, mon Dynamo Db est en état d'échec mais si j'ai SQS, alors ces messages seraient stockés dans la file d'attente SQS.
S'il vous plaît laissez-moi savoir si ma compréhension est correcte.
Merci beaucoup pour votre aide.
SQS ne peut pas déclencher un Lambda car il s'agit d'une architecture d'interrogation. Vous pouvez cependant déclencher un Lambda à partir de SNS car il est piloté par un événement comme Lambda. Voir [sources d'événements supportés] (http://docs.aws.amazon.com/lambda/latest/dg/invoking-lambda-function.html) pour Lambda pour plus d'informations. – stdunbar
Merci pour votre réponse. Je pense qu'il n'y a pas de moyen direct de le faire avec SQS. Mais il y a un moyen personnalisé que je pense que nous pourrions faire comme mentionné dans ce blog. https://cloudonaut.io/integrate-sqs-and-lambda-serverless-architecture-for-asynchronous-loadloads/. Autre que ceci, ma question concerne principalement si j'utilise seulement SNS, aucun SQS, peut-il y avoir un problème dans le cas où Dynamo Db échoue. – hatellla