An example repository for an article about running Spring Cloud Functions on AWS Lambda.
The article is available here: https://dzone.com/articles/run-code-with-spring-cloud-function-on-aws-lambda
Zwei Lambda-Funktionen, jeweils als Component (lowercaseFunction und uppercaseFuntion). Bei Upload als AWS-Lambda muss:
- der korrekte Function-Handler gesetzt werden (
com.morethanheroic.uppercase.handler.aws.LowercaseFunctionHandlerbzwcom.morethanheroic.uppercase.handler.aws.UppercaseFunctionHandler) - und das Property FUNCTION_NAME muss auf den Bean-Namen der Function (
lowercaseFunctionbzw.uppercaseFuntion) gesetzt werden
So kann man aus einer jar zwei Lambdas in AWS anlegen, mit unterschiedlichen Funktionen. (Bei Starten des Lambdas werden alle vorhandenen Beans initialisiert, auch die nicht benötigten -> Einschränkung ggf. sinnvoll, über @Conditional..?)
Durch Einbinden des spring-cloud-starter-function-web kann man die Anwendung lokal starten und kann auf die Funktionen zugreifen:
- Body: { "input" : "VERTrag" }
- POST http://localhost:8080/lowercaseFunction
-> {resultString": "vertrag"} - POST http://localhost:8080/uppercaseFunction
-> {result": "VERTRAG"}