如何从另一个lambda函数调用AWS lambda函数,并在没有waitng的情况下返回被调用的lambda结果

时间:2017-11-17 07:26:56

标签: aws-lambda

我有两个AWS lambda java 8函数" lambda A"和" lambda B"。 " lambda A"函数调用" lambda B"功能并等到它得到" lambda B"的结果。但我想调用" lambda B"并返回" lambda A"立即运作。是否可以实现以及与之相关的任何参考链接。

1 个答案:

答案 0 :(得分:2)

使用AWS Lambda SDK for Java,您可以设置InvocationType within the InvokeRequest对象。这只会调用你的函数,但不会等待响应。

来自Javadocs:

  

默认情况下,Invoke API采用RequestResponse调用类型。您可以选择通过将Event指定为InvocationType来请求异步执行。

示例:

AWSLambda lambdaClient = AWSLambdaClientBuilder.defaultClient();
InvokeRequest request = new InvokeRequest();
request.withFunctionName(name)
       .withInvocationType(InvocationType.Event)
       .withPayload(payload);
InvokeResult result = lambdaClient.invoke(request);

另请考虑阅读thisthis问题。