【问题标题】:Can AWS Lambda functions be invoked as a background service?AWS Lambda 函数可以作为后台服务调用吗?
【发布时间】:2020-06-21 22:31:59
【问题描述】:

我是 Lambda 函数的新手,我正在使用 serverless 框架来创建它们,特别是使用 python。我正在尝试创建一个对文件进行大量处理的函数。工作类型并不重要,但每项工作可能需要几分钟才能完成。

我不希望调用请求打开这么长时间,而是希望 Lambda 立即返回,但在返回后继续处理。工作完成后,它可以使用 SMS 将处理后的文件通过电子邮件发送给我。

这可以通过 AWS Lambda 实现吗?

【问题讨论】:

    标签: amazon-web-services aws-lambda serverless-framework


    【解决方案1】:

    AWS Lambda 支持两种调用类型:

    • 请求响应
    • 事件

    RequestResponse 将等到 Lambda 调用完成后再返回响应。 Event 将调用 Lambda 函数,然后返回一个成功状态,表明该函数已成功启动。你可以阅读更多关于这个here的信息。

    【讨论】:

      【解决方案2】:

      事实上,Lambda 函数“几乎”总是异步请求。

      对于您的特定用例,您可以让 lambda 在文件上传到 s3 时被“触发”(而不是以编程方式调用它)。这意味着每次将文件上传到 s3 时,都会触发 lambda 并处理该文件。

      这样,在处理期间不会打开任何连接。该函数可以在完成后通知它。

      【讨论】:

        猜你喜欢
        • 2015-10-21
        • 2021-01-07
        • 2019-06-05
        • 2020-03-09
        • 1970-01-01
        • 2018-06-30
        • 2020-12-23
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多