In this tutorial, you'll learn how to build and deploy a CRUD application (a "To-Do List" API) using Python, FastAPI and AWS. The application will be hosted serverlessly on the cloud, and will persist "to-do" (task) data for different users. We'll also write integration tests for our API using PyTest.
🛠 Essential Links
🔗 Code: https://github.com/pixegami/todo-list-api
📚 Resources
🔗 AWS: https://aws.amazon.com
🔗 AWS CLI: https://aws.amazon.com/cli
🔗 AWS CDK: https://docs.aws.amazon.com/cdk/v2/guide/home.html
🔗 Boto3 (Python AWS SDK): https://boto3.amazonaws.com/v1/documentation/api/latest/index.html
💡 Related Videos
FastAPI with AWS Lambda: https://youtu.be/RGIM4JfsSk0
Using AWS Lambda with DynamoDB: https://youtu.be/CjVPMocEECM
PyTest Tutorial: https://youtu.be/YbpKMIUjvK8
📽 Chapters
00:00 CRUD app architecture
01:40 What are we building?
03:13 Infrastructure with AWS CDK
05:45 Creating the DynamoDB table
09:56 Create the AWS Lambda function
14:09 Creating a Lambda function URL
16:04 Deploying our CDK infrastructure
18:52 Python FastAPI application code
20:44 Package our Python dependencies for Lambda
24:49 Implement CRUD operations
36:45 Testing our CRUD API by hand
38:37 Writing integration tests with PyTest
43:22 Wrapping up
📷 Image by starline on Freepik
#fastapi #aws