AWS presenta las anotaciones de .NET Lambda Framework en versión preliminar

Recientemente, AWS presentó un nuevo marco para escribir funciones de Lambda de .NET 6 denominado Lambda Annotations. Este marco se creó junto con el tiempo de ejecución administrado de .NET 6 para Lambda lanzado en febrero pasado.

Lambda Annotations es un modelo de programación para escribir funciones de .NET Lambda. Cierra la brecha entre el modelo de programación Lambda y el modelo de programación más idiomático; el modelo de programación permite idiomatic.NET patrones de codificación y aprovecha los generadores de origen de C#.

En una publicación de blog de AWS Developer Tools, Norm Johanson, ingeniero de desarrollo de software de Amazon.com, explica:

El marco de anotaciones hace que la experiencia de escribir Lambda se sienta más natural en C#. También se encarga de sincronizar las funciones de Lambda implementadas en el código con la plantilla de CloudFormation del proyecto. Esto significa que no tiene que preocuparse de que las cadenas del controlador de funciones no se establezcan correctamente en las plantillas de CloudFormation o pierda el enfoque al codificar para actualizar también su plantilla JSON o YAML de CloudFormation.

Johanson también menciona que cuando se usa el compilador de C# para crear el proyecto, el marco de anotaciones busca las propiedades de .NET Lambda que indican las funciones de Lambda y agrega código adicional a la compilación que controla la traducción. También sincronizará la información generada, incluida una nueva cadena de controlador de funciones, en la plantilla de CloudFormation. Además, Johanson afirma que el uso de los generadores de origen de C# es una forma de crear la capa de traducción en tiempo de compilación que evita el código de reflexión en tiempo de ejecución.

Los desarrolladores pueden utilizar el nuevo marco a través de AWS Toolkit for Visual Studio 2022. Con el entorno de desarrollo integrado (IDE) de Microsoft, pueden crear un proyecto con la plantilla de proyecto de aplicación sin servidor de AWS disponible, lo que les permite escribir una o más funciones de Lambda e implementarlas en AWS mediante AWS CloudFormation, junto con cualquier otro recurso de AWS necesario, como una sola unidad de implementación.


Fuente: https://aws.amazon.com/blogs/developer/introducing-net-annotations-lambda-framework-preview/

Una vez creado el proyecto, hay una dependencia del paquete NuGet amazon.Lambda.Annotations, que incluye the.NET propiedades utilizadas para anotar el código Lambda y el generador de código fuente de C# que genera el código de traducción producido. Además, el marco de anotaciones facilita la configuración de la inyección de dependencias para las funciones de Lambda mediante el atributo LambdaStartup.

El controlador de Twitter oficial de .NET en AWS declaró en un tweet:

Ahora puede reemplazar el modelo de programa normal de AWS Lambda con una versión más simple y centrarse solo en la lógica empresarial.

Por último, el desarrollo del framework se encuentra en el repositorio de GitHub aws/aws-lambda-dotnet.