Hey this tutorial got me up and running using the new Lambda Function URLs so I could skip the API Gateway section. Love how I can test locally and same code deploys to the cloud. Legend!
I've just created my AWS account and had absolutely no idea how to navigate the console. Your tutorial saved my day (or week). BTW... the video quality is 😎🚀
Fantastic video! You did a fantastic job making it followable quickly without too much details but while at the same time helping the viewer understand what each step is doing. I forward this video to every person I need to get ramped up on deploying FastAPI to Lambda!
I am waiting for another series when the application connects with the database from AWS lambda, hope to see that soon. And, btw this video is great, liked.
That was a really good tutorial, thanks for that! Would be cool to see how the process of updating the api would look like (from some local change to redeploy). Good job!
Despite that this is about Serverless, this is the best intodaction in fastapi that I have seen, everything is adequate, structuring, clearly, tell me where to read about such structurization? and it would not be necessary to make endpoints, folders for user, and there let's make the endpoints file and then collect everything in the endpoints file? Well, let's say user can have models, and so on!
What are the benefits / challenges of running another web framework inside lambda to handle routing vs when routing could be achieved through api gateway
Hi Sean, very nice tutorial. I have been looking up the internet on how to run my Flask/FastAPI application on Lambda lately and this tutorial clears many doubts. Until now, it's clear that I don't need multiple Lambdas to map to each endpoint of my API server. Still, I have couple doubts still in my mind related to Serverless/Lambda and FastAPI. I'll go ahead and ask it out. 1. Lambda responds to the endpoint it receives. Is the FastAPI server always running in the background? Or does it starts every time the function is invoked? 2. How does Lambda in this case handles global state? This question again is where Lambda always keeps running the FastAPI server or starts when invoked.
It's just invoking a handler, lambda doesn't start uvicorn and mangum is needed to convert incoming "event" from lambda to something FastApi can understand
Great tutorial thanks. But what about the 30sec and 6MB data limit for a Lambda function? If you have long-running functions or need to return huge datasets, this won't work, right? To solve the 6MB limit you'd have to implement streaming using AWS Lambda Streaming (Lambda InvokeWithResponseStream API) using the Lambda Web Adapter. That would be a good tutorial!
now comes the question... for real and high scalable application, would you really link your API gateway with a lambda considering the cost will be way higher than running uvicorn in a regular ECS or EC2?
At the end of the tutorial is really great but would be a bit better if you show us why are you doing what you are doing basically specially for those who’s new to Amazon AWS in general but I guess you assuming someone who knows enough Ans just want things up Ans running maybe
Thanks for the watch. The big benefit is the savings on cost. With Lambdas you only pay for each request instead of paying for having an EC2 instance constantly running.
@@deadbearcode but Lambda functions have 2 restrictions: 30 second timeout and a 6MB data return limit. So this solution doesn't work for all use cases.
Isn't the point of lambdas server less that you don't need flask or fastapi? Is so you can develop locally in fast API and then deploy into lambdas? And Why do we need gateway? (Most of the time we do the app. Put Into a docker container and ecr) Super thanks for this tutorial :) the other way I have done is not a fast API is just a file with a function and I pointed the handler of lambda to that file/function inside the ZIP file
Can you comment on the costs this type of deployment incurs? If I leave a connection open or am waiting for a backend function to return, am I gonna have a big bill waiting? Lambda is all about quick, small invocations right? Is there a safety measure worked in that addresses this?
I have seen that they were puting uri routes inside of API gateway... here we used only one, defining routes within Lambda, just wandering which way is better?
Good tutorial. But Rest API has a time out of 30 seconds. What should I do if my lambda takes more than 30 seconds to fetch some data like read data from a huge dynamodb table. Lambda has 15 min timeout but the api will timeout. How do we fix this. Please create a tutorial for this scenario.
Thank you so much for this awesome tutorial! I just had one question. Suppose I'm trying to get the data from my dynamoDB table using this FastAPI-Lambda function. What should I do next? Instead of receiving just the messages, I would like to invoke the data.
Glad you liked it! There is a great AWS SDK for Python called Boto3. You can use Boto3 to interact with just about any AWS resource with Python. Here is an AWS walkthrough: docs.aws.amazon.com/amazondynamodb/latest/developerguide/GettingStarted.Python.html and here are the Boto3 docs: boto3.amazonaws.com/v1/documentation/api/latest/index.html
Thank you! Really nice that you're using tools like FastAPI. I'd like to see how to deploy a python selenium script (web scraper) on AWS Lambda. I really want to schedule my python (selenium) scripts but don't know how. Also, cron jobs somehow don't work for me on my own MacOS and I'd like to deploy on it on a remote server. I'd really love to see that. Keep the good work up! PS: Is there a way for under 18 y/o to get access to AWS?
That's an interesting one! I haven't messed with Selenium much I may have to look into it. Lambdas are great for cron jobs you can pretty easily configure them to run when you want.
That was quick, just a question. Lambda vs Nginx and PM2 Does it matter on which platform we want to host? Like is there could be any speed differences or anything else?
hi thanks for sharing good tutorial can I ask one thing? "errorMessage": "Unable to import module 'app.main': No module named 'fastapi'", "errorType": "Runtime.ImportModuleError", "stackTrace": [] I have this error message after I run the proxy test. how can I solve it?
No, I haven't been able to look into that yet. Let me know if you figure something out! Is there a particular issue you're running into with the file size?
Happiness - Finding such quality content.
Sadness - Last uploaded video was 3 months ago.
Lol, sorry! I'm working on making more videos. I have been busy with work lately. But I'm working on it! Thanks for watching!
When this video started I was about to skip it I thought it's Ad. The Quality is just super super great (Y) Thanks man
Man that's awesome! Thanks so much for the support!
Completely agree... one making video would be good.. so that we can learn how to create good content
I could be open to that 🤔 Maybe on a different channel.
I usually don't subscrib to youtube... and here just subscribed in first 20 - 30 seconds.
🤯🤗
Hey this tutorial got me up and running using the new Lambda Function URLs so I could skip the API Gateway section. Love how I can test locally and same code deploys to the cloud. Legend!
I've just created my AWS account and had absolutely no idea how to navigate the console. Your tutorial saved my day (or week). BTW... the video quality is 😎🚀
So glad to hear! The console is definitely a little overwhelming at first lol. Thanks!
This was a great walkthrough of FastAPI and AWS Lambda integration. Loved it. Congrats you have just earned a new subscriber!
Glad you liked it! Thanks for subscribing!
This is a really super fun and simple AWS Lambda with Python and FastAPI tutorial. Thanks Man :D
Awesome glad you enjoyed it! Thanks for wstching :)
Fantastic video! You did a fantastic job making it followable quickly without too much details but while at the same time helping the viewer understand what each step is doing. I forward this video to every person I need to get ramped up on deploying FastAPI to Lambda!
awesome! very helpful info on that apirouter for keeping things organized/scalable
Great tutorial! Got me up and running as a total AWS noob in a couple of hours. Well done!
Thank you! AWS can be pretty overwhelming at times so i’m happy to hear it helped!
I am waiting for another series when the application connects with the database from AWS lambda, hope to see that soon.
And, btw this video is great, liked.
Hey thanks for watching and the like! I have one like that in the works!
That was a really good tutorial, thanks for that! Would be cool to see how the process of updating the api would look like (from some local change to redeploy). Good job!
Heres a walkthrough of setting up a cicd pipeline for it! ua-cam.com/video/aTYhOTBK2kE/v-deo.html
@@deadbearcode reading my mind! That's a subscribe sir :)
Awesome!
Superb tutorial. Looking forward to more high quality videos. Cheers!
Thanks! I’m Working on some more stuff!
This is Great ! Do share some FastAPI tutorials
Awesome glad you liked it! I’m planning on it!
Great tutorial and video production quality. Hope to see more from you.
Wow! Thanks so much!
Quality content!
Keep it up bro
Thanks! Will do!
Despite that this is about Serverless, this is the best intodaction in fastapi that I have seen, everything is adequate, structuring, clearly, tell me where to read about such structurization? and it would not be necessary to make endpoints, folders for user, and there let's make the endpoints file and then collect everything in the endpoints file? Well, let's say user can have models, and so on!
Loved your tutorial!
🙌 Awesome!
What are the benefits / challenges of running another web framework inside lambda to handle routing vs when routing could be achieved through api gateway
very detailed and easy to follow. thank you!
Underrated content
Thanks! i appreciate the watch!
This is absolutely brilliant! Subscribed for more :D
Thanks!
Thank you so much! Great video.
Thanks for watching!
Whats the advantage of using Lambda with FastAPI instead of defining endpoints in Python directly within Lambda?
Great tutorial! Thank you!
Please can you create more tutorials for FastAPI :)
Thank you! They are in the works!
Thank you so much, you are amazing !
Hi Sean, very nice tutorial. I have been looking up the internet on how to run my Flask/FastAPI application on Lambda lately and this tutorial clears many doubts.
Until now, it's clear that I don't need multiple Lambdas to map to each endpoint of my API server. Still, I have couple doubts still in my mind related to Serverless/Lambda and FastAPI. I'll go ahead and ask it out.
1. Lambda responds to the endpoint it receives. Is the FastAPI server always running in the background? Or does it starts every time the function is invoked?
2. How does Lambda in this case handles global state? This question again is where Lambda always keeps running the FastAPI server or starts when invoked.
It's just invoking a handler, lambda doesn't start uvicorn and mangum is needed to convert incoming "event" from lambda to something FastApi can understand
Great tutorial thanks. But what about the 30sec and 6MB data limit for a Lambda function? If you have long-running functions or need to return huge datasets, this won't work, right? To solve the 6MB limit you'd have to implement streaming using AWS Lambda Streaming (Lambda InvokeWithResponseStream API) using the Lambda Web Adapter. That would be a good tutorial!
/docs link doesn't work when deployed through api gateway. Any solutions for that?
Nice vid, but what is the point of FastAPI, doesnt the lambda spin up for each route request? Making it essentially synchronous?
interesting quiestion, +
+1
Well described.
You saved my ass. Thank you sir
Haha awesome!
It's less hassle with AWS Chalice framework
5:58 the routers reminds me with flask blueprints
now comes the question... for real and high scalable application, would you really link your API gateway with a lambda considering the cost will be way higher than running uvicorn in a regular ECS or EC2?
At the end of the tutorial is really great but would be a bit better if you show us why are you doing what you are doing basically specially for those who’s new to Amazon AWS in general but I guess you assuming someone who knows enough Ans just want things up Ans running maybe
Thanks for the watch. The big benefit is the savings on cost. With Lambdas you only pay for each request instead of paying for having an EC2 instance constantly running.
@@deadbearcode but Lambda functions have 2 restrictions: 30 second timeout and a 6MB data return limit. So this solution doesn't work for all use cases.
Isn't the point of lambdas server less that you don't need flask or fastapi? Is so you can develop locally in fast API and then deploy into lambdas? And Why do we need gateway? (Most of the time we do the app. Put Into a docker container and ecr) Super thanks for this tutorial :) the other way I have done is not a fast API is just a file with a function and I pointed the handler of lambda to that file/function inside the ZIP file
Can you comment on the costs this type of deployment incurs? If I leave a connection open or am waiting for a backend function to return, am I gonna have a big bill waiting? Lambda is all about quick, small invocations right? Is there a safety measure worked in that addresses this?
Please anyone have idea while testing the fastapi on aws lambda I am getting module not found due to tkinter.?
Cool Video, thanks a lot, just want to know if we update our code, then do we need to follow all the steps from zip till upload?
I have seen that they were puting uri routes inside of API gateway... here we used only one, defining routes within Lambda, just wandering which way is better?
Nice video . upload more videos please
Thanks! Working on more vids!
Good tutorial. But
Rest API has a time out of 30 seconds. What should I do if my lambda takes more than 30 seconds to fetch some data like read data from a huge dynamodb table.
Lambda has 15 min timeout but the api will timeout.
How do we fix this. Please create a tutorial for this scenario.
The actual lambda implementation starts at 8:08
I have quite many libraries in my python venv. As such my zip file exceeds the lambda deployment size limit :( Any workaround for this?
How it will work when 2 simultaneous requests arrived ? Any benefits from async/await and eventloop ?
Thank you so much for this awesome tutorial! I just had one question. Suppose I'm trying to get the data from my dynamoDB table using this FastAPI-Lambda function. What should I do next? Instead of receiving just the messages, I would like to invoke the data.
Glad you liked it! There is a great AWS SDK for Python called Boto3. You can use Boto3 to interact with just about any AWS resource with Python.
Here is an AWS walkthrough:
docs.aws.amazon.com/amazondynamodb/latest/developerguide/GettingStarted.Python.html
and here are the Boto3 docs:
boto3.amazonaws.com/v1/documentation/api/latest/index.html
@@deadbearcode Thank you so much for your help man! God bless you.
Thank you! Really nice that you're using tools like FastAPI.
I'd like to see how to deploy a python selenium script (web scraper) on AWS Lambda. I really want to schedule my python (selenium) scripts but don't know how. Also, cron jobs somehow don't work for me on my own MacOS and I'd like to deploy on it on a remote server.
I'd really love to see that. Keep the good work up!
PS: Is there a way for under 18 y/o to get access to AWS?
That's an interesting one! I haven't messed with Selenium much I may have to look into it. Lambdas are great for cron jobs you can pretty easily configure them to run when you want.
That was quick, just a question.
Lambda vs Nginx and PM2
Does it matter on which platform we want to host? Like is there could be any speed differences or anything else?
POST Method is Forbidden 403!!
hi thanks for sharing good tutorial
can I ask one thing?
"errorMessage": "Unable to import module 'app.main': No module named 'fastapi'",
"errorType": "Runtime.ImportModuleError",
"stackTrace": []
I have this error message after I run the proxy test.
how can I solve it?
same error for me aswell . Did you figure it out ?
Whythere are so much folders such as api/api_v1/blabla?
It's a rare case IRL, it may confuse the beginners.
How do you see the logs once you app is up on a lambda?
great stuff - curious if you looked into getting .zip size smaller? - its hitting about 10MB for me :(
No, I haven't been able to look into that yet. Let me know if you figure something out! Is there a particular issue you're running into with the file size?
Mine is hitting 30MB without much other dependencies
Hey!
I am not able to access the fastapi docs using this method. It says
fetcherror "undefined/openapi.json"
How can I enable that?
Were you able to figure this out? I am still strugging to find a solution
Is that your dog whimpering in the background?
Haha! Yeah he was a puppy at the time. Although he still whimpers
The music is irritating .... it distracts our attention.