An example using AWS Lambda with Go
Switch branches/tags
Nothing to show
Clone or download
Latest commit 5afb12d May 20, 2018
Type Name Latest commit message Commit time
Failed to load latest commit information.
.gitignore update to use aegis Mar 28, 2018
LICENSE adding license May 19, 2018 update to use aegis Mar 28, 2018
aegis.yaml update to use aegis Mar 28, 2018
main.go updated to use latest aegis Apr 11, 2018

This is a refactor of an old Go Lambda that creates an API that will return a visitor's geolocation based on IP address. It now uses the Aegis deploy tool and framework, which uses native Go Lambdas now instead of needing a shim.


The filename will likely be GeoLite2-City.mmdb.


Assuming you have AWS credentials configured and you've got the aegis and go-bindata binaries in your path ready to use. You can run the following to retrieve the geoip data set, build, and deploy:

curl -o GeoLite2-City.tar.gz

tar -xvf GeoLite2-City.tar.gz

mv GeoLite2-City_20180327/GeoLite2-City.mmdb GeoLite2-City.mmdb

go-bindata GeoLite2-City.mmdb

aegis deploy

It should build and deploy the Lambda. It may take a little bit due to the size of the database file. It took my 2min 12s to build and deploy (so says my zsh).

You can see the old way we had to use Go in AWS Lambda by looking at the legacy-shim branch and here's the original article.