Criar funções do Lambda com Go
O Go é implementado de forma diferente de outros runtimes gerenciados. Como o Go é compilado nativamente com um binário executável, ele não requer um runtime de linguagem dedicado. Use um runtime somente de sistema operacional (a família de runtime provided) para implantar funções do Go no Lambda.
Suporte do runtime do Go
O runtime gerenciado do Go 1.x para Lambda foi descontinuado. Se tiver funções que usem o runtime do Go 1.x, você deverá migrar suas funções para provided.al2023 ou provided.al2. Os runtimes provided.al2023 e provided.al2 oferecem várias vantagens em comparação ao go1.x, incluindo compatibilidade com a arquitetura arm64 (processadores AWS Graviton2), binários menores e tempos de invocação um pouco mais rápidos.
Nenhuma alteração de código é necessária para essa migração. As únicas alterações necessárias estão relacionadas à forma como você cria seu pacote de implantação e ao runtime que você usa para criar sua função. Para obter mais informações, consulte Migrating AWS Lambda functions from the Go1.x runtime to the custom runtime on Amazon Linux 2
| Name | Identificador | Sistema operacional | Data da substituição | Bloquear a criação de funções | Bloquear a atualização de funções |
|---|---|---|---|---|---|
|
Runtime somente para sistema operacional |
|
Amazon Linux 2023 |
30 de junho de 2029 |
31 de julho de 2029 |
31 de agosto de 2029 |
|
Runtime somente para sistema operacional |
|
Amazon Linux 2 |
30 de junho de 2026 |
31 de julho de 2026 |
31 de agosto de 2026 |
Ferramentas e bibliotecas
O Lambda fornece as seguintes ferramentas e bibliotecas para o runtime do Go:
-
AWS SDK para Go v2
: o SDK oficial da AWS para a linguagem de programação Go. -
github.com/aws/aws-lambda-go/lambda
: a implementação do modelo de programação do Lambda para Go. Esse pacote é usado pelo AWS Lambda para invocar o handler. -
github.com/aws/aws-lambda-go/lambdacontext
: auxiliares para acesso a informações do objeto de contexto. -
github.com/aws/aws-lambda-go/events
: esta biblioteca fornece definições de tipos para integrações comuns de origens de eventos. -
github.com/aws/aws-lambda-go/cmd/build-lambda-zip
: Esta ferramenta pode ser usada para criar um archive com arquivo .zip no Windows.
Para obter mais informações, consulte aws-lambda-go
O Lambda fornece as seguintes aplicações de exemplo para o runtime do Go: