Chi*_*ida 11 amazon-web-services amazon-ses amazon-lambda
我想知道是否可以向 SQS 队列发送消息并为其订阅 SNS 主题以触发用于发送电子邮件的 lambda。
SQS -> SNS -> (Lambda) -> SES
我知道 SNS 消息可以发送到 SQS,但我很好奇是否可以采用相反的方式
squ*_*les 11
我所做的一件事是在ApproximateNumberOfMessagesVisible( >= 1 for 5 minutes) 上为 SQS 队列创建 CloudWatch 警报。警报发布到触发 lambda 函数的 SNS 主题。lambda 函数循环直到它清除队列。
从警报触发最多可能需要 5 分钟,但它非常适合批量调度任务,而无需轮询队列。(活动队列的警报粒度为 5 分钟。)
你不能去SQS -> SNS,只能SNS -> SQS。
Lambda现在支持调度,因此一种选择是在 Lambda 函数中实现 SQS 轮询器并频繁运行它。
另一个需要考虑的选择是您是否真的需要队列。Lambda 支持异步处理(通过事件调用模式)并且应该透明地水平扩展以处理并行调用。如果您的 lambda 函数不需要访问可能会限制并行执行的中央状态存储,那么您可能只需并行运行所有调用。我相信每个帐户有 100 个并发执行限制,因此您可能需要批量处理消息以保持在该限制之下。
SQS队列可以订阅SNS主题,从而处理接收到的SNS消息。目前,如果没有额外的编码,它就无法在其他方向上实现(参见常见Lambda问题解答)。
我想说有几个选择如何做到这一点,但它不如使用更常见的事件驱动系统那么优雅AWS event->SQS->Lambda。SQS否则,您可能需要自定义/实现如何处理队列的代码:
| 归档时间: |
|
| 查看次数: |
15748 次 |
| 最近记录: |