

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

# Esecuzione e debug di funzioni Lambda direttamente dal codice
<a name="serverless-apps-run-debug-no-template"></a>

Durante il test AWS SAM dell'applicazione, puoi scegliere di eseguire ed eseguire il debug solo della funzione Lambda ed escludere altre risorse definite AWS SAM dal modello. Questo approccio prevede l'utilizzo della [CodeLens](https://code.visualstudio.com/blogs/2017/02/12/code-lens-roundup)funzionalità per identificare i gestori di funzioni Lambda nel codice sorgente che è possibile richiamare direttamente.

I gestori Lambda rilevati da CodeLens dipendono dal linguaggio e dal runtime utilizzati per l'applicazione.


|  Linguaggio/tempo di esecuzione | Criteri per le funzioni Lambda da identificare mediante indicatori CodeLens | 
| --- | --- | 
|  C\$1 (dotnetcore2.1, 3.1; .NET 5.0)  | La funzione presenta inoltre le seguenti caratteristiche:[\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/it_it/toolkit-for-vscode/latest/userguide/serverless-apps-run-debug-no-template.html) L'estensione [ms-dotnettools.csharp (o qualsiasi estensione](https://marketplace.visualstudio.com/items?itemName=ms-dotnettools.csharp) che fornisca simboli linguistici per C\$1) è installata e abilitata. | 
|  JavaScriptTypeScript /(Node.js 12.x, 14.x)  |  La funzione presenta inoltre le seguenti caratteristiche:[\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/it_it/toolkit-for-vscode/latest/userguide/serverless-apps-run-debug-no-template.html)  | 
|  Python (3.7, 3.8, 3.9, 3.10, 3.11, 3.12)  |  La funzione presenta inoltre le seguenti caratteristiche:[\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/it_it/toolkit-for-vscode/latest/userguide/serverless-apps-run-debug-no-template.html) L'estensione [ms-python.python (o qualsiasi estensione](http://marketplace.visualstudio.com/items?itemName=ms-python.python) che fornisca simboli linguistici per Python) è installata e abilitata. | 
|  Java (8, 8.al2, 11)  |  La funzione presenta inoltre le seguenti caratteristiche:[\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/it_it/toolkit-for-vscode/latest/userguide/serverless-apps-run-debug-no-template.html) L'[estensione redhat.java (o qualsiasi estensione](https://marketplace.visualstudio.com/items?itemName=redhat.java) che fornisca simboli linguistici per Java) è installata e abilitata. Questa estensione richiede Java 11, indipendentemente dal runtime Java in uso. Il [vscjava. vscode-java-debug](https://marketplace.visualstudio.com/items?itemName=vscjava.vscode-java-debug)l'estensione (o qualsiasi estensione che fornisce un debugger Java) è installata e abilitata.  | 
|  Vai (1.x)  |  La funzione presenta inoltre le seguenti caratteristiche:[\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/it_it/toolkit-for-vscode/latest/userguide/serverless-apps-run-debug-no-template.html) L'[estensione golang.go](https://marketplace.visualstudio.com/items?itemName=golang.Go) è installata, configurata e abilitata. | 

# Per l'esecuzione e il debug di un'applicazione serverless direttamente dal codice dell'applicazione




1. **Per visualizzare i file dell'applicazione in VS Code File Explorer, scegli **Visualizza**, Esplora.**

1. Dalla cartella dell'applicazione (ad esempio, *my-sample-app*), espandi la cartella delle funzioni (in questo caso, *hello-world*) e apri il `app.js` file.

1. Nell' CodeLens indicatore che identifica un gestore di funzioni Lambda idoneo, scegli. `Add Debug Configuration`  
![\[Accedere all'opzione Aggiungi configurazione di debug nell' CodeLens indicatore per un gestore di funzioni Lambda.\]](http://docs.aws.amazon.com/it_it/toolkit-for-vscode/latest/userguide/images/sam-codelens-lambda.png)

1. Nella **palette dei comandi**, seleziona il runtime in cui verrà eseguita l' AWS SAM applicazione.

1. Nell'editor del file `launch.json`, modifica o conferma i valori per le seguenti proprietà di configurazione:
   + `"name"`: inserisci un nome facilmente leggibile da visualizzare nel campo a tendina **Configuration** (Configurazione) nella vista **Run** (Esegui).
   + `"target"`: assicurarsi che il valore sia `"code"` in modo che venga richiamato direttamente un gestore della funzione Lambda.
   + `"lambdaHandler"`: inserisci il nome del metodo all'interno del codice sorgente chiamato da Lambda per eseguire la funzione. Ad esempio, per le applicazioni in JavaScript, l'impostazione predefinita è`app.lambdaHandler`.
   + `"projectRoot"`: inserisci il percorso del file dell'applicazione che contiene la funzione Lambda.
   + `"runtime"`: inserisci o conferma un tempo di esecuzione valido per l'ambiente di esecuzione Lambda, ad esempio `"nodejs.12x"`.
   + `"payload"`: scegli una delle seguenti opzioni per definire come input il payload dell'evento da fornire alla funzione Lambda:
     + `"json"`: coppie chiave-valore in formato JSON che definiscono il payload dell'evento.
     + `"path"`: un percorso del file utilizzato come payload dell'evento.

     Nell'esempio seguente, l'`"json"`opzione definisce il payload.  
![\[Configurazione del launch.json file per richiamare direttamente le funzioni Lambda.\]](http://docs.aws.amazon.com/it_it/toolkit-for-vscode/latest/userguide/images/direct_invoke_config_updated_with_payload_field.png)

   Per ulteriori informazioni su questa e altre voci nel file `launch.json`, consulta [Opzioni di configurazione per il debug di applicazioni serverless](serverless-apps-run-debug-config-ref.md).

1. 

   **Se sei soddisfatto della configurazione di debug, per iniziare il debug, scegli la freccia verde di riproduzione accanto a RUN.**

   All'avvio delle sessioni di debug, il pannello **DEBUG CONSOLE mostra l'output di debug** e visualizza tutti i valori restituiti dalla funzione Lambda. ****(Durante il debug delle AWS SAM applicazioni, **AWS Toolkit** viene selezionato come canale di output nel pannello Output.)****