Serverless URL shortener built on AWS API Gateway and Lambda
JavaScript HCL
Permalink
Failed to load latest commit information.
lambda Initial commit Feb 24, 2016
.gitignore Initial commit Feb 24, 2016
README.md Add link to blog post in Readme Mar 1, 2016
main.tf Initial commit Feb 24, 2016
redir-v1-swagger.yml Initial commit Feb 24, 2016
variables.tf Initial commit Feb 24, 2016

README.md

Serverless URL Shortener

This repo contains components for a proof of concept URL shortner service running on Amazon's API Gateway and Lambda services.

Related blog post: Build a serverless URL shortener with AWS Lambda and API Gateway services

Components

  • API Gateway front-end
  • Lambda JavaScript function back-end
  • DynamoDB datastore

Required AWS resources

The main.tf Terraform file contains basic resources required for DynamoDB including a table and IAM role with associated policies.

To use this install and configure Terraform for your AWS account.

API Gateway

redir-v1-swagger.yml contains a Swagger YAML definition for the front-end interface. This can be imported into your AWS using Amazon's API Gateway Importer.

NOTE: References to Amazon account id have been replaced with {{YOUR AWS ACCOUNT ID}}. You will need to change these to your numeric AWS account id.

Lambda Functions

All Lambda functions are organized under lambda using the Apex framework.

NOTE: References to Amazon account id have been replaced with {{YOUR AWS ACCOUNT ID}}. You will need to change these to your numeric AWS account id.

Once you install Apex, you can deploy via the CLI:

> cd lambda
> apex deploy

And execute locally via the CLI:

> cd lambda
> echo '{ "token":"xxxxxxx" }' | apex invoke lookup_token