S3事件-> Lambda vs S3-> SNS-> Lambda

Iro*_*r02 4 amazon-s3 amazon-web-services amazon-sns aws-lambda

我试图了解S3事件通知触发器的行为。我有s3事件触发lambda。Lambda将事件和文件元数据捕获到dynamodb。全天短暂爆发约有5万个事件触发器。如果必须在工作流程中添加SNS并让SNS触发lambda,那么sns与s3直接调用lambda相比有什么优势?

Dei*_*eiv 8

没有获得的优势。S3 和 SNS 事件都是异步事件源,行为方式相同。请参阅:Lambda 支持的事件源和:Lambda Retry on Errors(异步调用部分),它很好地突出了特定类型事件源的 lambda 行为。

只需执行 S3 -> Lambda 就足够了。


Mic*_*bot 6

优势是未来的灵活性。如果您在中间使用SNS,则可以轻松地将通知发送(扇出)到具有更多SNS主题订阅的多个目标-另一个Lambda函数,SQS队列,HTTPS端点甚至电子邮件,这可能非常有用用于非侵入式观察,测试,故障排除和开发需要相同通知的新功能。

  • 虽然如果特定用例需要扇出,这可能是一个优势,但在您需要之前实施它并不是一个优势。在 S3 和 Lambda 之间添加 SNS 非常简单,应该仅在您需要时才进行,否则您会因 SNS 主题而产生不必要的成本,而这不会给您带来任何好处。 (3认同)
  • @Deiv,我不同意。一旦需要它,就不可能无中断地添加它,因为必须删除旧的事件通知才能添加新的事件通知-无法添加重叠的事件通知配置。进行更改时,您将丢失事件。问题是*“优点是什么?” *,我已经正确回答了-这种稳定性和灵活性可能是非常引人注目的优点。毫无例外,即使现在不需要,我也以此方式配置通知。 (2认同)