【问题标题】:What to do when you need AWS lambda function to run more than 15 minutes, aka the max timeout?当您需要 AWS lambda 函数运行超过 15 分钟(即最大超时)时该怎么办?
【发布时间】:2020-01-19 08:23:20
【问题描述】:

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

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

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

您能否告诉我是否有其他方法可以替代现有的 lambda 函数或与它一起工作以实现相同的目的?或者,如果您有任何关于 AWS EC2 处理大文件的好资源,您能分享一下吗?

如果你能写一些视频压缩的例子,那就太受欢迎了。

谢谢!

【问题讨论】:

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


    【解决方案1】:

    AWS Batch 是您使用案例的完美替代品。它可以将您的作业排队并在可用的计算资源 (EC2) 上运行它们。您还可以将 EC2 现货实例指定为您的计算资源,以实现经济高效的使用。您的 Lambda 函数必须转换为 Docker 映像,因为 AWS Batch 仅接受 Docker 映像。

    您可以参考此link 了解更多详情。

    【讨论】:

      【解决方案2】:

      首先,您应该考虑在您的情况下使用Elastic TranscoderAWS Elemental MediaConvert

      作为对您的问题的回答,创建较小的 Lambda 函数并使用 AWS Step Functions 协调它们以创建工作流总是更好。

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 2018-09-29
        • 1970-01-01
        • 1970-01-01
        • 2021-01-07
        • 2017-07-22
        • 1970-01-01
        • 2021-10-17
        相关资源
        最近更新 更多