我正在从在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);

07-27 13:35