AWS Lambda 调用异常 "No LambdaFunction annotation for method invoke"

AWS Lambda invoke exception "No LambdaFunction annotation for method invoke"

我正在从 Spark 进程中 运行 的 Java 代码调用 Lambda 函数。

调用失败,出现以下异常:

23:22:50,043 ERROR com.gravty.batch.process.BitProcessImpl - com.amazonaws.services.lambda.invoke.LambdaSerializationException: No LambdaFunction annotation for method invoke

有人知道这个错误吗?

通过使用带有@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);