Привет, ребята, у меня проблема с тем, что моя лямбда не может найти свои зависимости при загрузке на локальную aws лямбду, работающую на localstack.
Вот как я создаю свою лямбду
aws --endpoint-url=http://localhost:4574 lambda create-function --function-name=myFunction --runtime=java8 --role=r1 --handler=my.UpdateHandler --zip-file fileb://my-lambda-0.1.0-1540476215-64df908.zip
Вот как это выполняется
aws lambda --endpoint-url=http://localhost:4574 invoke --invocation-type RequestResponse --function-name myFunction --region eu-west-1 --payload {} out.txt
Трассировка стека выглядит следующим образом
Exception: Lambda process returned error status code: 1. Output:
Exception in thread "main" java.lang.reflect.InvocationTargetException
at sun.reflect.NativeConstructorAccessorImpl.newInstance0(Native Method)
at sun.reflect.NativeConstructorAccessorImpl.newInstance(NativeConstructorAccessorImpl.java:62)
at sun.reflect.DelegatingConstructorAccessorImpl.newInstance(DelegatingConstructorAccessorImpl.java:45)
at java.lang.reflect.Constructor.newInstance(Constructor.java:423)
at cloud.localstack.LambdaExecutor.getHandler(LambdaExecutor.java:138)
at cloud.localstack.LambdaExecutor.main(LambdaExecutor.java:52)
Caused by: java.lang.NoClassDefFoundError: com/fasterxml/jackson/databind/ObjectMapper
at my.create(Houston.java:56)
at my.UpdateHandler.<init>(UpdateHandler.java:17)
... 6 more
Caused by: java.lang.ClassNotFoundException: com.fasterxml.jackson.databind.ObjectMapper
at java.net.URLClassLoader.findClass(URLClassLoader.java:381)
at java.lang.ClassLoader.loadClass(ClassLoader.java:424)
at sun.misc.Launcher$AppClassLoader.loadClass(Launcher.java:338)
at java.lang.ClassLoader.loadClass(ClassLoader.java:357)
... 8 more
Просто отметим, что рассматриваемый класс находится внутри jar каталога lib, который также находится на верхнем уровне, как и сама лямбда.
Еще один момент, на который следует обратить внимание: запуск примера helloworld без внешних зависимостей работает нормально.
Любые указатели были бы полезны. заранее спасибо