It looks like someone over at AWS made an oopsie and accidentally released the documentation before the re:invent announcement. A cached version of the developer guide page can be viewed here.
AWS Lambda is a popular serverless compute platform. Sometimes also known as FaaS or Function as a Service, Lambda offers the ability to easily set up REST Apis with just a couple minutes in the console.
Creating REST/HTTP APIs is definitely one of the more common use cases of using AWS Lambda. Prior to this announcement, developers had to integrate their Lambda Functions with the API Gateway service.
This wasn’t a huge deal, but was a bit of a pain if folks were looking to get off the ground quickly. In addition, learning Lambda, then realizing you need to learn a whole other service (API Gateway) is a bit annoying.
Lambda Function URLs To The Rescue
Lambda function URLs allow developers to easily get access to HTTP URLs that can invoke their function. Instead of having to go and link your function to an API gateway endpoint and configure all the settings, the function URL now comes as default.
Adding a function URL can be done through the console. It will automatically generate a unique URL endpoint for you that you can use to invoke your function.
You can invoke your endpoint using your web browser, or HTTP friendly tools such as Postman. You can, of course, also invoke it programmatically.
Its important to note that the type of request (GET, POST, etc) you use against the function will change where the parameters are the request are located in the input event.
Every lambda function supports a input event that gets passed in to the function where you can extract the request values from. With GET, the values will be available in the header. With POST, the values will be available in the body.
This isn’t anything special to do with this announcement, just an important consideration for those of you looking to get started quickly with the feature.
The news is still a bit slim about this announcement and I fully expect a cover of this feature by Andy Jassy in this year’s keynote. The folks over at reddit started a thread about this topic where you can get up to speed on the discussion.
All in all, function URLs are a long overdue feature of AWS Lambda. It feels like with every passing day, AWS is recognizing many of the common workflows us developers run through during our workday, and building features to streamline or greatly simplify the process.
I’m really excited about this announcement and you should be too. I’ll follow up with a walk-through article when the feature is officially released and I have some time to give it a test drive.