我需要启动一个长时间运行的 AWS Lambda 作业(几分钟),将其输出写入 S3。它将用 Java 编写(实际上是 Kotlin,但这并不重要)。
我正在研究 Amazon API Gateway 作为此作业和其他 AWS Lambda 作业以及与之通信的 iOS 移动应用程序之间的接口。
是否可以直接从 API 网关或另一个 Lambda 函数异步调用此类长时间运行的 Lambda 进程?
我认为您不能直接通过 API 网关异步调用 Lambda,但您可以通过 API 从另一个 lambda 调用 lambda。在Java中,你可以使用AWSLambdaClient.invoke() http://docs.aws.amazon.com/AWSJavaSDK/latest/javadoc/com/amazonaws/services/lambda/AWSLambdaClient.html#invoke(com.amazonaws.services.lambda.model.InvokeRequest)与InvocationType
of Event
.
在长时间运行的作业中使用 Lambda 时要小心:Lambda 调用有 300 秒的严格限制。我建议在 EC2 等持久资源中使用 Lambda 调用代码,以实现长时间运行的后端进程。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)