Repositorios de código abierto
AWS Lambda proporciona diversas herramientas, bibliotecas y componentes de código abierto para ayudarlo a crear, personalizar y optimizar sus aplicaciones sin servidor. Estos recursos incluyen clientes de interfaz de tiempo de ejecución, bibliotecas de eventos, imágenes base de contenedores, herramientas de desarrollo y proyectos de muestra mantenidos por AWS y están disponibles en GitHub. Al aprovechar estos repositorios de código abierto, se pueden ampliar las capacidades de Lambda, crear tiempos de ejecución personalizados, procesar eventos de varios servicios de AWS y obtener información más detallada sobre el rendimiento de su función. En esta página se proporciona información general de los proyectos de código abierto clave que admiten el desarrollo de Lambda.
Clientes de interfaz de tiempo de ejecución
Los clientes de interfaz de tiempo de ejecución (RIC) de Lambda son bibliotecas de código abierto que implementan la API de tiempo de ejecución y administran la interacción entre el código de la función y el servicio de Lambda. Estos clientes se encargan de recibir eventos de invocación, de transmitir información contextual y de notificar errores.
Los clientes de interfaz de ejecución que utilizan los tiempos de ejecución administrados y las imágenes base de contenedores de Lambda se publican como código abierto. Al crear tiempos de ejecución personalizados o ampliar los existentes, se pueden utilizar estas bibliotecas de código abierto para simplificar la implementación. Los siguientes repositorios de GitHub de código abierto contienen el código fuente de los RIC de Lambda:
Para obtener más información acerca del uso de estos clientes para crear tiempos de ejecución personalizados, consulte Creación de un tiempo de ejecución personalizado para AWS Lambda.
Bibliotecas de eventos
Las bibliotecas de eventos de Lambda proporcionan definiciones de tipos y utilidades auxiliares para el procesamiento de eventos de varios servicios de AWS. Estas bibliotecas ayudan con el análisis y la administración de los datos de eventos de manera segura, lo que facilita el trabajo con eventos de servicios como Amazon S3, Amazon DynamoDB y Amazon API Gateway.
Para los lenguajes compilados, AWS proporciona las siguientes bibliotecas de eventos:
Para lenguajes interpretados como Node.js, Python y Ruby, los eventos se pueden analizar directamente como objetos JSON sin necesidad de una biblioteca independiente. Sin embargo, los desarrolladores que utilizan Node.js y Python pueden aprovechar powertools for AWS Lambda, que proporciona esquemas integrados para eventos de AWS que ofrecen sugerencias de tipos, validación de datos y funcionalidades similares a las que ofrecen las bibliotecas de lenguajes compilados.
Imágenes de base de contenedores
AWS proporciona imágenes base de contenedores de código abierto que se pueden utilizar como punto de partida para crear imágenes de contenedores para las funciones de Lambda. Estas imágenes base incluyen el cliente de la interfaz del tiempo de ejecución y otros componentes necesarios para ejecutar las funciones en el entorno de ejecución de Lambda.
Para obtener más información sobre las imágenes base disponibles y cómo utilizarlas, consulte el repositorio de imágenes base de AWS Lambda
Herramientas de desarrollo
AWS proporciona herramientas de desarrollo de código abierto adicionales para ayudarle a crear y optimizar sus funciones de Lambda:
Powertools para AWS Lambda
Powertools para AWS Lambda simplifica el desarrollo sin servidor con utilidades esenciales para evitar el procesamiento duplicado y el procesamiento por lotes para la gestión de varios registros y la biblioteca de consumo de Kafka. Estas funciones ayudan a minimizar la complejidad del código y la sobrecarga operativa.
También se puede aprovechar la validación de esquemas de eventos integrada, el registro y seguimiento estructurados y la integración del almacén de parámetros, que están diseñados para acelerar la creación de funciones de Lambda listas para la producción y, al mismo tiempo, seguir las prácticas recomendadas estipuladas en AWS well-architected.
Repositorios de GitHub:
Herramientas de desarrollo de Java
-
Java Profiler (experimental)
: herramienta para perfilar funciones de Lambda en Java. -
Bibliotecas de Java
: un repositorio que contiene una colección completa de bibliotecas y herramientas de Java para el desarrollo de Lambda, que incluye proyectos clave como las utilidades de pruebas JUnit y las herramientas de creación de perfiles. -
Contenedor de Java sin servidor
: biblioteca que permite ejecutar aplicaciones Java existentes en Lambda con cambios mínimos.
Herramientas de desarrollo de .NET
El repositorio AWS Lambda.NET
Proyectos de ejemplo
Explore una colección completa de ejemplos de proyectos y aplicaciones de Lambda en los repositorios de Serverless Land