Как использовать Aws SQS в качестве источника событий и вызывать различные функции Lamda на основе атрибутов событий - PullRequest
1 голос
/ 05 октября 2019

ребята, нужна небольшая помощь, у меня есть пример использования, где я хочу настроить службу связи. используя SQS, SQs будет получать события другого типа для передачи. Теперь у нас есть единственная лямбда-функция, которая выполняет единственную связь. скажем, одно электронное письмо Lambda, Slack lambda и т. д.

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

здесь, в приведенном выше, мы можем упростить ограничение скорости и параллелизм на уровне лямбда-обслуживанияработает, если тип события A вызывает лямбду A, если тип события B вызывает лямбду B и оба события находятся в одном и том же SQS

все предложения приветствуются

1 Ответ

2 голосов
/ 05 октября 2019

Ваша проблема - сообщение SQS может быть прочитано только одной службой за раз. Когда оно читается, оно невидимо для всех остальных. У вас может быть только один Lambda-потребитель, и в SQS нет никаких разделов или маршрутизации, кроме настройки другой темы SQS. Внедрены несколько потребителей Kensis или AWS MSK (Kafka)

То, что вы пытаетесь достичь, называется веером. Это обычная облачная архитектура. То, что вы, вероятно, хотите сделать, это сначала опубликовать в SNS. Затем с помощью SNS вы можете отфильтровать и направить к нескольким темам SQS для каждого из типов сообщений, и тогда каждая тема SQS будет использоваться собственной лямбдой.

Ознакомьтесь с учебником здесь: https://docs.aws.amazon.com/sns/latest/dg/sns-common-scenarios.html

...