アノテーションを使用してAWS Lambda関数を記述する - AWS SDK for .NET

翻訳は機械翻訳により提供されています。提供された翻訳内容と英語版の間で齟齬、不一致または矛盾がある場合、英語版が優先します。

アノテーションを使用してAWS Lambda関数を記述する

Lambda 関数を作成する場合、大量のハンドラーコードの記述やAWS CloudFormationテンプレートの更新などのタスクが必要になることがあります。Lambda アノテーションは、.NET 6 Lambda 関数にかかるこうした負担を軽減するためのフレームワークです。これにより、C# で Lambda をより自然に記述できるようになります。

Lambda Annotations フレームワークを使用する利点の例として、2 つの数値を加算する以下のコードスニペットを考えてみましょう。

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" } } }; } }

Lambda Annotations あり

public class Functions { [LambdaFunction] [RestApi("/plus/{x}/{y}")] public int Plus(int x, int y) { return x + y; } }

例に示されているように、Lambda Annotations を使用すると特定のボイラープレートコードが不要になります。

フレームワークの使用方法の詳細については、次のリソースを参照してください。