Skip to content

Latest commit

 

History

History

Folders and files

NameName
Last commit message
Last commit date

parent directory

..
 
 
 
 
 
 
 
 
 
 
 
 
 
 

README.md

Deploy this example with Pulumi Deploy this example with Pulumi

AWS Golang Lambda

This example creates an AWS Lambda function that does a simple ToUpper on the string input and returns it.

Prerequisites

  1. Install Pulumi
  2. Configure AWS credentials
  3. Install Go

Deploying the example

  1. 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\bootstrap handler\handler.go
        %USERPROFILE%\Go\bin\build-lambda-zip.exe -o handler\handler.zip handler\bootstrap
  2. Create a new stack, which is an isolated deployment target for this example:

    pulumi stack init
  3. Install dependencies:

    go mod download
  4. Set the AWS region to deploy into:

    pulumi config set aws:region us-east-1
  5. Deploy the stack:

    pulumi up
  6. Call the Lambda function from the AWS CLI with "foo" as the payload:

    aws lambda invoke \
    --function-name $(pulumi stack output lambda) \
    --region $(pulumi config get aws:region) \
    --cli-binary-format raw-in-base64-out \
    --payload '"foo"' \
    output.json
    
    cat output.json # view the output file with your tool of choice
    # "FOO"

    From there, feel free to experiment. Simply making edits, rebuilding your handler, and running pulumi up will update your function.

Cleaning up

Once you're finished experimenting, tear down your stack's resources by destroying and removing it:

pulumi destroy
pulumi stack rm