伙计们需要一些小帮助,我有一个用例,我想设置一个通信服务。使用SQS,SQs将接收要通信的不同类型的事件。现在我们有了一个单独的lambda函数,它完成一个单一的通信。让我们假设一个电子邮件Lambda,Slack lambda,等等。
如何根据队列属性调用不同的lambda。我计划使用SQS作为事件源和某种架构link to sample architeture。
在上面,我们可以在lambda服务级别处理速率限制和并发,如果事件类型是A,则简化工作如果事件类型是B,则调用Lambda A,如果事件类型是B,则调用lambda B,并且两个事件在相同的SQS中
欢迎所有建议
发布于 2019-10-05 20:26:26
您的问题是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
https://stackoverflow.com/questions/58247376
复制相似问题