Skip to content

An example API written in Golang using the Amazon Serverless Application Model (AWS SAM)

License

Notifications You must be signed in to change notification settings

LastManStandingV2/aws-sam-golang-example

 
 

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

14 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

AWS SAM Golang Example

Build Status Go Report Card

An example API written in Golang using the Amazon Serverless Application Model (AWS SAM).

Overview

Go is arguably one of the easiest languages in which to write a RESTful API. With the addition of Go support for AWS Lambda coupled with the maturity of tooling around the AWS Serverless Application Model, deploying the API to serverless infrastructure is becoming much more straightforward, too. Thanks to the APEX Gateway, you can even write APIs in a familiar manner without changing how the code is structured.

The purpose of this project is to give a slightly more complicated example than the "hello world" ones provided by Amazon to show how Go's standard net/http package can play nicely in a serverless world with AWS API Gateway and Lambda. It also shows how you can use Go and Amazon's tooling to develop and test your API locally within in this model.

Prerequisites

Installation

With a correctly configured Go toolchain:

go get -u github.com/cpliakas/aws-sam-golang-example

Usage

Run the API Locally

⚠️ Make sure to install all the Prerequisites. On Mac OSX and Windows, ensure that the Docker VM is running.

Build the binary, and run the API locally:

GOOS=linux go build -o main
sam local start-api

You can now consume the API using your tool of choice. HTTPie is pretty awesome.

http localhost:3000/hello
HTTP/1.1 200 OK
Content-Length: 28
Content-Type: application/json; charset=utf8
Date: Sat, 03 Feb 2018 20:12:07 GMT

{
    "message": "Hello, world!"
}

About

An example API written in Golang using the Amazon Serverless Application Model (AWS SAM)

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages

  • Go 98.4%
  • Shell 1.6%