{"statusCode": 502, "multiValueHeaders": {"Content-Type": ["application / json"]} Ошибка в лямбда-консоли AWS - PullRequest
0 голосов
/ 20 сентября 2019

У меня есть приложение, разработанное в 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);
        }

}
...