Integrate your REST API with AWS Services using API Gateway Service Proxy

Поділитися
Вставка
  • Опубліковано 14 лип 2024
  • In this video, learn how to set up an API Gateway endpoint that directly interacts with DynamoDB WITHOUT a Lambda function! Previously, developers would typically set up a API Gatweway with a Lambda function that can would call DynamoDB endpoints. If you have a simple use case to insert/update/delete data, this can now be accomplished WITHOUT a lambda! Learn how it works and how to set it up in this video.
    Looking to get hands on experience building on AWS with a REAL project? Check out my course - The AWS Learning Accelerator! courses.beabetterdev.com/cour...
    📚 MY RECOMMENDED READING LIST FOR SOFTWARE DEVELOPERS📚
    Clean Code - amzn.to/37T7xdP
    Clean Architecture - amzn.to/3sCEGCe
    Head First Design Patterns - amzn.to/37WXAMy
    Domain Driver Design - amzn.to/3aWSW2W
    Code Complete - amzn.to/3ksQDrB
    The Pragmatic Programmer - amzn.to/3uH4kaQ
    Algorithms - amzn.to/3syvyP5
    Working Effectively with Legacy Code - amzn.to/3kvMza7
    Refactoring - amzn.to/3r6FQ8U
    🎙 MY RECORDING EQUIPMENT 🎙
    Shure SM58 Microphone - amzn.to/3r5Hrf9
    Behringer UM2 Audio Interface - amzn.to/2MuEllM
    XLR Cable - amzn.to/3uGyZFx
    Acoustic Sound Absorbing Foam Panels - amzn.to/3ktIrY6
    Desk Microphone Mount - amzn.to/3qXMVIO
    Logitech C920s Webcam - amzn.to/303zGu9
    Fujilm XS10 Camera - amzn.to/3uGa30E
    Fujifilm XF 35mm F2 Lens - amzn.to/3rentPe
    Neewer 2 Piece Studio Lights - amzn.to/3uyoa8p
    💻 MY DESKTOP EQUIPMENT 💻
    Dell 34 inch Ultrawide Monitor - amzn.to/2NJwph6
    Autonomous ErgoChair 2 - bit.ly/2YzomEm
    Autonomous SmartDesk 2 Standing Desk - bit.ly/2YzomEm
    MX Master 3 Productivity Mouse - amzn.to/3aYwKVZ
    Das Keyboard Prime 13 MX Brown Mechanical- amzn.to/3uH6VBF
    Veikk A15 Drawing Tablet - amzn.to/3uBRWsN
    🌎 Find me here:
    Twitter - / beabetterdevv
    Instagram - / beabetterdevv
    Patreon - Donations help fund additional content - / beabetterdev
    #APIGateway
    #ServiceProxy
    #AWS
    #DynamoDB
    #AWS

КОМЕНТАРІ • 92

  • @hamidapremani6151
    @hamidapremani6151 2 роки тому +2

    Very well-explained, thorough explanation with just the right speech pace. Thank you so much!

  • @mamamiakool
    @mamamiakool Рік тому +1

    Super detailed and simple explanation. Kudos !! Keep doing the great work !!

  • @vinodhkumarRajasekaran
    @vinodhkumarRajasekaran Рік тому +1

    you are a life saver! The way you explained is really awesome! Thank you!

  • @ivanliu1173
    @ivanliu1173 Рік тому +1

    Thanks for the clear explanation. Super helpful!

  • @pradeepnair4875
    @pradeepnair4875 3 роки тому +3

    Excellent video explaning the concept in a simple manner and it helped me save so much time Googling. Good on you and I am sure you'll feel satisfied with many of us finding your video very useful!!

    • @BeABetterDev
      @BeABetterDev  3 роки тому

      Thanks Pradeep! Super glad you enjoyed :)

  • @johncena-mw3ge
    @johncena-mw3ge 2 роки тому +3

    Thank you so much, Daniel. Hope your channel grows exponentially :)

  • @gregf9160
    @gregf9160 3 роки тому +1

    This is a big help: _complicated_ but can obviously cut out a lot of middleware stuff. Thanks -- I'm hopefully going to be allowed to do this 👍

    • @BeABetterDev
      @BeABetterDev  3 роки тому

      Hi Greg,
      Thanks for the comment. I agree it is more complicated to get this up and running. Also I think this is only applicable in certain cases where direct integration makes sense (where business logic is necessary).
      Thanks for watching and take care.

  • @VincentFulco
    @VincentFulco 3 роки тому +8

    Really terrific, need to watch a few more times.

    • @BeABetterDev
      @BeABetterDev  3 роки тому

      Thanks Vincent! Glad you enjoyed :)

  • @CarlaAbanes
    @CarlaAbanes 2 роки тому

    Amazing vid! I learned a lot, you got a new subscriber

  • @rayprusia4753
    @rayprusia4753 3 роки тому

    Wow, keep it up another great video!

  • @valerylukin8446
    @valerylukin8446 3 роки тому +3

    Your content is awesome man! Keep it up.

    • @BeABetterDev
      @BeABetterDev  3 роки тому +1

      Thanks Valery! Glad you enjoyed :)

  • @jaganbisoyi4031
    @jaganbisoyi4031 2 роки тому

    Awesome content!. True to the core and NO BullSh***. Thanks for the good work!

  • @ChanceMinus
    @ChanceMinus Рік тому +1

    Brilliant! Thank you.

  • @jonathanvargasv2009
    @jonathanvargasv2009 2 роки тому +1

    Useful, thank you for your time and sharing!

  • @narayanapadarthy
    @narayanapadarthy Рік тому

    Thank you so much Daniel!

  • @edwardmcgrath8911
    @edwardmcgrath8911 2 роки тому +1

    Great Video man! loved it! would you have a video on the non-service proxy integration with the work flow you demo in the video e.g. Browser -> Rest API -> Lambda -> DynamoDB ? love the content!

  • @shubham-ij6vp
    @shubham-ij6vp 3 роки тому +1

    Great video man. Keep it up!!

  • @mathhack8647
    @mathhack8647 3 роки тому +2

    Amazing demo. talented and Professional.

  • @Sparkles_Of_Motivation_Tv
    @Sparkles_Of_Motivation_Tv 2 роки тому

    am a new sub..... you are doing an awesome job. security made simple

  • @GenieMagicLabs
    @GenieMagicLabs Рік тому

    Thanks super helpful

  • @christianibiri
    @christianibiri 3 роки тому

    your content is really awesome!

  • @CoderDmitri
    @CoderDmitri 3 роки тому +1

    Thank you so much, you are a legend!

    • @BeABetterDev
      @BeABetterDev  3 роки тому +1

      Thanks Dmitri! Really appreciate it.

  • @abdoualgerian5396
    @abdoualgerian5396 3 роки тому +2

    liked your video before watching a sec ! you deserve all the support for this gold you are teaching , and also , i wanna start from scratch in your channel , if you can tell me where to start exactely , the basics i mean , Thank you

    • @BeABetterDev
      @BeABetterDev  3 роки тому +1

      Thank you so much Abdou for your kind words. I would suggest starting with my video on the most important AWS services (link below). I'm also going to be coming out with a new video about pet projects you can do to learn AWS. This was inspired by reading this comment, so thank you!

    • @abdoualgerian5396
      @abdoualgerian5396 3 роки тому

      @@BeABetterDev that means a lot to me , thank you i'm the number 1 fan of your channel

  • @ronityadav3936
    @ronityadav3936 Рік тому +5

    This is something I was looking for. Appreciate man. However, I have a question from a security perspective: how would you implement rate limiting? or do you have any video on securing these endpoints? Please share the link here.

  • @edipocdf
    @edipocdf 2 роки тому +1

    excelent explanation.

  • @sccts
    @sccts 3 роки тому +1

    Great content. Thank you.

  • @hassanabuhaalah7713
    @hassanabuhaalah7713 3 роки тому

    Another great vid!

  • @andriys5772
    @andriys5772 3 роки тому +1

    Thank you soo much!

    • @BeABetterDev
      @BeABetterDev  3 роки тому +1

      You're welcome! Thanks for watching Andriy!

  • @dansavidge2130
    @dansavidge2130 3 роки тому +1

    Really useful video for a beginner like me. I am wondering how to do this if I have an EC2 which hosts a spring boot database? How to I identify it and which action names do I use?

  • @jonasmellquist7140
    @jonasmellquist7140 3 роки тому +2

    Daniel your content is awesome, thanks for taking the time to post all this relevant and often overlooked content domain..
    I don't know if I'm the only one that thinks this but your speech pace is really slow.. Using a video speed control extension for Chrome you're comprehensible up to about 3.10x which is a record ;)

    • @BeABetterDev
      @BeABetterDev  3 роки тому

      Thanks Jonas! I've never been told I speak too slowly before, quite the contrary actually haha. I'll try to keep this in mind for my next videos. Thanks again for watching!

  • @JoshuaDixonHolideckVRShowcase

    Your videos are so useful, do you have any videos utilizing Opensearch

  • @aravind4444
    @aravind4444 2 роки тому +1

    you are just amazing

  • @devprakash5320
    @devprakash5320 2 роки тому +2

    awesome !

  • @nishathahmed1455
    @nishathahmed1455 2 роки тому

    Dear Daniel, you saved my day! This video fits to my use-case thanks for your effort. But I wish to know how do I send response back to user in json. Answer anticipated.

    • @BeABetterDev
      @BeABetterDev  2 роки тому

      Hi Nisharth,
      I believe the response should be automatically flowing back to you after calling the API endpoint. Are you running into a specific issue?

  • @raulalejandromunozaraya3878
    @raulalejandromunozaraya3878 3 роки тому +1

    👏🏻👏🏻👏🏻 amazing

  • @jeanpascalmewenemesse
    @jeanpascalmewenemesse 2 роки тому

    Great video. What are you using to draw your screen please?

  • @samwindsor7055
    @samwindsor7055 Рік тому

    Great video - do you have a video for GET requests?

  • @_Username__
    @_Username__ 2 роки тому +1

    I salute you

  • @HMSydney190
    @HMSydney190 2 роки тому

    Great Video - at 10:06 , what would be the difference if you had selected "Proxy Resource" ?

  • @tcrippen09
    @tcrippen09 Рік тому +1

    What would be an example mapping template if the http post was in XML and I wanted to pass it through to dynamoDB as json?

  • @joaoesteves1363
    @joaoesteves1363 2 роки тому +2

    How can I do the same but with the GET method? What should I put in the "Action" instead of 'PutItem'?

  • @John83118
    @John83118 5 місяців тому

    Wow, this is truly remarkable content. I had the pleasure of reading something similar, and it was an unforgettable experience. "Mastering AWS: A Software Engineers Guide" by Nathan Vale

  • @raulalejandromunozaraya3878
    @raulalejandromunozaraya3878 3 роки тому +2

    👏🏻👏🏻👏🏻

  • @rolucic
    @rolucic Рік тому

    Thanks Daniel for another very useful video. Two things maybe worth mentioning: 1. for sure you need to deploy the API after specifying or changing the mapping template; 2. by using the mapping template you can make sure that you pass into the request to DynamoDB table only the parameters you want from the request (I've tested this by adding other key/values in the JSON request and seeing that they don't get added to the table)
    Again, thanks for the very useful tutorial.

  • @PhuTran-nb7me
    @PhuTran-nb7me 2 роки тому

    why do you need to wrap $input.path($.key) in double quotes? doesnt it already return a string?

  • @michaelgrossman9678
    @michaelgrossman9678 Рік тому

    can u create another video with elasiccache redis

  • @gizzardelectric
    @gizzardelectric 10 місяців тому

    It seems like this isn't supported for serverless v2 backends--how can those be connected to API Gateway?

  • @sardesaisantosh
    @sardesaisantosh Рік тому

    How postman could access end point..?

  • @mk48sz33
    @mk48sz33 Рік тому

    When I do the post, I get an error that missing an access token. Any idea why?

  • @mitravic
    @mitravic Рік тому

    Thanks for creating this video. A random id is not getting generated using $context.requestId
    Can anyone help me understand why that may be?

  • @miluna94
    @miluna94 3 роки тому

    I guess this approach is useful if no data validations are required right? Would you recommend doing it directly with lambda if you think you would need validations in the future?

    • @gaurravprakash
      @gaurravprakash 3 роки тому

      Request validations can also be done in API Gateway itself. The documentation might be thin around that but it's possible.

  • @fb-gu2er
    @fb-gu2er 2 роки тому

    How would you use an authorizer here?

  • @TechPisat
    @TechPisat 11 місяців тому

    HI I am conecting RDS service and I am getting an error as AWS ARN for integration contains invalid action. Please can you give me solution>?

  • @franklinoladipo2343
    @franklinoladipo2343 Рік тому

    Hello, thanks for the video. I'm trying to do this now but I think alot has changed with AWS UI. I can't seen to find DynamoDB under API Gateway Integrations. What do you advise? thanks

    • @JustinSmith-oh5yh
      @JustinSmith-oh5yh Рік тому +1

      I had some trouble with this too. Make sure your API is REST and not HTTP - HTTP doesn't have service proxies

    • @franklinoladipo2343
      @franklinoladipo2343 Рік тому

      @@JustinSmith-oh5yh thanks

  • @mansoorkhanyousefi7709
    @mansoorkhanyousefi7709 2 роки тому

    can you make username unique using API Gateway Service Proxy?

  • @aufee8101
    @aufee8101 2 роки тому

    Any Idea on the GetItem Template?

  • @salvadorsanchez4561
    @salvadorsanchez4561 2 роки тому

    From POSTMAN getting "message": "Requested resource not found" not sure what is failing, any idea how to troubleshoot

    • @christiankiss1736
      @christiankiss1736 2 роки тому

      did you spell the TableName correctly? I accidentally named my table "customers" and not "Customers", which is why postman failed with this error. good luck.

  • @vickneswarir8965
    @vickneswarir8965 3 роки тому

    How to use autogenerated timestamp

  • @shubhikatiwari9259
    @shubhikatiwari9259 Рік тому +1

    throwing error "message": "Missing Authentication Token"

  • @prageethpasyala
    @prageethpasyala 3 роки тому

    please post the code here.

  • @SoulKey44
    @SoulKey44 Рік тому

    in 23:20,
    {
    "TableName": "Customers",
    "Item": {
    "customerId": {
    "S": "1"
    },
    "date": {
    "S": "2020"
    },
    "name": {
    "S": "John Doe"
    }
    }
    }
    in 28:01,
    {
    "TableName": "Customers",
    "Item": {
    "customerId": {
    "S": "$context.requestId"
    },
    "date": {
    "S": "$input.path('$.date')"
    },
    "name": {
    "S": "$input.path('$.name')"
    }
    }
    }
    in 31:45,
    {
    "date": "2020",
    "name": "Jane Doe"
    }

  • @markoguru
    @markoguru 2 роки тому

    Really nice! Now API is not secured, do we do that in Integration Request part of the path? At ua-cam.com/video/i5NEHwFeeuY/v-deo.html

  • @mansoorkhanyousefi7709
    @mansoorkhanyousefi7709 2 роки тому

    please do not produce 50% percent of the subject :( do that to end. what about get specific item or query for example i registered users and i want to get a user if username and pass is exist in DB??????