AWS Golang Lambda
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
Steps
After cloning this repo, run these commands from the working directory:
Build the handler:
For developers on Linux and macOS:
make buildFor developers on Windows:
Get the
build-lambda-ziptool:set GO111MODULE=on go.exe get -u github.com/aws/aws-lambda-go/cmd/build-lambda-zipUse 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
Create a new Pulumi stack, which is an isolated deployment target for this example:
pulumi stack initSet the required configuration variables for this program:
pulumi config set aws:region us-east-1Execute the Pulumi program to create our lambda:
pulumi upCall 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"From there, feel free to experiment. Simply making edits, rebuilding your handler, and running
pulumi upwill update your function.Afterwards, destroy your stack and remove it:
pulumi destroy --yes pulumi stack rm --yes