Les traductions sont fournies par des outils de traduction automatique. En cas de conflit entre le contenu d'une traduction et celui de la version originale en anglais, la version anglaise prévaudra.
Quand utiliser les environnements d’exécution réservés aux systèmes d’exploitation de Lambda
Lambda fournit des environnements d’exécution gérés pour Java, Python, Node.js, .NET et Ruby. Pour créer des fonctions Lambda dans un langage de programmation qui n’est pas disponible en tant qu’environnement d’exécution géré, utilisez un environnement d’exécution uniquement basé sur le système d’exploitation (famille des environnements d’exécution provided
). Il existe trois principaux cas d’utilisation pour les environnements d’exécution uniquement basés sur le système d’exploitation :
-
Compilation native à l’avance (AOT) : des langages tels que Go, Rust et C++ se compilent nativement en un binaire exécutable, qui ne nécessite pas d’exécution de langage dédié. Ces langages ont uniquement besoin d’un environnement de système d’exploitation dans lequel le binaire compilé peut s’exécuter. Vous pouvez également utiliser des environnements d’exécution uniquement basés sur le système d’exploitation Lambda pour déployer des fichiers binaires compilés avec .NET Native AOT et Java GraalVM Native.
Vous devez inclure un client d’interface d’exécution. Le client de l’interface d’exécution appelle l’Utilisation de l’API de l’environnement d’exécution Lambda pour des environnements d’exécution personnalisés pour récupérer les invocations de fonction, puis appelle votre gestionnaire de fonctions. Lambda fournit des clients d’interface d’exécution pour Go, .NET Native AOT, C++
et Rust (expérimental). Vous devez compiler votre binaire pour un environnement Linux et pour la même architecture de jeu d’instructions que celle que vous prévoyez d’utiliser pour la fonction (x86_64 ou arm64).
-
Exécutions tierces : vous pouvez exécuter des fonctions Lambda à l’aide d’environnements d’exécution standards tels que Bref
pour PHP ou Swift AWS Lambda Runtime pour Swift. -
Exécutions personnalisées : vous pouvez créer votre propre environnement d’exécution pour une langue ou une version de langue pour laquelle Lambda ne fournit pas d’environnement d’exécution géré, comme Node.js 19. Pour en savoir plus, consultez Création d’un environnement d’exécution personnalisé pour AWS Lambda. Il s’agit du cas d’utilisation le moins courant pour les environnements d’exécution uniquement basés sur le système d’exploitation.
Lambda prend en charge les environnements d’exécution uniquement basés sur le système d’exploitation suivants :
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 |
Non planifié |
Non planifié |
Non planifié |
Exécution réservée au système d’exploitation |
|
Amazon Linux 2 |
Non planifié |
Non planifié |
Non planifié |
L’environnement d’exécution Amazon Linux 2023 (provided.al2023
) offre plusieurs avantages par rapport à Amazon Linux 2, notamment un encombrement de déploiement réduit et des versions mises à jour de bibliothèques telles que glibc
.
L’environnement d’exécution provided.al2023
utilise dnf
comme gestionnaire de packages au lieu de yum
, qui est le gestionnaire de packages par défaut dans Amazon Linux 2. Pour plus d’informations sur les différences entre provided.al2023
et provided.al2
, consultez Présentation de l’environnement d’exécution Amazon Linux 2023 pour AWS Lambda