

 AWS SDK for .NET V3가 유지 관리 모드로 전환되었습니다.

[AWS SDK for .NET V4](https://docs.aws.amazon.com/sdk-for-net/v4/developer-guide/welcome.html)로 마이그레이션하는 것이 좋습니다. 마이그레이션 방법에 대한 자세한 내용과 정보는 [유지 관리 모드 공지](https://aws.amazon.com/blogs/developer/aws-sdk-for-net-v3-maintenance-mode-announcement/)를 참조하세요.

기계 번역으로 제공되는 번역입니다. 제공된 번역과 원본 영어의 내용이 상충하는 경우에는 영어 버전이 우선합니다.

# 주석을 사용하여 AWS Lambda 함수 작성
<a name="aws-lambda-annotations"></a>

Lambda 함수를 작성할 때 다른 작업 중에서도 대량의 핸들러 코드를 작성하고 AWS CloudFormation 템플릿을 업데이트해야 하는 경우가 있습니다. Lambda 주석은 .NET 6 Lambda 함수에 대한 이러한 부담을 덜어주는 프레임워크로, C \$1에서 Lambda 작성 경험이 더욱 자연스럽게 느껴지도록 합니다.

Lambda 주석 프레임워크를 사용할 때의 이점을 예로 들어 두 개의 숫자를 추가하는 다음 코드 조각을 고려해 보세요.

**Lambda 주석 없음**

```
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 주석 포함**

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

예제에서 볼 수 있듯이 Lambda 주석을 사용하면 특정 보일러 플레이트 코드가 필요하지 않습니다.

프레임워크 사용 방법 및 추가 정보에 대한 자세한 내용은 다음 리소스를 참조하세요.
+ Lambda 주석의 API 및 속성에 대한 설명서는 [GitHub README](https://github.com/aws/aws-lambda-dotnet/blob/master/Libraries/src/Amazon.Lambda.Annotations/README.md)를 참조하세요.
+ Lambda 주석에 대한 [블로그 게시물](https://aws.amazon.com/blogs/developer/net-lambda-annotations-framework/).
+ [https://www.nuget.org/packages/Amazon.Lambda.Annotations](https://www.nuget.org/packages/Amazon.Lambda.Annotations) NuGet 패키지.
+ GitHub의 [사진 자산 관리 프로젝트](https://github.com/awsdocs/aws-doc-sdk-examples/tree/main/dotnetv3/cross-service/PhotoAssetManager) 구체적으로는 프로젝트 [README](https://github.com/awsdocs/aws-doc-sdk-examples/blob/main/dotnetv3/cross-service/PhotoAssetManager/README.md)의 [PamApiAnnotations](https://github.com/awsdocs/aws-doc-sdk-examples/tree/main/dotnetv3/cross-service/PhotoAssetManager/PamApiAnnotations) 폴더와 Lambda 주석에 대한 참조를 참조하세요.