
Get started with building Python REST APIs using FastAPI, connecting to Amazon RDS, and deploying to Elastic Beanstalk, with domain setup, SSL certificates, and JWT authentication.
Learn how non-path parameters in FastAPI are automatically treated as query parameters, and see how skip and limit control article listings via URL query strings like?skip=0&limit=20.
Create a MySQL database inside an Amazon RDS db instance using MySQL Workbench, connect with the endpoint, and name it fast api; next, models.py will create tables for fast api.
Implement token-based authentication using jwt and get current user to protect routes, decode token data, and restrict article CRUD to authorized users.
Push your fast api project to GitHub to prepare for Elastic Beanstalk deployment. Create dot eb extensions, a fast api config, and a proc file, then commit and push.
Identify and fix a health problem in Elastic Beanstalk by updating the target group's health check path, restoring the Fast API deployment to a healthy state.
Learn how to buy a domain using Amazon Route 53, understand hosted zones as a collection of records for a domain, and navigate the console to register and manage it.
Learn how to update data in a fastapi rest api by updating an article with a specific id, building the update model, and returning the updated article.
Hello Students
Welcome to Python REST API with FastAPI, Amazon RDS & Elastic Beanstalk, in this course we are going to build Python REST API with FastAPI, also we are going to learn how to integrate Amazon RDS with FastAPI and how you can deploy your Python REST API to Elastic Beanstalk, first of all let me talk about FastAPI and Elastic Beanstalk, also we will learn that how you can build Asynchronous API's with Python and FastAPI.
What is FastAPI
FastAPI is a Web framework for developing RESTful APIs in Python. FastAPI is based on Pydantic and type hints to validate, serialize, and deserialize data, and automatically auto-generate OpenAPI documents. It fully supports asynchronous programming and can run with Uvicorn and Gunicorn.
What is Amazon RDS
Amazon Relational Database Service (RDS) is a distributed relational database service by Amazon Web Services. It is a web service running "in the cloud" designed to simplify the setup, operation, and scaling of a relational database for use in applications.
What is Elastic Beanstalk
AWS Elastic Beanstalk is an orchestration service offered by Amazon Web Services for deploying applications which orchestrates various AWS services, including EC2, S3, Simple Notification Service, CloudWatch, autoscaling, and Elastic Load Balancers.
This course is divided on to different sections
1: In the first section we will have a simple introduction to FastAPI and also we are going to learn about installation process
2: In the second section we are going to learn about fundamental concepts of FastAPI, also in this section we integrate amazon RDS (Relations Database Service ) with FastAPI, at the end we deploy our Python REST API to Heroku.
3: In the third section we are going to learn about building asynchronous API's with Python and FastAPI, we will talk about user system, authorization, API router and token authentication, at the end we deploy our project to Amazon Elastic Beanstalk, after that we buy a domain name from Amazon Route53 and we add our custom domain in the Python REST API, at the end we request SSL Certificate from Amazon Certificate Manager and we secure our Python REST API.
4: in the last section we talk about Tortoise ORM (Object Relational Mapper ) and we create some examples