首页 文章

AWS Lambda - 如何处理异步(AWS S3)触发器上的错误?

提问于
浏览
0

我有一个AWS Lambda函数,只要将新文档上传到S3,就可以将html文档转换为pdf文档 . 工作得很好 .

生成pdf后,我的应用程序代码(传统的服务器支持的Web服务)需要向用户发送一封电子邮件,其中包含指向pdf文件的链接 . 我可以想到几种方法来解决这个问题:

  • 只是假设pdf转换工作并且天真地触发电子邮件

  • 转换发生时,从lambda函数向我的应用程序代码发送webhook

  • 在后台作业中,在发送电子邮件之前检查是否存在pdf

实际上所有这些都可以工作,但我很好奇是否有一个建议的“最佳实践”来处理像这样异步触发的AWS lambdas,而不是直接触发 .

1 回答

  • 1

    看看Lambda Dead Letter Queues .

    Dead Letter Queues

    默认情况下,重试异步调用的失败Lambda函数两次,然后丢弃该事件 . 使用死信队列(DLQ),您可以向Lambda指出应将未处理的事件发送到Amazon SQS队列或Amazon SNS主题,您可以在其中采取进一步的操作 . 您可以通过在Amazon SNS主题的Lambda函数的DeadLetterConfig参数或要在其中传递事件有效负载的Amazon SQS队列中指定目标Amazon资源名称(ARN)来配置DLQ,如以下代码所示 . 有关创建Amazon SNS主题的更多信息,请参阅创建SNS主题 . 有关创建Amazon SQS队列的更多信息,请参阅教程:创建Amazon SQS队列 .

相关问题