Création de fonctions Lambda avec Go
Go est implémenté différemment des autres exécutions gérées. Go se compilant nativement en un binaire exécutable, il n’a pas besoin d’un environnement d’exécution dédié au langage. Utilisez un environnement d’exécution réservé au système d’exploitation (la famille d’environnement d’exécution provided) pour déployer les fonctions Go sur Lambda.
Rubriques
Prise en charge de l’exécution Go
L’environnement d’exécution géré par Go 1.x pour Lambda est obsolète. Si vous utilisez l’environnement d’exécution Go 1.x, vous devez transférer vos fonctions vers provided.al2023 ou provided.al2. Les exécutions provided.al2023 et provided.al2 offrent plusieurs avantages par rapport à go1.x, y compris la prise en charge de l’architecture arm64 (processeurs AWS Graviton2), des binaires plus petits et des temps d’invocation légèrement plus rapides.
Aucune modification du code n’est requise pour cette migration. Les seules modifications requises concernent la façon dont vous créez votre package de déploiement et l’exécution que vous utilisez pour créer votre fonction. Pour plus d'informations, consultez la section Migration des fonctions AWS Lambda de l'environnement d'exécution Go1.x vers l’environnement d’exécution personnalisé sur Amazon Linux 2
| Nom | Identifiant | Système d’exploitation | Date d’obsolescence | Créer la fonction de blocage | Mettre à jour la fonction de blocage |
|---|---|---|---|---|---|
|
Exécution réservée au système d’exploitation |
|
Amazon Linux 2023 |
30 juin 2029 |
31 juillet 2029 |
31 août 2029 |
|
Exécution réservée au système d’exploitation |
|
Amazon Linux 2 |
30 juin 2026 |
31 juillet 2026 |
31 août 2026 |
Outils et bibliothèques
Lambda fournit les outils et bibliothèques suivants pour l’environnement d’exécution Go :
-
AWS SDK pour Go v2
: le kit SDK AWS officiel pour le langage de programmation Go. -
github.com/aws/aws-lambda-go/lambda
: implémentation du modèle de programmation Lambda pour Go. Ce package est utilisé par AWS Lambda pour invoquer votre gestionnaire. -
github.com/aws/aws-lambda-go/lambdacontext
: assistants permettant d’accéder aux informations de contexte depuis l’objet de contexte. -
github.com/aws/aws-lambda-go/events
: cette bibliothèque fournit les définitions de type pour les intégrations de sources d’événements communes. -
github.com/aws/aws-lambda-go/cmd/build-lambda-zip
: cet outil peut être utilisé pour créer une archive de fichier .zip sous Windows.
Pour en savoir plus, consultez aws-lambda-go
Lambda fournit les exemples d’applications suivants pour le runtime Go :
Exemples d’applications Lambda en Go
-
go-al2
– Une fonction Hello World qui renvoie l’adresse IP publique. Cette application utilise l’exécution personnalisée provided.al2. -
blank-go
– Fonction Go montrant l’utilisation des bibliothèques Go de Lambda, de la journalisation, des variables d’environnement et du kit AWS SDK. Cette application utilise l’exécution go1.x.