

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à.

# AWS Lambda Progetto base
<a name="lambda-creating-project-in-visual-studio"></a>

È possibile creare una funzione Lambda utilizzando i modelli di progetto Microsoft.NET Core, in. AWS Toolkit for Visual Studio

## Creare un progetto Lambda di Visual Studio .NET Core
<a name="create-a-visual-studio-net-core-lam-project"></a>

Puoi usare modelli e blueprint Lambda-Visual Studio per velocizzare l'inizializzazione del progetto. I blueprint Lambda contengono funzioni predefinite che semplificano la creazione di una base di progetto flessibile.

**Nota**  
Il servizio Lambda ha limiti di dati su diversi tipi di pacchetti. *Per informazioni dettagliate sui limiti dei dati, consulta l'argomento sulle [quote Lambda](https://docs.aws.amazon.com/lambda/latest/dg/gettingstarted-limits.html) nella Lambda User AWS Guide.*

**Per creare un progetto Lambda in Visual Studio**

1. Da Visual Studio espandi il menu **File**, espandi **Nuovo**, quindi scegli **Progetto**.

1. Dalla finestra di dialogo **Nuovo progetto**, imposta le caselle a discesa **Lingua**, **Piattaforma** e **Tipo di progetto** su «Tutto», quindi digita **aws lambda** nel campo **Cerca**. Scegli il modello **AWS Lambda Project (.NET Core - C\$1**).

1. Nel campo **Nome**, inserisci**AWSLambdaSample**, specifica la **posizione** del file desiderata, quindi scegli **Crea** per procedere.

1. Dalla pagina **Seleziona Blueprint, seleziona il blueprint** **Empty Function**, quindi scegli **Finish** per creare il progetto Visual Studio.

## Esamina i file di progetto
<a name="review-the-project-files"></a>

Ci sono due file di progetto da esaminare: `aws-lambda-tools-defaults.json` e`Function.cs`.

L'esempio seguente mostra il `aws-lambda-tools-defaults.json` file, che viene creato automaticamente come parte del progetto. È possibile impostare le opzioni di compilazione utilizzando i campi di questo file. 

**Nota**  
 I modelli di progetto in Visual Studio contengono molti campi diversi, prendi nota di quanto segue:  
**function-handler**: specifica il metodo che viene eseguito quando viene eseguita la funzione Lambda
Se si specifica un valore nel campo **function-handler**, tale valore viene precompilato nella procedura guidata di pubblicazione.
Se rinominate la funzione, la classe o l'assieme, dovete aggiornare anche il campo corrispondente nel file. `aws-lambda-tools-defaults.json`

```
{
  "Information": [
    "This file provides default values for the deployment wizard inside Visual Studio and the AWS Lambda commands added to the .NET Core CLI.",
    "To learn more about the Lambda commands with the .NET Core CLI execute the following command at the command line in the project root directory.",
    "dotnet lambda help",
    "All the command line options for the Lambda command can be specified in this file."
  ],
  "profile": "default",
  "region": "us-west-2",
  "configuration": "Release",
  "function-architecture": "x86_64",
  "function-runtime": "dotnet8",
  "function-memory-size": 512,
  "function-timeout": 30,
  "function-handler": "AWSLambdaSample::AWSLambdaSample.Function::FunctionHandler"
}
```

Esamina il `Function.cs` file. `Function.cs`definisce le funzioni c\$1 da esporre come funzioni Lambda. Questa `FunctionHandler` è la funzionalità Lambda che viene eseguita quando viene eseguita la funzione Lambda. In questo progetto, è definita una funzione:`FunctionHandler`, che richiama `ToUpper()` il testo di input. 

Il tuo progetto è ora pronto per la pubblicazione su Lambda.

## Pubblicazione su Lambda
<a name="publish-to-lam"></a>

La procedura e l'immagine seguenti mostrano come caricare la funzione su Lambda utilizzando il. AWS Toolkit for Visual Studio

![\[Richiamo della pagina della funzione di test\]](http://docs.aws.amazon.com/it_it/toolkit-for-visual-studio/latest/user-guide/images/uploadnet8.png)


**Pubblicazione della funzione su Lambda**

1. Passa a AWS Explorer espandendo **View** e scegliendo **AWS Explorer**.

1. In **Solution Explorer**, apri il menu contestuale per (fai clic con il pulsante destro del mouse) per il progetto che desideri pubblicare, quindi scegli **Pubblica su AWS Lambda** per aprire la finestra Carica funzione **Lambda**.

1. Dalla finestra **Upload Lambda Function**, completa i seguenti campi:

   1. **Tipo di pacchetto**: a scelta**Zip**. Un file ZIP verrà creato come risultato del processo di compilazione e verrà caricato su Lambda. In alternativa, puoi scegliere **Package Type****Image**. **Il [tutorial: Basic Lambda Project Creating Docker Image](lambda-creating-project-docker-image.md) descrive come pubblicare usando Package Type.** **Image**

   1. **Lambda Runtime**: scegli Lambda Runtime dal menu a discesa.

   1. **Architettura**: seleziona il radiale per la tua architettura preferita.

   1. **Nome funzione**: seleziona il radiale per **Crea nuova funzione**, quindi inserisci un nome visualizzato per l'istanza Lambda. A questo nome fanno riferimento sia l' AWS Explorer che i display. Console di gestione AWS 

   1. **Gestore**: utilizzare questo campo per specificare un gestore di funzioni. Ad esempio: **AWSLambdaSample::AWSLambdaSample.Function::FunctionHandler**.

   1. *(Facoltativo)* **Descrizione**: inserisci il testo descrittivo da visualizzare con l'istanza, dall'interno di. Console di gestione AWS

   1. **Configurazione**: scegli la configurazione preferita dal menu a discesa.

   1. **Framework**: scegli il tuo framework preferito dal menu a discesa.

   1. **Salva impostazioni**: seleziona questa casella per salvare le impostazioni correnti `aws-lambda-tools-defaults.json` come predefinite per le distribuzioni future.

   1. Scegliete **Avanti** per passare alla finestra Dettagli **avanzati delle funzioni.**

1. Nella finestra **Dettagli delle funzioni avanzate**, completare i seguenti campi:

   1. **Nome del ruolo**: scegli un ruolo associato al tuo account. Il ruolo fornisce credenziali temporanee per tutte le chiamate di AWS servizio effettuate dal codice della funzione. Se non disponi di un ruolo, scorri fino a individuare **Nuovo ruolo basato su AWS Managed Policy** nel selettore a discesa, quindi scegli. **AWSLambdaBasicExecutionRole** Questo ruolo ha autorizzazioni di accesso minime. 
**Nota**  
Il tuo account deve disporre dell'autorizzazione per eseguire l' ListPolicies azione IAM, altrimenti l'elenco dei **nomi dei ruoli** sarà vuoto e non potrai continuare.

   1. *(Facoltativo)* Se la funzione Lambda accede alle risorse su un Amazon VPC, seleziona le sottoreti e i gruppi di sicurezza.

   1. *(Facoltativo)* Imposta tutte le variabili di ambiente necessarie alla funzione Lambda. Le chiavi vengono crittografate automaticamente dalla chiave di servizio predefinita, che è gratuita. In alternativa, puoi specificare una AWS KMS chiave, per la quale è previsto un costo. [KMS](https://aws.amazon.com/kms/) è un servizio gestito che puoi utilizzare per creare e controllare le chiavi di crittografia utilizzate per crittografare i dati. Se hai una AWS KMS chiave, puoi selezionarla dall'elenco.

1. Scegli **Carica** per aprire la finestra della **funzione di caricamento** e iniziare il processo di caricamento.
**Nota**  
La pagina **Funzione di caricamento** viene visualizzata durante il caricamento della funzione su. AWS Per mantenere aperta la procedura guidata dopo il caricamento in modo da poter visualizzare il rapporto, deseleziona **Chiudi automaticamente la procedura guidata in caso di completamento con successo** nella parte inferiore del modulo prima del completamento del caricamento.   
Dopo il caricamento della funzione, la funzione Lambda è attiva. La pagina **Funzione:** visualizza si apre e mostra la configurazione della nuova funzione Lambda.

1. Dalla scheda **Funzione di test**, inserisci `hello lambda!` il campo di immissione del testo, quindi scegli **Invoke per richiamare** manualmente la funzione Lambda. Il testo viene visualizzato nella scheda **Risposta, convertito in lettere maiuscole**. 
**Nota**  
**Puoi riaprire la **Funzione:** visualizza in qualsiasi momento facendo doppio clic sull'istanza distribuita situata nell'Explorer sotto il AWS nodo. **AWS Lambda****  
![\[Richiamo della pagina della funzione di test\]](http://docs.aws.amazon.com/it_it/toolkit-for-visual-studio/latest/user-guide/images/invokeBasic.PNG)

1. *(Facoltativo)* Per confermare di aver pubblicato correttamente la funzione Lambda, accedi a Console di gestione AWS e scegli Lambda. La console mostra tutte le funzioni Lambda pubblicate, inclusa quella appena creata.

## Pulizia
<a name="cleanup-lam"></a>

Se non intendi continuare a sviluppare utilizzando questo esempio, elimina la funzione che hai implementato in modo da non farti addebitare le risorse non utilizzate nel tuo account.

**Nota**  
Lambda monitora automaticamente le funzioni Lambda per te, riportando i parametri tramite Amazon. CloudWatch Per monitorare e risolvere i problemi della tua funzione, consulta l' CloudWatchargomento [Troubleshooting and Monitoring AWS Lambda Functions with Amazon](https://docs.aws.amazon.com/lambda/latest/dg/monitoring-functions.html) nella Developer Guide. AWS Lambda 

**Per eliminare la tua funzione**

1. Dall'**AWS Explorer** espandi il **AWS Lambda**nodo.

1. Fai clic con il pulsante destro del mouse sull'istanza distribuita, quindi scegli **Elimina**.