Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/python-3.x/17.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Amazon web services 我可以通过Amazon API网关异步启动长期运行的AWS Lambda进程吗?_Amazon Web Services_Aws Lambda_Aws Api Gateway - Fatal编程技术网

Amazon web services 我可以通过Amazon API网关异步启动长期运行的AWS Lambda进程吗?

Amazon web services 我可以通过Amazon API网关异步启动长期运行的AWS Lambda进程吗?,amazon-web-services,aws-lambda,aws-api-gateway,Amazon Web Services,Aws Lambda,Aws Api Gateway,我需要启动一个长时间运行的AWS Lambda作业(几分钟),将其输出写入S3。它将用Java编写(实际上是Kotlin,但这不重要) 我正在研究AmazonAPI网关,它是这个和其他AWS Lambda作业以及与之对话的iOS移动应用程序之间的接口 可以直接从API网关或从另一个Lambda函数异步调用此类长时间运行的Lambda进程吗?我不认为可以直接通过API网关异步调用Lambda,但可以通过API从另一个Lambda调用Lambda。在Java中,您将使用事件的调用类型 在长时间运行的

我需要启动一个长时间运行的AWS Lambda作业(几分钟),将其输出写入S3。它将用Java编写(实际上是Kotlin,但这不重要)

我正在研究AmazonAPI网关,它是这个和其他AWS Lambda作业以及与之对话的iOS移动应用程序之间的接口


可以直接从API网关或从另一个Lambda函数异步调用此类长时间运行的Lambda进程吗?

我不认为可以直接通过API网关异步调用Lambda,但可以通过API从另一个Lambda调用Lambda。在Java中,您将使用
事件的
调用类型


在长时间运行的作业中使用Lambda时要小心:Lambda调用有300秒的严格限制。我建议在持久性资源(如EC2)中使用Lambda invoke代码,用于长时间运行的后端进程。

API网关支持这种情况,但您无法从控制台设置集成。为此,必须使用CLI工具或SDK

这里有一个提示可以引导你去那里

aws apigateway put-integration \
    --rest-api-id <value> \
    --resource-id <value> \
    --http-method POST \
    --type AWS \
    --integration-http-method POST \
    --uri arn:aws:apigateway:us-east-1:lambda:path/2015-03-31/functions/arn:aws:lambda:us-east-1:123456789012:function:Hello_World/invocations?Qualifier=$LATEST \
    --credentials arn:aws:iam::123456789012:role/lambda \
    --request-parameters integration.request.header.X-Amz-Invocation-Type='Event'
aws APIP网关集成\ --RESTAPI id\ --资源id\ --http方法POST\ --AWS型\ --集成http方法POST\ --uri-arn:aws:apigateway:us-east-1:lambda:path/2015-03-31/functions/arn:aws:lambda:us-east-1:123456789012:function:Hello\u World/invocations?限定符=$LATEST\ --凭证arn:aws:iam::123456789012:role/lambda\ --请求参数integration.request.header.X-Amz-Invocation-Type='Event'