我是AWS lambda的新手我已经使用handler创建了一个lambda函数
example.Orders::orderHandler
这是自定义处理程序,现在我想从我的Java程序中调用它,我该怎么做呢.
这个课程中的2个方法应该能够帮到你.一个用于是否需要传入有效负载,另一个用于有效负载为空.
但是,您需要记住一件事:函数名称可能与处理程序不同(后者在这里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); } }