Skip to content

djhworld/go-lambda-invoke

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

16 Commits
 
 
 
 
 
 
 
 
 
 

Repository files navigation

go-lambda-invoke

Small package to allow you to invoke your Go AWS lambda locally.

This might be useful for:

  • You want to run an integration test, maybe in conjunction with LocalStack?
    • Unit testing is probably better in most cases
  • You want to validate your CI has built a valid linux binary of your application before deploying

I wrote a blog post about it here https://djhworld.github.io/post/2018/01/27/running-go-aws-lambda-functions-locally/

Installing

go get -u github.com/djhworld/go-lambda-invoke/golambdainvoke

Example usage

Run the example lambda toupperlambda.go on port 8001

_LAMBDA_SERVER_PORT=8001 go run ./toupperlambda.go

Then use this library in tests or wherever you need it, by calling

response, err := golambdainvoke.Run(Input{
    Port:    8001,
    Payload: "payload",
})

Note that Payload can be any structure that can be encoded by the encoding/json package. Your lambda function will need to use this structure in its type signature.

About

No description or website provided.

Topics

Resources

License

Stars

Watchers

Forks

Packages

No packages published

Languages