Quand utiliser les environnements d'exécution uniquement pour le système d'exploitation de Lambda - AWS Lambda

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 uniquement pour le système 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 ahead-of-time (AOT) : des langages tels que Go, Rust et C++ se compilent nativement en un binaire exécutable, ce 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’API de l'environnement d'exécution Lambda 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).

  • Runtimes tiers : vous pouvez exécuter des fonctions Lambda à off-the-shelf l'aide d'environnements d'exécution tels que Bref pour PHP ou Swift Runtime pour AWS Lambda 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 plus d’informations, 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 :

Système d'exploitation uniquement
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

provided.al2023

Amazon Linux 2023

Exécution réservée au système d'exploitation

provided.al2

Amazon Linux 2

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 etprovided.al2, consultez Présentation du runtime Amazon Linux 2023 AWS Lambda sur le blog AWS Compute.