Skip to content

Latest commit

 

History

History
89 lines (61 loc) · 2 KB

README.md

File metadata and controls

89 lines (61 loc) · 2 KB

AWS Golang Lambda

This example creates a lambda that does a simple ToUpper on the string input and returns it.

Deploying the App

To deploy your infrastructure, follow the below steps.

Prerequisites

  1. Install Pulumi
  2. Configure AWS Credentials
  3. Clone aws-go-lambda

Steps

After cloning this repo, run these commands from the working directory:

  1. Restore your Go dependencies. This example currently uses Dep to do so:

    $ dep ensure
  2. Build the handler:

    • For developers on Linux and macOS:

       make build
    • For developers on Windows:

      • Get the build-lambda-zip tool:

         set GO111MODULE=on
         go.exe get -u github.com/aws/aws-lambda-go/cmd/build-lambda-zip
      • Use the tool from your GOPATH:

         set GOOS=linux
         set GOARCH=amd64
         set CGO_ENABLED=0
         go build -o handler\handler handler\handler.go
         %USERPROFILE%\Go\bin\build-lambda-zip.exe -o handler\handler.zip handler\handler
  3. Create a new Pulumi stack, which is an isolated deployment target for this example:

    pulumi stack init
  4. Set the required configuration variables for this program:

    pulumi config set aws:region us-east-1
  5. Execute the Pulumi program to create our lambda:

    pulumi up
  6. Call our lambda function from the aws cli:

    aws lambda invoke \
    --function-name $(pulumi stack output lambda) \
    --region $(pulumi config get aws:region) \
    --payload '"foo"' \
    output.json
    
    cat output.json # view the output file with your tool of choice
    # "FOO"
  7. From there, feel free to experiment. Simply making edits, rebuilding your handler, and running pulumi up will update your lambda.

  8. Afterwards, destroy your stack and remove it:

    pulumi destroy --yes
    pulumi stack rm --yes