我正在从在Spark进程中运行的Java代码中调用Lambda函数。
调用失败,出现以下异常:
23:22:50,043 com.gravty.batch.process.BitProcessImpl错误-
com.amazonaws.services.lambda.invoke.LambdaSerializationException:否
LambdaFunction注释用于方法调用
有谁知道这个错误吗?
最佳答案
通过使用带有@LambdaFunction批注的接口来解决此问题。
我的lambda界面:
public interface MyLambdaService {
@LambdaFunction
ApiGatewayProxyResponse execute(ApiGatewayRequest bit);
}
这就是我创建lambda客户端的方式:
MyLambdaService lambdaService = LambdaInvokerFactory.builder().lambdaClient(AWSLambdaClientBuilder.defaultClient())
.lambdaFunctionNameResolver((method, annotation, config) -> "ENV_SPECIFIC_FUNCTION_NAME").build(MyLambdaService.class);