In this Lab I'm testing Apache Camel embedded in an AWS Lambda Function
- How Apache Camel and Spring fit into an AWS Lambda
- Instances Tracking and Monitoring
- Check whether it is possible to track/monitor the instances, taking into account that Lambdas are serverless and ephemeral (no EC2 instance is required)
- Performance and starting time, due to the Lambda's restriction of 15 minutes of life
The Lambda Function is triggered when a new file is dropped in a specific S3 folder. As an input parameter, we define an S3 Event (not the file content itself). Then, the file is retrieved and passed to Camel using the "direct" transport. Camel unmarshalls the XML file and builds a JSON representation of it which is returned to the Lambda Function, which produces it as output.
git clone https://github.com/garciapau/LambdaRidingCamel.git
cd LambdaRidingCamel
mvn package shade:shade
Create an AWS Lambda Function and add the jar located in the "target" folder
Attach that Lambda Function to an S3 Event of type ObjectCreatedByPut (under Triggers tab)