Currently Empty: £0.00
Have you been tinkering with Python and wondering how to elevate your projects using the powers of the AWS Cloud? Join me as I’ll show you how to leverage AWS Lambda, Python, Infrastructure as Code with AWS SAM & Application Composer. Dive into the world of serverless architectures and learn to build your very own scalable HTTP API. This course is tailor-made for you. We’ll harness services like AWS Lambda, API Gateway, DynamoDB, and Route 53 for custom domains, alongside Firebase JWT Auth for securing your HTTP API. Together, we’ll guide you through creating a URL shortener service akin to Bitly.
This course is ideal for those looking to enhance their portfolio, amplify their backend skills, or simply enjoy building innovative solutions. Embark on this journey to transform your ideas into reality, elevate your programming skills, and discover how serverless technology can make your applications more efficient, scalable, and cost-effective.
Key Topics Covered:
-
AWS Lambda: Learn to build and deploy serverless applications.
-
Python: Utilize Python in the AWS ecosystem for lambda functions.
-
Infrastructure as Code with AWS SAM: Deploy applications quickly using SAM templates.
-
Application Composer: Streamline your IAC building process.
-
DynamoDB: Implement a serverless database for your applications.
-
AWS Secrets Manager: Manage and use secrets safely in your applications.
-
Route 53 (Custom Domain): Configure custom domains for your serverless applications.
-
API Gateway HTTP API: Create efficient and scalable HTTP APIs.
-
Firebase Auth using JWT: Secure your applications with JWT-based authentication.
-
Lambda Layers: Reuse code and manage dependencies efficiently.
Python Project Setup with AWS Application Composer
Update API Gateway from REST To using HTTP API
-
4Setup Python Lambda with Application Composer (AWS SAM)
This guide outlines the initial steps for creating your first serverless API project utilizing AWS Lambda with Python and DynamoDB, leveraging Infrastructure as Code (IaC) through the AWS Serverless Application Model (SAM). Utilizing AWS SAM's Application Composer, you'll experience a streamlined, drag-and-drop interface to visually assemble your application's components. This approach simplifies the deployment and management of serverless architectures, enabling rapid development and integration of API Gateway, Lambda functions, and DynamoDB in your cloud-based applications.
-
5Setup AWS API Gateway, Python Lambda, and DynamoDB with AWS SAM Template - 2
Continue setup for creating your first serverless API project utilizing AWS Lambda with Python and DynamoDB, leveraging Infrastructure as Code (IaC) through the AWS Serverless Application Model (SAM). Utilizing AWS SAM's Application Composer, you'll experience a streamlined, drag-and-drop interface to visually assemble your application's components.
-
6Python Lambda function to Create and store Short URLs in Dynamodo - Part1
In this introductory session on crafting our URL shortener, you'll discover the capabilities of AWS Lambda with Python for performing create operations, specifically generating and saving short URLs into DynamoDB.
-
7Python Lambda function to Create and store Short URLs in Dynamodo - Part2
Complete and deploy code to AWS, at this point we will wrap up the JSON structure on how we save our data to Dynamodb
-
8Python Lambda function to Get our created URLS from Dynamodb database - Part1
Python Lambda code use boto3 library to scan DynamoDB, setup Api gateway Route for Get URL
-
9Python Lambda function to Get our created URLS from Dynamodb database - Part2
-
10Python Lambda function to Delete specific URLS form our Database
Python Lambda code, use boto3 library to delete specific record from DynamoDB table, we'll look at how we can use API Gateway path paramaters to send resource id in API path so that we can delete specific items.
Setup Redirect Python Lambda Function
-
11Update SAM Template to use HTTP API instead of REST API
Update our template manually to use Api Gateway HTTP API instead of the default REST API. This is a lot more simplified and lightweight. Allowing us to take advantage of using JWT Token to protect our API Routes later on in the course.
-
12Update URLs to use our new HTTP API Endpoint onc
Update routes with new HTTP API endpoint routes
Create Custom Domain with Route 53
-
13Setup Redirect Python Lambda Function - Part 1
-
14Setup Redirect Python Lambda Function - Part 2
-
15Setup Redirect Python Lambda Function - Part 3
-
16Update redirect lambda function to increment visits each time an URL is visited
Update code so that every request to our short urls we can track the number of visits by incrementing our clicks fields in the database.
Setup JWT Authentication for our HTTP API
-
17Create Domain and Subdomain parameters in our SAM Template
Configure Route 53 to establish a personalized domain for our API, enhancing its accessibility and user-friendliness. Create subdomain, A record and SSL cert.
-
18Create Domain and Subdomain parameters in our SAM Template - Part 2
Continue: Configure Route 53 to establish a personalized domain for our API, enhancing its accessibility and user-friendliness.
-
19Update Create URL Python Code for Custom Domain Changes
Update Create/Delete Lambda to handle dynamic stage name in API, so that code will work with custom domain or the default generated domain from API Gateway.
-
20Update Get URL API Endpoint to use Custom Domain
Update our Get function to handle an extra param for custom domain
Update Create, Get API Endpoints to authenticate with JWT Token
-
21JWT Auth Intro
-
22Firebase setup - store Firebase secrets in AWS Secret Manager
-
23Create Custom Lambda Execution Role with Permission for Secret, Dynamodb
Create a custom lambda execution role, with policies that grant permission to read,write dynamodb and and also access to read aws secrets from secret manager.
-
24Create Lambda Layer to manage AWS Secrets
-
25Signup Lambda Function - Part 1
Use firebase-admin python library to create users in firebase
-
26Signup Lambda Function - Part 2
-
27Sign up Lambda function - Add user to DynamodDB
Save created users to user table in Dynamodb
-
28Send Email With AWS SES after Signup - Part 1
Use Amazon SES to send emails when new users signup successfully.
-
29Send Email With AWS SES after Signup - Part 2
Complete Amazon SES setup.
-
30Send Email Verification Links with Firebase auth
Send email verification link when new users signup
-
31Setup Lambda function for Login
Setup a simple way to test authenticated, this API endpoint will return a JWT Token and refresh token. This is something you can continue to build on if you decide to use a custom function for authenticating users. Firebase has a great SDK for most clients that takes cares of refresh token, hence my recommendation would be to use Firebase SDK on the client side (Web/Mobile) and get the Token generated from the SDK in your production app.
-
32Complete Login Function
Complete our login Lambda Function
How long do I have access to the course materials?
You can view and review the lecture materials indefinitely, like an on-demand channel.
Can I take my courses with me wherever I go?
Definitely! If you have an internet connection, courses on Udemy are available on any device at any time. If you don't have an internet connection, some instructors also let their students download course lectures. That's up to the instructor though, so make sure you get on their good side!
Stars 5
2
Stars 4
0
Stars 3
1
Stars 2
0
Stars 1
0