我正在从 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注释的接口(interface)解决了这个问题。
我的 lambda 接口(interface):
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);
关于java - AWS Lambda 调用异常 "No LambdaFunction annotation for method invoke",我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/47257212/