Se ha publicado la versión 4 de AWS SDK para .NET.
Para empezar a usar la nueva versión del SDK, consulte la Guía para desarrolladores de AWS SDK para .NET (versión 4), especialmente el tema Migración a la versión 4.
Uso de anotaciones para escribir funciones de AWS Lambda
Al escribir funciones de Lambda, a veces es necesario escribir una gran cantidad de código de controlador y actualizar plantillas de AWS CloudFormation, entre otras tareas. Lambda Annotations es un marco que ayuda a aliviar estas cargas con las funciones de Lambda de .NET 6, lo que hace que la experiencia de escribir Lambda resulte más natural en C#.
Considere los siguientes fragmentos de código, en los que se suman dos números, como ejemplo de las ventajas de utilizar el marco Lambda Annotations.
Sin Lambda Annotations
public class Functions { public APIGatewayProxyResponse LambdaMathPlus(APIGatewayProxyRequest request, ILambdaContext context) { if (!request.PathParameters.TryGetValue("x", out var xs)) { return new APIGatewayProxyResponse { StatusCode = (int)HttpStatusCode.BadRequest }; } if (!request.PathParameters.TryGetValue("y", out var ys)) { return new APIGatewayProxyResponse { StatusCode = (int)HttpStatusCode.BadRequest }; } var x = int.Parse(xs); var y = int.Parse(ys); return new APIGatewayProxyResponse { StatusCode = (int)HttpStatusCode.OK, Body = (x + y).ToString(), Headers = new Dictionary<string, string> { { "Content-Type", "text/plain" } } }; } }
Con Lambda Annotations
public class Functions { [LambdaFunction] [RestApi("/plus/{x}/{y}")] public int Plus(int x, int y) { return x + y; } }
Como se muestra en el ejemplo, Lambda Annotations permite prescindir de tener que usar código repetitivo en cierta medida.
Para saber cómo utilizar el marco, así como obtener información adicional, consulte los siguientes recursos:
-
README de GitHub
, para obtener documentación sobre las API y los atributos de las Lambda Annotations. -
La entrada de blog
de Lambda Annotations. -
El paquete NuGet
Amazon.Lambda.Annotations. -
Proyecto PhotoAssetManagement
en GitHub. En concreto, consulte la carpeta PamApiAnnotations y las referencias a Lambda Annotations del archivo README del proyecto.