두 개의 AWS lambda java 8 함수 "lambda A"와 "lambda B"가 있습니다. "lambda A"함수는 "lambda B"함수를 호출하고 "lambda B"의 결과를 얻을 때까지 기다립니다. 하지만 "lambda B"를 호출하고 "lambda A"함수를 즉시 반환하려고합니다. 그것과 관련된 모든 참조 링크를 구현할 수 있습니까?다른 lamda 함수에서 AWS lamda 함수를 호출하고 호출 된 lambda 결과를 waitng없이 return하는 방법
0
A
답변
2
Java 용 AWS Lambda SDK를 사용하면 InvocationType within the InvokeRequest 개체를 설정할 수 있습니다. 이렇게하면 함수가 호출되지만 응답을 기다리지는 않습니다. javadoc의에서
: 기본적으로
는 호출 API는 RequestResponse 호출 유형을 가정합니다. InvocationType으로 Event를 지정하여 선택적으로 비동기 실행을 요청할 수 있습니다.
예 :
AWSLambda lambdaClient = AWSLambdaClientBuilder.defaultClient();
InvokeRequest request = new InvokeRequest();
request.withFunctionName(name)
.withInvocationType(InvocationType.Event)
.withPayload(payload);
InvokeResult result = lambdaClient.invoke(request);
설명해 주셔서 감사합니다. 호출 줄 옆에 "return"을 쓰면 나를 명확히 해 주실 수 있습니까? 그것은 람다 B 함수를 성공적으로 호출 할 것이고 호출 결과를 기다리지 않고 즉시 리턴 될 것입니다. –
다음과 같은 내용을 가정합니다 : 'InvokeResult result = lambdaClient.invoke (request); 돌아왔다 ...; '? 이것은 단지 함수를 호출 할 것이고, 호출 된 응답을 얻고 원하는 것을 반환 할 수 있습니다. [여기] (http://docs.aws.amazon.com/lambda/latest/dg/API_Invoke.html)도 참조하십시오. –