AWS Lambda
Guia do desenvolvedor

Pacote de implantação do AWS Lambda no Go

Para criar uma função Lambda, primeiro você precisa criar um pacote de implantação da função Lambda, um arquivo .zip com seu código (um executável do Go) e todas as dependências.

Depois de criar um pacote de implantação, você pode fazer upload dele diretamente ou fazer upload do arquivo .zip primeiro em um bucket do Amazon S3 na mesma região da AWS onde deseja criar a função do Lambda e, em seguida, especificar o nome do bucket e da chave do objeto ao criar a função do Lambda usando o console ou a CLI da AWS.

Faça download da biblioteca do Lambda para o Go com go get e compile seu executável.

~/my-function$ go get github.com/aws/aws-lambda-go/lambda ~/my-function$ GOOS=linux go build main.go

Configurar o GOOS para o linux garante que o executável compilado seja compatível com o tempo de execução do Go, mesmo se você compilá-lo em um ambiente não Linux.

Crie um pacote de implantação empacotando o executável em um arquivo ZIP e use a AWS CLI para criar uma função. O parâmetro do manipulador deve corresponder ao nome do executável que contém o manipulador.

~/my-function$ zip function.zip main ~/my-function$ aws lambda create-function --function-name my-function --runtime go1.x \ --zip-file fileb://function.zip --handler main \ --role arn:aws:iam::123456789012:role/execution_role

Criar um pacote de implantação no Windows

Para criar um .zip que funcione no AWS Lambda usando o Windows, recomendamos instalar a ferramenta build-lambda-zip.

nota

Se ainda não tiver feito isso, você precisará instalar o Git e, em seguida, adicionar o executável git à variável de ambiente %PATH% do Windows.

Para fazer download do cliente, execute o comando a seguir:

go.exe get -u github.com/aws/aws-lambda-go/cmd/build-lambda-zip

Use a ferramenta em seu GOPATH. Se você tiver uma instalação padrão do Go, a ferramenta geralmente estará em %USERPROFILE%\Go\bin. Caso contrário, navegue até o local onde o tempo de execução do Go foi instalado e faça o seguinte:

Em cmd.exe, execute o seguinte:

set GOOS=linux go build -o main main.go %USERPROFILE%\Go\bin\build-lambda-zip.exe -o main.zip main

No Powershell, execute o seguinte:

$env:GOOS = "linux" go build -o main main.go ~\Go\Bin\build-lambda-zip.exe -o main.zip main