Environment | |
---|---|
Services | Amazon API Gateway, Lambda, S3 |
Categories | LocalStack Pro, Init Hooks, Cloud Pods, SDK |
This repository's purpose is to back a series of examples highlighting some useful, often overseen LocalStack features. The application can be described visually with the help of the attached diagram.
The application is designed around a data model called "Quote," comprising a text and an author field. To enable interaction with this model, an API Gateway is configured with two methods: POST for saving entities and GET for retrieving them. Upon receiving a POST request, the API Gateway triggers a Lambda function responsible for saving the Quote objects. The Quotes are stored as text files in an S3 bucket, with each file named after the respective author. On the other hand, when a GET request is made, the API Gateway invokes a separate Lambda function that retrieves the Quotes from the S3 bucket based on the author's name. This architecture ensures efficient and scalable handling of Quotes while leveraging AWS Lambda's serverless capabilities to manage the application's backend logic seamlessly.
- Maven 3.8.5 & Java 17
- LocalStack
- Docker - for running LocalStack
Make sure to build the Lambda function by running the following command in the stack-bytes-apigw-lambda-s3
folder
mvn clean package shade:shade