This project represents hands on study, based on the course 'Build a Serverless App' with AWS Lambda' by Sundog Education.
The main goal of this project is to get some hands on experience on AWS.
This is a chat app where users can login/signup and open conversation with another users. The solution is based on AWS servless services.
- Create bucket and apply permissions to it.
- Upload and modify bucket's objects.
- Create Lambda functions
- using javascript
- Attach a role to functions
- Create custom tests to validate the lamda function
- Create alias to functions
- using alias approach you can 'decouple' some specific version while you're configuring the lambda on API gateway.
- Create versions to functions
- versions are important to not affect your stable production stage while you're modifying and validating some logic.
- Lambda triggers
- Create custom policies and roles
- Policies and roles are super important to ensure a secure access to AWS resources.
- Apply roles to AWS resources,
- Work using proxy mode
- Work using mapping mode
- Resources and methods
- Models
- attach models to methods executions
- Deploy using Stages
- create and use stages variables to decouple api gateway from client/implementation
- Request flow
- (client) -> method request -> integration request -> (logic tier)
- method request:
- It's where you can authorize, validate, cache
- input: request path variables, query string params, request headers, request body
- integration request:
- receive incoming request and send it to destination
- you can passthrough, remap
- Response flow:
- (client) <- method response <- integration response <- (logic tier)
- method response: response definitions
- integration response: response mapping, status code mapping
- Export client (sdk generation)
- Export documentation (Swagger/OpenAPI)
- Create and configure 'user pools'
- Integrate cognito with API Gateway using 'Authorization' header
- Create table, indexes
- Create, read, update, delete itens to tables
- How to use CloudFront to exposes S3 objects more efficiently across the globe
- Config cache time to live (TTL)
- Invalidate cache/object
- How to use CloudWatch to monitor metrics, alarms and logs.
- Use a custom domain and Amazon Route 53.
- Config API Gateway to use custom domain