LambdaHandler is a library designed to make it easy to write AWS Lambda function in typescript. It tries to abstract the more mondane logic related to implementing a AWS Lambda function.
The library caters primarely to handling AWS API Gateaway request using the Lambda Proxy integration.
The LambdaHandler library is designed to write reusable object oriented code for Lambda.
- Abstract the AWS API Gateway Event and AWS Lambda Proxy Callback via
Request
andResponse
objects. - Provide classes for standard HTTP errors.
- Provide a handlers for typical task like accessing a Dynamo table via a RESTFull API, Queing requests in an SQS Queue or Proxying a request to a different server.
npm install --save ts-lambda-handler
Have a look at the sample project to see how you can use the Serverless Framework and LambdaHandler to build a simple AWS micro-service.
The Serverless Framework make it really easy to deploy micro service to AWS. LambdaHandler can be use without the Serverless if you would rather deploy your function some other way.
import * as LambdaHandler from 'ts-lambda-handler';
class HelloWorld extends LambdaHandler.Handlers.AbstractHandler {
public process(request: LambdaHandler.Request, response: LambdaHandler.Response): Promise<void> {
response
.setBody('Hello World')
.addHeader('content-type', 'text/plain')
.send();
return Promise.resolve();
}
}
export let handler = new HelloWorld().handle;