Introduction to AWS Lambda using Golang

แชร์
ฝัง
  • เผยแพร่เมื่อ 20 ต.ค. 2024

ความคิดเห็น • 42

  • @mathisve
    @mathisve  3 ปีที่แล้ว +15

    A little sidenote for everybody following the tutorial step by step. If you make an API Gateway trigger, you need to make sure the API Gateway is a REST Gateway and NOT an HTTP one. As with the HTTP one the body won't be properly passed on to the Lambda function. Thanks

  • @samme4life
    @samme4life 3 ปีที่แล้ว +2

    Just started working on a project which heavily use aws and golang. This is quite useful stuff. Thank you for sharing your knowledge. Started following your channel.

    • @mathisve
      @mathisve  3 ปีที่แล้ว +1

      Thanks alot! Good luck!

  • @vicky1035
    @vicky1035 4 ปีที่แล้ว +8

    More More give us more tutorials on Golang!!
    It would be great if you could do a video covering the topics on how golang is used exclusively by cloud engineers and giving a simple overview on how companies make use of golang in their projects.

    • @mathisve
      @mathisve  4 ปีที่แล้ว +1

      Thank you!
      Maybe I will!

    • @vicky1035
      @vicky1035 4 ปีที่แล้ว

      @@mathisve Merci Beacoup :))

    • @mathisve
      @mathisve  4 ปีที่แล้ว

      @@vicky1035 I see you are a man of culture

  • @andherium
    @andherium ปีที่แล้ว

    Thanks man. This was my first exposure with AWS Lambda functions.
    One small nitpick, although that wasn't really the goal of this tutorial: In the GetImage function you can simply return resp.Body and pass it to the s3 Upload function. The program doesn't have to read the entire image to memory that way. It'll simply act as a proxy. For a lambda function, I think this can make a huge difference especially if large image URLs are provided.

    • @mathisve
      @mathisve  ปีที่แล้ว

      Ha thats a good catch! I didn't know that

  • @inaccessiblecardinal9352
    @inaccessiblecardinal9352 3 ปีที่แล้ว +1

    Good stuff. Definitely gonna check out all your stuff. I use TS for all our aws code at work everyday, neat to see it with golang!

    • @mathisve
      @mathisve  3 ปีที่แล้ว

      Thanks alot! Great to see other gophers!

  • @trompelek
    @trompelek 3 ปีที่แล้ว +5

    Top class content, Please consider increasing font sizes for all applications so it is watchable on smaller screens.

    • @mathisve
      @mathisve  3 ปีที่แล้ว

      Thanks! Appreciate the feedback, I try to increase the font in my newer videos!

  • @vinnbrock
    @vinnbrock 4 ปีที่แล้ว +2

    What a great video, thank you! Can't wait to implement... Although my implementation will be a little more in-depth.

    • @mathisve
      @mathisve  4 ปีที่แล้ว +1

      Thank you! If you have any ideas of other things I could explain like Lambda Triggers or something similar? Let me know!

    • @vinnbrock
      @vinnbrock 4 ปีที่แล้ว

      @@mathisve you could do a whole series on Lambda. I'm "ok" with the lambda workflow, but was having difficulty in the past using golang for the function application. One question with everything being called main. Unless I misunderstood, you said something to the effect of "the lambda handler name is main, and needs to match the application name that has been zipped". So the named handler in the lambda interface is to point at the name of the compiled application in the zip file? Sorry, dumb question.

    • @mathisve
      @mathisve  4 ปีที่แล้ว +1

      @@vinnbrock Yeah that was kinda my bad. When using a compiled golang binary, the "Handler" in the AWS Dashboard refers to the name of the binary (the output of go build). In a non compiled language like Python, the "Handler" refers to the actual function name that is handling the event (not the name of the file). My explanation wasn't the best but I hope this makes it somewhat clearer.

    • @vinnbrock
      @vinnbrock 4 ปีที่แล้ว

      @@mathisve yes it does, and that was what I inferred from the video. Thank you for clarifying. Keep up the great content!

  • @TroenderTass
    @TroenderTass 2 ปีที่แล้ว +1

    Thank you.
    04:47 That is exactly right, it is seriously stupid, and the main reasoin why i had to spend one hour pulling my hair out befor your video helped me. We are uploading one executable file, why the hell does it need to be spesified. T

  • @wassim5622
    @wassim5622 2 ปีที่แล้ว +1

    really good channel you have,, keep it up !

  • @agustinspahn1474
    @agustinspahn1474 2 ปีที่แล้ว

    Thank you!! Amazing explanation! :)

  • @anshumankomawar1857
    @anshumankomawar1857 3 ปีที่แล้ว

    I'm on a mac and for some reason even after using the goos=linux in the build command I get an execution failed due to exec format error.

  • @georgelza
    @georgelza ปีที่แล้ว

    Can I request... would really appreciate it if you can do a video how to build a lambda package, for go, using the confluent_kafka package.

  • @MultiTechspec
    @MultiTechspec 3 ปีที่แล้ว

    Hi getting some weird errors, ./main.go:41:27: event.Key undefined (type InputEvent has no field or method Key, but does have key)
    this erorr is present within the git repo code, any ideas?

    • @MultiTechspec
      @MultiTechspec 3 ปีที่แล้ว +1

      ok fixed it, turns out the type InputEvent struct which contains Link and Key need to be before the function Handler

    • @mathisve
      @mathisve  3 ปีที่แล้ว

      Are you sure Key is capitalized in your struct? If you need any more help you can always join my discord server. I'd be happy to help! discord.mathisvaneetvelde.com/

  • @shubhamsahu7539
    @shubhamsahu7539 4 ปีที่แล้ว

    I am getting this error while debugging
    AWS Lambda environment variables [_LAMBDA_SERVER_PORT AWS_LAMBDA_RUNTIME_API] are not defined

    • @mathisve
      @mathisve  4 ปีที่แล้ว +1

      Are you trying to run it locally? Because if so (as you can see at 3:40), it won't run. This is normal. As far as I know there aren't any simple ways to run a lambda function locally.

  • @html8525
    @html8525 2 ปีที่แล้ว

    Great tutorial 👌

  • @madiyarabdukhashimov8570
    @madiyarabdukhashimov8570 3 ปีที่แล้ว +1

    The content is awesome, I would just want to have little bigger font size ))

    • @mathisve
      @mathisve  3 ปีที่แล้ว +1

      Will do

  • @JungKugoso
    @JungKugoso 3 ปีที่แล้ว

    Thanks! great stuff

  • @chiragpainter744
    @chiragpainter744 3 ปีที่แล้ว

    Good stuff !

  • @hardworker6820
    @hardworker6820 3 ปีที่แล้ว

    thank you man!

  • @ajuncepplux8412
    @ajuncepplux8412 3 ปีที่แล้ว +1

    Bro, can you zoom in the code.. too small for phone.. thanks

    • @oy6722
      @oy6722 3 ปีที่แล้ว

      I second that, it is too small even on my laptop. What about hiding the left side bar? Thanks

    • @mathisve
      @mathisve  3 ปีที่แล้ว

      Noted! Trying my best to zoom in in the next videos!

  • @iAM80tv
    @iAM80tv 3 ปีที่แล้ว +1

    I know beggars cant be choosy ....
    but please could you increase your screen size or text size next time thank you 🙏🏾

    • @mathisve
      @mathisve  3 ปีที่แล้ว +2

      I will keep that in mind, thanks!

  • @misterdev6935
    @misterdev6935 4 ปีที่แล้ว

    Tu gere mec
    Is Imaxs

  • @ganeshrbrototype
    @ganeshrbrototype 11 หลายเดือนก่อน

    Hi, I am getting this error whenever I try to run the test as you have demonstrated in the video. I did everything perfectly as well. I am using a Linux machine as well. Go version is 1.20.
    /var/task/main: /lib64/libc.so.6: version `GLIBC_2.32' not found (required by /var/task/main)
    /var/task/main: /lib64/libc.so.6: version `GLIBC_2.34' not found (required by /var/task/main)
    2023/11/22 18:48:38 exit status 1
    INIT_REPORT Init Duration: 22.52 ms Phase: init Status: error Error Type: Runtime.ExitError
    /var/task/main: /lib64/libc.so.6: version `GLIBC_2.32' not found (required by /var/task/main)
    /var/task/main: /lib64/libc.so.6: version `GLIBC_2.34' not found (required by /var/task/main)
    2023/11/22 18:48:38 exit status 1
    INIT_REPORT Init Duration: 28.06 ms Phase: invoke Status: error Error Type: Runtime.ExitError
    Everytime I try to run or test. this is what I get. Can anyone let me know if there are any recommendations or actions I can take to resolve this compatibility issue. I appreciate your assistance in advance.