如何从Java代码调用AWS lambda函数/处理程序

我是AWS Lambda的新手,我已使用处理程序创建了Lambda函数

example.Orders::orderHandler

这是自定义处理程序,现在我想从我的Java程序中调用它,我需要如何做。

回答:

此类中的2种方法应该可以为您提供帮助。一种是用于需要传递有效负载的情况,另一种是用于有效负载为null的情况。

但是,您需要记住一件事:函数名称可能与处理程序不同(后者在example.Orders::orderHandler)。调用其功能时

使用该处理程序名称。

因此,如果您有一个 “ myFunction” 的 在后台调用您的example.Orders::orderHandler

,那么您将在下面的run方法中传递该 。

import com.amazonaws.regions.Regions;

import com.amazonaws.services.lambda.AWSLambdaAsyncClient;

import com.amazonaws.services.lambda.model.InvokeRequest;

import com.amazonaws.services.lambda.model.InvokeResult;

class LambdaInvoker {

public void runWithoutPayload(String region, String functionName) {

runWithPayload(region, functionName, null);

}

public void runWithPayload(String region, String functionName, String payload) {

AWSLambdaAsyncClient client = new AWSLambdaAsyncClient();

client.withRegion(Regions.fromName(region));

InvokeRequest request = new InvokeRequest();

request.withFunctionName(functionName).withPayload(payload);

InvokeResult invoke = client.invoke(request);

System.out.println("Result invoking " + functionName + ": " + invoke);

}

}

以上是 如何从Java代码调用AWS lambda函数/处理程序 的全部内容, 来源链接: utcz.com/qa/403922.html

回到顶部