

La AWS SDK pour .NET V3 est passée en mode maintenance.

Nous vous recommandons de migrer vers la version [AWS SDK pour .NET V4](https://docs.aws.amazon.com/sdk-for-net/v4/developer-guide/welcome.html). Pour plus de détails et d'informations sur la façon de migrer, veuillez consulter notre [annonce relative au mode de maintenance](https://aws.amazon.com/blogs/developer/aws-sdk-for-net-v3-maintenance-mode-announcement/).

Les traductions sont fournies par des outils de traduction automatique. En cas de conflit entre le contenu d'une traduction et celui de la version originale en anglais, la version anglaise prévaudra.

# Utiliser des annotations pour écrire des fonctions AWS Lambda
<a name="aws-lambda-annotations"></a>

Lorsque vous écrivez des fonctions Lambda, vous devez parfois écrire une grande quantité de code de gestionnaire et mettre à jour des AWS CloudFormation modèles, entre autres tâches. Lambda Annotations est un framework destiné à alléger ces charges pour les fonctions Lambda de .NET 6, rendant ainsi l'expérience d'écriture Lambda plus naturelle en C\#.

À titre d'exemple des avantages de l'utilisation du framework Lambda Annotations, considérez les extraits de code suivants qui ajoutent deux nombres.

**Sans annotations 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" } }
        };
    } 
}
```

**Avec des annotations Lambda**

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

Comme le montre l'exemple, les annotations Lambda peuvent supprimer le besoin d'un certain code de plaque de cuisson.

Pour plus de détails sur l'utilisation du framework ainsi que des informations supplémentaires, consultez les ressources suivantes :
+ Le [GitHub fichier README](https://github.com/aws/aws-lambda-dotnet/blob/master/Libraries/src/Amazon.Lambda.Annotations/README.md) pour la documentation sur les attributs APIs et les attributs des annotations Lambda.
+ L'[article de blog](https://aws.amazon.com/blogs/developer/net-lambda-annotations-framework/) sur les annotations Lambda.
+ Le package [https://www.nuget.org/packages/Amazon.Lambda.Annotations](https://www.nuget.org/packages/Amazon.Lambda.Annotations) NuGet .
+ Le [projet Photo Asset Management](https://github.com/awsdocs/aws-doc-sdk-examples/tree/main/dotnetv3/cross-service/PhotoAssetManager) sur GitHub. [Plus précisément, consultez le [PamApiAnnotations](https://github.com/awsdocs/aws-doc-sdk-examples/tree/main/dotnetv3/cross-service/PhotoAssetManager/PamApiAnnotations)dossier et les références aux annotations Lambda dans le fichier README du projet.](https://github.com/awsdocs/aws-doc-sdk-examples/blob/main/dotnetv3/cross-service/PhotoAssetManager/README.md)