Lambda proporciona tiempos de ejecución gestionados para Java, Python, Node.js, .NET y Ruby. Para crear funciones de Lambda en un lenguaje de programación que no esté disponible como tiempo de ejecución gestionado, utilice un tiempo de ejecución exclusivo del sistema operativo (la familia de tiempos de ejecución provided
). Existen tres casos de uso principales para los tiempos de ejecución exclusivos del sistema operativo:
-
Compilación nativa anticipada (AOT): lenguajes como Go, Rust y C++ se compilan de forma nativa en un binario ejecutable, que no requiere un tiempo de ejecución de lenguaje específico. Estos lenguajes solo necesitan un entorno de sistema operativo en el que se pueda ejecutar el binario compilado. También puede usar tiempos de ejecución exclusivos del sistema operativo de Lambda para implementar binarios compilados con .NET Native AOT y Java GraalVM Native.
Debe incluir un cliente de interfaz de tiempo de ejecución en el binario. El cliente de la interfaz del tiempo de ejecución llama a Uso de la API de tiempo de ejecución de Lambda para tiempos de ejecución personalizados para recuperar las invocaciones de funciones y, a continuación, llama al controlador de funciones. Lambda proporciona clientes de interfaz de tiempo de ejecución para Go, .NET Native AOT, C++
(experimental) y Rust (experimental). Debe compilar el binario para un entorno Linux y para la misma arquitectura de conjunto de instrucciones que planea usar para la función (x86_64 o arm64).
-
Tiempos de ejecución de terceros: puede ejecutar funciones de Lambda con tiempos de ejecución estándar, como Bref
para PHP o Swift AWS Lambda Runtime para Swift. -
Tiempos de ejecución personalizados: puede crear su propio tiempo de ejecución para un lenguaje (o una versión de un lenguaje) para el que Lambda no proporcione un tiempo de ejecución gestionado, como Node.js 19. Para obtener más información, consulte Creación de un tiempo de ejecución personalizado para AWS Lambda. Este es el caso de uso menos común para los tiempos de ejecución exclusivos del sistema operativo.
Lambda admite los siguientes tiempos de ejecución exclusivos del sistema operativo de Ruby.
Nombre | Identificador | Sistema operativo | Fecha de baja | Bloqueo de la función Crear | Bloqueo de la función Actualizar |
---|---|---|---|---|---|
Tiempo de ejecución exclusivo del sistema operativo |
|
Amazon Linux 2023 |
30 de junio de 2029 |
31 de julio de 2029 |
31 de agosto de 2029 |
Tiempo de ejecución exclusivo del sistema operativo |
|
Amazon Linux 2 |
30 de junio de 2026 |
31 de julio de 2026 |
31 de agosto de 2026 |
El tiempo de ejecución de Amazon Linux 2023 (provided.al2023
) ofrece varias ventajas con respecto a Amazon Linux 2, incluida una huella de implementación más reducida y versiones actualizadas de bibliotecas como glibc
.
El tiempo de ejecución provided.al2023
utiliza dnf
como administrador de paquetes en lugar de yum
, que es el administrador de paquetes predeterminado en Amazon Linux 2. Para obtener más información sobre las diferencias entre provided.al2023
y provided.al2
, consulte Presentación del tiempo de ejecución de Amazon Linux 2023 AWS Lambda