Должна ли одна AWS лямбда записывать несколько целей? - PullRequest
0 голосов
/ 10 февраля 2020

Я относительно новичок в AWS и у меня возникают проблемы с пониманием, если мне нужно правильно спроектировать AWS Лямбду для следующего сценария:

  1. Сообщение SQS записывается в специфику c очередь, которую AWS lambda прослушивает и имеет триггер.
  2. AWS lambda в сообщении read sqs передает его дальше в несколько целей, таких как SNS / DynamoDB / другой запрос SQS.

Этот дизайн в порядке? Должен ли я разделить каждую цель на отдельную AWS лямбду или они должны быть частью одного?

Какова роль AWS лямбда-адресатов в этом? Должен ли я создать отдельное место назначения для каждого из этих сервисов Amazon или цель AWS отличается? (например, сценарий успешной / неудачной обработки ios?)

Не уверен, имеет ли это значение, но я планирую написать это решение с использованием языка C#.

1 Ответ

1 голос
/ 10 февраля 2020

Я бы посоветовал вам иметь одну лямбда-функцию, которая будет запускаться на основе любых сообщений SQS, которые вы получите. Затем вы можете обработать сообщение и использовать содержимое в своем сценарии использования, который вы упомянули. По сути, вы получите событие SQS от вашей лямбда-функции, как только триггер будет активирован. Вам нужно захватить это событие и процесс:

SNS / DynamoDB / другой запрос SQS

Но убедитесь, что у вас есть механизм удаления SQS сообщение, как только вы обработали его, чтобы вы не продолжали читать или опрашивать старые сообщения SQS повторно. Вы можете прочитать о DLQ (Dead-Letter-Queue), что может быть полезно. Для справки, взгляните на this , чтобы вы могли начать самостоятельно.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...