使用AWS Lambda批量处理文件的超时问题

时间:2019-09-23 04:58:00

标签: amazon-web-services amazon-s3 aws-lambda

我有一个lambda函数,预计执行时间将超过15分钟。我该怎么办,它将继续运行直到我处理完所有文件?

2 个答案:

答案 0 :(得分:2)

如果可以,请找出如何水平扩展工作量。这意味着将您的工作负载拆分为可以在许多lambda而不是一个“超级” lambda上运行。您没有提供很多详细信息,所以我将列出几种常用的方法:

  • 创建一个SQS队列,每个lambda将从队列中取出一个项目并对其进行处理。
  • 使用S3触发器,以便在将新文件添加到存储桶时,lambda会处理该文件。

如果您绝对需要处理超过15分钟的时间,则可以研究AWS Fargate之类的其他无服务器技术。非无服务器选项可能包括AWS Batch或运行EC2。

答案 1 :(得分:1)

15分钟是AWS Lambda函数可用的最大执行时间。

如果您的处理需要花费更多,则应将其分解为多个lambda。您可以根据执行逻辑顺序或并行触发它们。