如果您需要AWS lambda函数运行超过15分钟(又称为最大超时),该怎么办?

时间:2019-09-18 11:28:24

标签: python-3.x amazon-s3 amazon-ec2 aws-lambda

我在Python3.x中编写了一个lambda函数,用于压缩上传到S3存储桶的视频,然后将其转换为不同的质量。

但是,当我测试lambda函数时,我注意到我可以设置的最大超时时间是15分钟。而压缩我上传到AWS S3的测试视频需要6分钟,而又花了9分钟才将视频转换为较低质量(而且由于时间有限,第一次转换没有完成)。

我搜索并阅读了一些文章。一些建议使用AWS EC2,一些建议使用AWS SQS等。但是我并没有真正找到解决问题的方法。

您能否告诉我,还有其他方法可以代替现有的lambda函数或与之协同工作以实现相同的目的吗?或者,如果您有关于处理大型文件的AWS EC2的任何良好资源,您可以共享这些文件吗?

如果您可以编写一些视频压缩示例,那就太受欢迎了。

谢谢!

2 个答案:

答案 0 :(得分:0)

AWS Batch是您的用例的理想选择。它可以使您的作业排队,并在可用的计算资源(EC2)上运行它们。您还可以将EC2竞价型实例指定为您的计算资源,以节省成本。您的Lambda函数将必须转换为Docker映像,因为AWS Batch仅接受Docker映像。

您可以参考此link以获得更多详细信息。

答案 1 :(得分:0)

首先,您应该考虑使用Elastic TranscoderAWS Elemental MediaConvert

作为对问题的答案,总是最好创建较小的Lambda函数,并使用AWS Step Functions对其进行协调以创建工作流程。