У меня есть приложение, разработанное в SpringBoot и развернутое в AWS Environment. При попытке проверить лямбда-функцию AWS на лямбда-консоли AWS через Configure Test Events появляется следующее сообщение об ошибке.При проверке журналов CloudWatch существует исключение UnknownHostException, связанное с БД.Но во время сборки все тестовые случаи работают нормально и заполняют базу данных в среде.Но это не работает и выдает ошибку при запуске из Lambda Console.
{
"statusCode": 502,
"multiValueHeaders": {
"Content-Type": [
"application/json"
]
},
"body": "{\"message\":\"Gateway timeout\"}",
"base64Encoded": false
}
Вход в Cloud Watch
at lambdainternal.LambdaRTEntry.main(LambdaRTEntry.java:114) [LambdaJavaRTEntry-1.0.jar:?]
java.lang.NullPointerException
at com.amazonaws.serverless.proxy.internal.servlet.AwsProxyHttpServletRequestReader.readRequest(AwsProxyHttpServletRequestReader.java:48)
at com.amazonaws.serverless.proxy.internal.servlet.AwsProxyHttpServletRequestReader.readRequest(AwsProxyHttpServletRequestReader.java:28)
at com.amazonaws.serverless.proxy.internal.LambdaContainerHandler.proxy(LambdaContainerHandler.java:174)
Вот мой код LambdaHandler,
public class LambdaHandler implements RequestHandler<AwsProxyRequest, AwsProxyResponse> {
private static SpringBootLambdaContainerHandler<AwsProxyRequest, AwsProxyResponse> handler;
static {
try {
handler = SpringBootLambdaContainerHandler.getAwsProxyHandler(SpringBootApplication.class);
} catch (ContainerInitializationException e) {
// if we fail here. We re-throw the exception to force another cold start
e.printStackTrace();
throw new RuntimeException("Could not initialize Spring Boot Application", e);
}
}
@Override
public AwsProxyResponse handleRequest(AwsProxyRequest awsProxyRequest, Context context) {
return handler.proxy(awsProxyRequest, context);
}
}
Вот код класса приложения
public class SpringBootApplication {
public static void main(String[] args) {
SpringApplication.run(SpringBootApplication.class, args);
}
}