As traduções são geradas por tradução automática. Em caso de conflito entre o conteúdo da tradução e da versão original em inglês, a versão em inglês prevalecerá.
Usando anotações para escrever funções do AWS Lambda
Ao escrever funções do Lambda, às vezes é necessário escrever uma grande quantidade de código de manipulador e atualizar modelos do AWS CloudFormation, entre outras tarefas. Lambda Annotations é uma estrutura para ajudar a aliviar essas cargas para funções do Lambda do .NET 6, tornando assim a experiência de escrever Lambda em C# mais natural.
Como exemplo do benefício de usar a estrutura Lambda Annotations, considere os seguintes trechos de código que adicionam dois números.
Sem 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" } } }; } }
Com Lambda Annotations
public class Functions { [LambdaFunction] [RestApi("/plus/{x}/{y}")] public int Plus(int x, int y) { return x + y; } }
Conforme mostrado no exemplo, o Lambda Annotations pode eliminar a necessidade de um determinado código clichê.
Para obter detalhes sobre como usar a estrutura, bem como informações adicionais, consulte os seguintes recursos:
-
O README do GitHub
para documentação sobre as APIs e os atributos do Lambda Annotations. -
A publicação no blog
do Lambda Annotations. -
O pacote NuGet
Amazon.Lambda.Annotations
. -
O projeto Photo Asset Management
no GitHub. Especificamente, consulte a pasta PamApiAnnotations e as referências a Lambda Annotations no README do projeto.