MICRONAUT_FUNCTION_NAME Environment variables is not working in AWS lambda

487 Views Asked by At

I want to write multiple function inside our app so instead of putting config in application.yml I use MICRONAUT_FUNCTION_NAME environment variable in AWS lambda but I keep receiving the error

No function found for name: xxx: java.lang.IllegalStateException
java.lang.IllegalStateException: No function found for name: xxx
    at io.micronaut.function.executor.AbstractExecutor.lambda$resolveFunction$0(AbstractExecutor.java:60)
    at java.util.Optional.orElseThrow(Optional.java:290)
    at io.micronaut.function.executor.AbstractExecutor.resolveFunction(AbstractExecutor.java:60)
    at io.micronaut.function.executor.StreamFunctionExecutor.execute(StreamFunctionExecutor.java:89)
    at io.micronaut.function.aws.MicronautRequestStreamHandler.handleRequest(MicronautRequestStreamHandler.java:54)

Do anyone know what did I miss or it's not possible for multiple functions?

2

There are 2 best solutions below

0
On

This happens because I use Micronaut version 1.3.3. If I downgrade to 1.2.11, it works perfectly.

0
On

You can use io.micronaut:micronaut-function-aws:1.4.0 with micronaut version 1.3.3.