Cuándo utilizar los tiempos de ejecución exclusivos del sistema operativo de Lambda - AWS Lambda

Cuándo utilizar los tiempos de ejecución exclusivos del sistema operativo de Lambda

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 Tiempos de ejecución de la API de Lambda 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++ 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.

Exclusivo del sistema operativo
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

provided.al2023

Amazon Linux 2023

Tiempo de ejecución exclusivo del sistema operativo

provided.al2

Amazon Linux 2

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 en el Blog de informática de AWS.