Я пытаюсь создать и развернуть функцию AWS Lambda в Java, используя Micronaut, GraalVM и Docker.Я следую этому руководству , чтобы создать лямбда-версию AWS со средой выполнения GraalVM.
Я создал проект Java с помощью micronaut
command $ mn create-app my-app --features aws-api-gateway-graal
.И затем без каких-либо изменений в коде или конфигурационных файлах попробуйте создать образ Docker с собственным образом GraalVM.На этапе сборки Docker, когда создается собственный образ graalvm, я получаю следующие предупреждения:
Предупреждение: Отмена автономной сборки образа.Не допускаются экземпляры в куче образа для класса, который инициализируется или повторно инициализируется во время выполнения образа com.amazonaws.serverless.proxy.model.ContainerConfig.Попробуйте пометить этот класс для инициализации во время сборки с помощью --initialize-at-build-time = com.amazonaws.serverless.proxy.model.ContainerConfig
Detailed message:
Trace: field io.micronaut.function.aws.proxy.AbstractLambdaContainerHandler.config
Предупреждение: используйте для печати -H: + ReportExceptionStackTraces для печатитрассировка стека лежащего в основе исключения *
Предупреждение. Образ 'server' - это резервный образ, для выполнения которого требуется JDK (используйте --no-fallback для подавления генерации резервного изображения).
После сборки я экспортирую образ докера с файлом начальной загрузки в файл function.zip, как написано в руководстве.Затем я загружаю файл function.zip в свою созданную лямбда-функцию AWS, и когда я пытаюсь протестировать функцию, я получаю эту ошибку:
{ "errorType": "Runtime.ExitError",
"errorMessage": "RequestId: 888854d7-0e0e-42b4-a138-9a003c3455e1 Error: Runtime exited with error:
exit status 1"
}
START RequestId: 888854d7-0e0e-42b4-a138-9a003c3455e1 Версия: $ LATEST
Ошибка: нет bin / java и нет переменной среды JAVA_HOME
END RequestId: 888854d7-0e0e-42b4-a138-9a003c3455e1
Идентификатор запроса: 888854d7-0e0e-42b4a138-9a003c3455e1 Продолжительность: 415,09 мс Расчетная продолжительность: 500 мс Объем памяти: 128 МБ Макс. используемая память: 16 МБ
RequestId: 888854d7-0e0e-42b4-a138-9a003c3455e1 Ошибка: время выполнения завершено с ошибкой: состояние выхода 1
Runtime.ExitError
Я не знаю, что не так.Я пока не нашел решения этой проблемы.