

È stata rilasciata la versione 4 (V4) di\$1 AWS SDK per .NET 

Per informazioni su come apportare modifiche e migrare le applicazioni, consulta l'argomento sulla [migrazione](https://docs.aws.amazon.com/sdk-for-net/v4/developer-guide/net-dg-v4.html).

 [https://docs.aws.amazon.com/sdk-for-net/v4/developer-guide/net-dg-v4.html](https://docs.aws.amazon.com/sdk-for-net/v4/developer-guide/net-dg-v4.html)

Le traduzioni sono generate tramite traduzione automatica. In caso di conflitto tra il contenuto di una traduzione e la versione originale in Inglese, quest'ultima prevarrà.

# Usare le annotazioni per scrivere funzioni AWS Lambda
<a name="aws-lambda-annotations"></a>

Quando si scrivono funzioni Lambda, a volte è necessario scrivere una grande quantità di codice gestore e aggiornare AWS CloudFormation modelli, tra le altre attività. Lambda Annotations è un framework che aiuta ad alleggerire questi oneri per le funzioni.NET 6 Lambda, rendendo così l'esperienza di scrittura Lambda più naturale in C\$1.

Come esempio dei vantaggi dell'utilizzo del framework Lambda Annotations, considera i seguenti frammenti di codice che aggiungono due numeri.

**Senza annotazioni 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" } }
        };
    } 
}
```

**Con annotazioni Lambda**

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

Come mostrato nell'esempio, Lambda Annotations può eliminare la necessità di un determinato codice di targa della caldaia.

Per dettagli su come utilizzare il framework e informazioni aggiuntive, consulta le seguenti risorse:
+ Il [GitHub README](https://github.com/aws/aws-lambda-dotnet/blob/master/Libraries/src/Amazon.Lambda.Annotations/README.md) per la documentazione sugli attributi APIs e sulle annotazioni Lambda.
+ Il [post del blog](https://aws.amazon.com/blogs/developer/net-lambda-annotations-framework/) di Lambda Annotations.
+ Il pacchetto [https://www.nuget.org/packages/Amazon.Lambda.Annotations](https://www.nuget.org/packages/Amazon.Lambda.Annotations) NuGet .
+ Il progetto [Photo Asset Management](https://github.com/awsdocs/aws-doc-sdk-examples/tree/main/dotnetv3/cross-service/PhotoAssetManager) su. GitHub [In particolare, consulta la [PamApiAnnotations](https://github.com/awsdocs/aws-doc-sdk-examples/tree/main/dotnetv3/cross-service/PhotoAssetManager/PamApiAnnotations)cartella e i riferimenti alle annotazioni Lambda nel progetto README.](https://github.com/awsdocs/aws-doc-sdk-examples/blob/main/dotnetv3/cross-service/PhotoAssetManager/README.md)
**Nota**  
L'esempio precedente è specifico della versione 3 di. AWS SDK per .NET Se si utilizza l'esempio con la versione 4 dell'SDK (la versione più recente), potrebbe essere necessario apportare modifiche in base alle informazioni contenute in. [Migrazione alla versione 4](net-dg-v4.md)