

# Creación de funciones de Lambda con Rust
<a name="lambda-rust"></a>

Como Rust compila en código nativo, no necesita un tiempo de ejecución dedicado para ejecutar el código de Rust en Lambda. En su lugar, utilice el [cliente de tiempo de ejecución de Rust](https://github.com/aws/aws-lambda-rust-runtime) para crear su proyecto localmente y, a continuación, impleméntelo en Lambda con un [tiempo de ejecución exclusivo del sistema operativo](runtimes-provided.md). Cuando utilice un tiempo de ejecución exclusivo del sistema operativo, Lambda mantiene automáticamente el sistema operativo actualizado con los parches más recientes.

**Herramientas y bibliotecas para Rust**
+ [AWS SDK para Rust](https://docs.aws.amazon.com/sdk-for-rust/latest/dg/getting-started.html): el SDK de AWS para Rust proporciona las API de Rust para interactuar con los servicios de infraestructura de Amazon Web Services.
+  [Cliente de tiempo de ejecución de Rust en Lambda](https://github.com/aws/aws-lambda-rust-runtime): el cliente de tiempo de ejecución de Rust facilita la ejecución de las funciones de Lambda escritas en Rust.
+ [Cargo Lambda](https://www.cargo-lambda.info/guide/what-is-cargo-lambda.html): se trata de una extensión de código abierto de terceros para la herramienta de la línea de comandos de Cargo que simplifica la creación e implementación de funciones de Lambda en Rust.
+ [Lambda HTTP](https://github.com/aws/aws-lambda-rust-runtime/tree/main/lambda-http): esta biblioteca proporciona un contenedor para trabajar con eventos HTTP.
+  [Extensión de Lambda](https://github.com/aws/aws-lambda-rust-runtime/tree/main/lambda-extension): esta biblioteca proporciona asistencia para escribir extensiones de Lambda con Rust. 
+ [Eventos de AWS Lambda](https://crates.io/crates/aws_lambda_events): esta biblioteca proporciona definiciones de tipos de integraciones de orígenes de eventos comunes.

**Aplicaciones de Lambda para Rust de muestra**
+ [Función de Lambda básica](https://github.com/aws/aws-lambda-rust-runtime/blob/main/examples/basic-lambda): una función de Rust que muestra cómo procesar eventos básicos.
+ [Función de Lambda con gestión de errores](https://github.com/aws/aws-lambda-rust-runtime/blob/main/examples/basic-error-handling): una función de Rust que muestra cómo gestionar los errores de Rust personalizados en Lambda.
+ [Función de Lambda con recursos compartidos](https://github.com/aws/aws-lambda-rust-runtime/blob/main/examples/basic-shared-resource): un proyecto de Rust que inicializa los recursos compartidos antes de crear la función de Lambda.
+ [Eventos de Lambda HTTP](https://github.com/aws/aws-lambda-rust-runtime/blob/main/examples/http-basic-lambda): una función de Rust que gestiona eventos HTTP.
+ [Eventos de Lambda HTTP con encabezados CORS](https://github.com/aws/aws-lambda-rust-runtime/blob/main//examples/http-cors): una función de Rust que usa Tower para inyectar encabezados CORS.
+ [API de REST Lambda](https://github.com/aws/aws-lambda-rust-runtime/tree/main/examples/http-axum-diesel): una API de REST que usa Axum y Diesel para conectarse a una base de datos de PostgreSQL.
+ [Demostración de Rust sin servidor](https://github.com/aws-samples/serverless-rust-demo/): un proyecto de Rust que muestra el uso de las bibliotecas de Rust de Lambda, el registro, las variables de entorno y el SDK de AWS.
+ [Extensión de Lambda básica](https://github.com/aws/aws-lambda-rust-runtime/blob/main/examples/extension-basic): una extensión de Rust que muestra cómo procesar eventos de extensión básicos.
+ [Extensión de Amazon Data Firehose para registros de Lambda](https://github.com/aws/aws-lambda-rust-runtime/blob/main/examples/extension-logs-kinesis-firehose): una extensión de Rust que muestra cómo enviar los registros de Lambda a Firehose.

**Topics**
+ [Definición de los controladores de funciones de Lambda en Rust](rust-handler.md)
+ [Uso del objeto de contexto Lambda para recuperar la información de la función de Rust](rust-context.md)
+ [Procesamiento de eventos HTTP con Rust](rust-http-events.md)
+ [Implementar funciones de Rust Lambda con archivos .zip](rust-package.md)
+ [Uso de capas para funciones de Lambda en Rust](rust-layers.md)
+ [Registro y supervisioón de las funciones de Lambda en Rust](rust-logging.md)