AWS Lambda 函数可以作为后台服务调用吗?
Can AWS Lambda functions be invoked as a background service?
我是 Lambda 函数的新手,我正在使用 serverless 框架来创建它们,特别是使用 python。我正在尝试创建一个函数来对文件进行一些繁重的处理。工作类型并不重要,但每项工作可能需要几分钟才能完成。
我不希望打开一个调用请求这么久,相反我希望 Lambda 立即 return,但在 returned 之后继续处理。工作完成后,它可以使用短信等方式将处理后的文件通过电子邮件发送给我。
AWS Lambda 可以吗?
AWS Lambda 支持两种调用类型:
- 请求响应
- 事件
RequestResponse
将等到 Lambda 调用完成后再 return 响应。 Event
将调用 Lambda 函数,然后 return 一个成功状态表明该函数已成功启动。您可以阅读更多相关信息 here。
事实上,Lambda 函数“几乎”总是被异步请求。
对于您的特定用例,您可以在文件上传到 s3 时“触发”lambda(而不是以编程方式调用它)。这意味着每次将文件上传到 s3 时,都会触发 lambda 并将处理该文件。
这样,在该处理期间不会打开任何连接。该函数可以在完成后通知它。
我是 Lambda 函数的新手,我正在使用 serverless 框架来创建它们,特别是使用 python。我正在尝试创建一个函数来对文件进行一些繁重的处理。工作类型并不重要,但每项工作可能需要几分钟才能完成。
我不希望打开一个调用请求这么久,相反我希望 Lambda 立即 return,但在 returned 之后继续处理。工作完成后,它可以使用短信等方式将处理后的文件通过电子邮件发送给我。
AWS Lambda 可以吗?
AWS Lambda 支持两种调用类型:
- 请求响应
- 事件
RequestResponse
将等到 Lambda 调用完成后再 return 响应。 Event
将调用 Lambda 函数,然后 return 一个成功状态表明该函数已成功启动。您可以阅读更多相关信息 here。
事实上,Lambda 函数“几乎”总是被异步请求。
对于您的特定用例,您可以在文件上传到 s3 时“触发”lambda(而不是以编程方式调用它)。这意味着每次将文件上传到 s3 时,都会触发 lambda 并将处理该文件。
这样,在该处理期间不会打开任何连接。该函数可以在完成后通知它。