如何使用 Aws SQS 作为事件源并根据事件属性调用不同的 Lamda 函数



伙计们需要小帮助,我有一个用例,我想在其中设置通信服务。 使用 SQS,SQ 将接收要通信的不同类型的事件。现在我们有一个执行单个通信的 lambda 函数。假设一封电子邮件Lambda,Slack lambda等。

我如何根据队列属性调用不同的 lambda。我计划使用 SQS 作为事件源,并将这种体系结构链接到示例架构

在上面,我们可以在 lambda 服务级别处理速率限制和并发性 如果事件类型为 A,则简化工作 如果事件类型为 B,则调用 Lambda A 调用 lambda B 并且两个事件位于同一个 SQS 中

欢迎所有建议

您的问题是 SQS 消息一次只能由一个服务读取。当它被读取时,它对其他人是不可见的。您只能有一个 Lambda 使用者,除了设置另一个 SQS 主题外,SQS 中没有任何分区或路由。实现多个使用者 Kensis 或 AWS MSK (Kafka(

你试图完成的事情被称为扇出。这是一种常见的云体系结构。您可能想做的是最初发布到 SNS。然后,使用 SNS,您可以针对每种消息类型筛选并路由到多个 SQS 主题,然后每个 SQS 主题将由其自己的 Lambda 使用。

在此处查看教程: https://docs.aws.amazon.com/sns/latest/dg/sns-common-scenarios.html

最新更新