1. Packages
  2. AWS
  3. How-to Guides
  4. AWS Golang Lambda
AWS v6.78.0 published on Thursday, Apr 24, 2025 by Pulumi

AWS Golang Lambda

AWS v6.78.0 published on Thursday, Apr 24, 2025 by Pulumi

View Code Deploy this example with Pulumi

This example creates an AWS Lambda function 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. Build the handler:

    • For developers on Linux and macOS:

      make build
      
      Copy
    • 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
        
        Copy
      • 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
        
        Copy
  2. Create a new Pulumi stack, which is an isolated deployment target for this example:

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

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

    pulumi up
    
    Copy
  5. Call our 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"
    
    Copy
  6. From there, feel free to experiment. Simply making edits, rebuilding your handler, and running pulumi up will update your function.

  7. Afterwards, destroy your stack and remove it:

    pulumi destroy --yes
    pulumi stack rm --yes
    
    Copy
AWS v6.78.0 published on Thursday, Apr 24, 2025 by Pulumi