

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 Funzioni
<a name="building-lambda"></a>

 AWS Toolkit for Visual Studio Code Fornisce un supporto completo per AWS Lambda le funzioni, consentendoti di creare, testare e implementare direttamente da VS Code.

Lambda è un servizio di elaborazione completamente gestito e basato sugli eventi che esegue automaticamente il codice in risposta agli eventi di oltre 200 servizi AWS e applicazioni ( software-as-a-serviceSaaS). Per informazioni dettagliate sul AWS Lambda servizio, consulta la Guida per gli sviluppatori. [AWS Lambda](https://docs.aws.amazon.com/lambda/latest/dg/welcome.html)

Negli argomenti seguenti viene descritto come utilizzare AWS Lambda in. AWS Toolkit for Visual Studio Code

**Topics**
+ [Lavorare con AWS Lambda le funzioni](remote-lambda.md)
+ [AWS Lambda console a IDE](lambda-console-ide.md)
+ [AWS Lambda con LocalStack supporto](lambda-localstack.md)
+ [AWS Lambda debug remoto](lambda-remote-debug.md)

# Lavorare con AWS Lambda le funzioni
<a name="remote-lambda"></a>

Ti AWS Toolkit for Visual Studio Code consente di lavorare con AWS Lambda le tue funzioni nell'ambiente VS Code locale. Con il AWS Toolkit, puoi creare, modificare, testare, eseguire il debug e distribuire le tue funzioni Lambda, senza dover uscire dall'IDE. Per informazioni dettagliate sul AWS Lambda servizio, consulta la Guida per gli sviluppatori. [AWS Lambda](https://docs.aws.amazon.com//lambda/latest/dg/welcome.html)

Le sezioni seguenti descrivono come iniziare a utilizzare le funzioni Lambda in. AWS Toolkit for Visual Studio Code

**Nota**  
Se hai già creato funzioni Lambda utilizzando Console di gestione AWS, puoi richiamarle dal Toolkit. Inoltre, puoi aprire le tue funzioni Lambda in VS Code da. Per ulteriori informazioni AWS Lambda console, consulta l'[AWS Lambda console a IDE](lambda-console-ide.md)argomento di questa guida per l'utente. Per creare una nuova funzione Lambda in VS Code, segui i passaggi descritti nell'argomento [Creazione di una nuova applicazione serverless (locale)](https://docs.aws.amazon.com//toolkit-for-vscode/latest/userguide/sam-get-started.html#serverless-apps-create) in questa guida per l'utente.

## Prerequisiti
<a name="remote-lambda-prereq"></a>

Le seguenti condizioni devono essere soddisfatte per utilizzare il AWS Lambda servizio nel Toolkit. AWS 
+ La versione più recente di AWS Toolkit for Visual Studio Code viene installata e configurata con AWS le credenziali dell'utente.
+ Le autorizzazioni e le policy gestite AWS Identity and Access Management (IAM) sono configurate per funzionare con il AWS Lambda servizio. Per informazioni dettagliate su come configurare le autorizzazioni e creare una policy AWS gestita compatibile, consulta l' AWS Lambda argomento relativo alla forma nella Guida [AWS Identity and Access Management per](https://docs.aws.amazon.com/lambda/latest/dg/security-iam.html) gli *AWS Lambda sviluppatori*.
+ Disponi di AWS Lambda funzioni esistenti o conosci bene come crearne una. *Per istruzioni su come creare una funzione Lambda, consulta l'argomento [Crea la tua prima funzione Lambda](https://docs.aws.amazon.com/lambda/latest/dg/getting-started.html) nella Guida per gli sviluppatori.AWS Lambda *

## Invocare una funzione Lambda
<a name="invoke-lam-func"></a>

Per richiamare una funzione Lambda dal AWS tuo account in VS Code, completa i seguenti passaggi.

1. Da AWS Toolkit for Visual Studio Code, espandi l'explorer. AWS 

1. Dall' AWS explorer, espandi **Lambda per visualizzare le tue** risorse Lambda.

1. Apri il menu contestuale per (fai clic con il pulsante destro del mouse) per la funzione Lambda che desideri richiamare, quindi scegli **Invoke nel cloud o scegli l'**icona **Invoke nel cloud per aprire il menu di configurazione** della **chiamata remota** in VS Code.

1. Dal menu di **configurazione di Remote Invoke**, specifica le impostazioni del **Payload** e aggiungi tutte le informazioni aggiuntive necessarie per l'evento.
**Nota**  
Il primo processo di richiamo potrebbe iniziare a funzionare non appena scegli **Invoke nel cloud in Explorer**. AWS L'output viene visualizzato nella scheda **OUTPUT** del terminale VS Code.

1. Scegli il pulsante **Remote Invoke** per richiamare la tua funzione. L'output viene visualizzato nella scheda **OUTPUT** del terminale VS Code.

## Eliminazione di una funzione Lambda
<a name="delete-lambda"></a>

Per eliminare una funzione Lambda, completare la procedura seguente.

**avvertimento**  
Non utilizzare questa procedura per eliminare le funzioni Lambda associate a [CloudFormation](https://docs.aws.amazon.com/cloudformation/). Queste funzioni devono essere eliminate dallo CloudFormation stack.

1. Da AWS Toolkit for Visual Studio Code, espandi l' AWS explorer.

1. Dall' AWS explorer, espandi **Lambda per visualizzare le tue** risorse Lambda.

1. **Fai clic con il pulsante destro del mouse sulla funzione Lambda che desideri eliminare, quindi scegli Elimina.**

1. Quando richiesto, conferma che desideri eliminare la funzione.

Una volta eliminata, la funzione non viene più elencata nell' AWS Explorer.

## Download di una funzione Lambda
<a name="import-lambda"></a>

Puoi scaricare il codice da una funzione Lambda remota nell'area di lavoro VS Code per la modifica e il debug.

**Nota**  
Per scaricare la funzione Lambda, è necessario lavorare in un'area di lavoro VS Code con una cartella accessibile e il AWS Toolkit supporta questa funzionalità solo con le funzioni Lambda che utilizzano i runtime Node.js e Python.

1. Da, espandi l'explorer. AWS Toolkit for Visual Studio Code AWS 

1. Dall' AWS explorer, espandi **Lambda per visualizzare le tue** risorse Lambda.

1. **Fai clic con il pulsante destro del mouse sulla funzione Lambda che desideri scaricare, quindi scegli Scarica.**

1. La funzione Lambda si apre nell'editor VS Code e viene visualizzata nell' AWS explorer al termine del download. Il AWS Toolkit crea anche una *configurazione di avvio* nel pannello di esecuzione di VS Code che consente di eseguire ed eseguire il debug della funzione Lambda localmente con. AWS Serverless Application Model Per ulteriori informazioni sull'utilizzo AWS SAM, consulta. [Esecuzione e debug di un'applicazione serverless dal modello (locale)](sam-get-started.md#serverless-apps-debug) 

## Implementazione degli aggiornamenti per le nuove funzioni Lambda
<a name="deploy-lambda"></a>

È possibile distribuire aggiornamenti alle nuove funzioni Lambda da una posizione temporanea non specificata sul computer locale.

**Nota**  
Quando ci sono modifiche non distribuite ai tuoi file lambda, ricevi una notifica dall'icona **M** situata accanto ai file modificati nell'editor VS Code e nell'explorer. AWS 

**Distribuzione dall'editor VS Code**

1. Apri un file dalla tua funzione Lambda nell'editor VS Code, quindi apporta una modifica al file.

1. Salva manualmente dal menu principale di VS Code o premendo **option\$1s** (Mac) **ctrl\$1s** (Windows).

1. VS Code ti chiede automaticamente di distribuire le modifiche nel cloud, scegli il pulsante **Deploy per confermare la distribuzione**.

1. VS Code ti aggiorna sullo stato della tua implementazione e ti avvisa quando il processo è completo.

**Distribuzione da Explorer AWS**

1. Apri un file dalla tua funzione Lambda nell'editor VS Code, quindi apporta una modifica al file.

1. Dal AWS Toolkit, espandi l' AWS explorer.

1. Dall' AWS explorer, espandi l' AWS area con la funzione Lambda per la quale desideri distribuire le modifiche.

1. Dalla AWS regione, espandi Lambda e naviga nella funzione per cui desideri implementare le modifiche.

1. Dal menu rapido accanto alla funzione, scegli l'icona **Salva e distribuisci il codice.**

1. VS Code ti aggiorna sullo stato della tua implementazione e ti avvisa quando il processo è completo.

## Caricamento degli aggiornamenti per le funzioni Lambda esistenti
<a name="upload-lambda"></a>

Le seguenti procedure descrivono come caricare le modifiche locali apportate alle funzioni Lambda esistenti. Questa funzionalità supporta i caricamenti con qualsiasi runtime supportato da Lambda.

**avvertimento**  
Prima di caricare la funzione lambda, tieni presente quanto segue:  
L'aggiornamento del codice in questo modo non utilizza la AWS SAM CLI per la distribuzione o la creazione di uno stack CloudFormation 
Il AWS Toolkit non convalida il codice. Convalida il codice e testa le tue funzioni prima di caricare qualsiasi modifica nel cloud. 

**Caricamento di un archivio Zip**

1. Da AWS Toolkit for Visual Studio Code, espandi l' AWS esploratore.

1. Dall' AWS explorer, espandi **Lambda per visualizzare le tue** risorse Lambda.

1. Fai clic con il pulsante destro del mouse sulla funzione Lambda in cui desideri caricare le modifiche, quindi scegli Carica **Lambda**... per aprire il **menu Seleziona il tipo di caricamento**.

1. Scegli **ZIP Archive** per localizzarlo `ZIP Archive` nella tua directory locale.

1. Quando richiesto, conferma il caricamento per avviare il caricamento del file selezionato`ZIP Archive`.

1. Lo stato del caricamento viene visualizzato in VS Code e riceverai una notifica quando il processo di caricamento è completo.

**Caricamento di una directory senza compilarla**

1. Da AWS Toolkit for Visual Studio Code, espandi l' AWS esploratore.

1. Dall' AWS explorer, espandi **Lambda per visualizzare le tue** risorse Lambda.

1. Fai clic con il pulsante destro del mouse sulla funzione Lambda in cui desideri caricare le modifiche, quindi scegli Carica **Lambda**... per aprire il **menu Seleziona il tipo di caricamento**.

1. Scegliete **Directory** per passare alla schermata **Build directory**.

1. Nella schermata **Build directory**, scegliete **No** per scegliere una directory locale da caricare.

1. Quando richiesto, conferma il caricamento per caricare la directory selezionata.

1. Lo stato del caricamento viene visualizzato in VS Code e riceverai una notifica quando il processo di caricamento è completo.

**Caricamento di una directory con una build**
**Nota**  
Ricorda quanto segue:  
Questa procedura richiede la AWS Serverless Application Model CLI.
Il AWS Toolkit ti avvisa che un gestore corrispondente non può essere rilevato prima del caricamento.
Per cambiare il gestore collegato alla tua funzione Lambda, usa o AWS Lambda console il. AWS Command Line Interface

1. Da AWS Toolkit for Visual Studio Code, espandi l'explorer. AWS 

1. Dall' AWS explorer, espandi **Lambda per visualizzare le tue** risorse Lambda.

1. Fai clic con il pulsante destro del mouse sulla funzione Lambda in cui desideri caricare le modifiche, quindi scegli Carica **Lambda**... per aprire il **menu Seleziona il tipo di caricamento**.

1. Scegliete **Directory** per passare alla schermata **Build directory**.

1. Dalla schermata **Build directory**, scegli **Sì**, quindi seleziona una directory locale per il caricamento.

1. Quando richiesto, conferma il caricamento per iniziare a creare e caricare la directory selezionata.

1. Lo stato del caricamento viene visualizzato in VS Code e riceverai una notifica quando il processo di caricamento è completo.

## Conversione della funzione Lambda in un progetto AWS SAM
<a name="lambda-sam"></a>

Per convertire la funzione Lambda in uno AWS SAM stack, completa i seguenti passaggi.

**avvertimento**  
Attualmente, solo un sottoinsieme di risorse è supportato per la conversione di una funzione Lambda in un progetto. AWS SAM Per individuare le risorse mancanti dopo una conversione, controlla la console Lambda e aggiungile manualmente al AWS SAM modello. Per ulteriori dettagli sulle risorse supportate e non supportate, consulta l'argomento relativo al [supporto dei tipi di risorse](https://docs.aws.amazon.com//AWSCloudFormation/latest/UserGuide/resource-import-supported-resources.html) nella Guida per gli *AWS CloudFormation sviluppatori*.

1. Dal AWS Toolkit, espandi l' AWS explorer.

1. Dall' AWS explorer, espandi la AWS regione con la funzione Lambda che desideri convertire in un AWS SAM progetto.

1. Dalla AWS regione, espandi Lambda e naviga la funzione che desideri convertire in uno AWS SAM stack.

1. Dal menu rapido accanto alla funzione Lambda, scegli l'icona **Converti in applicazione SAM per** sfogliare il file system locale e specificare una posizione per il nuovo AWS SAM progetto.

1. Dopo aver specificato una posizione, il AWS Toolkit inizia a convertire la funzione Lambda in un AWS SAM progetto, VS Code fornisce aggiornamenti sullo stato del processo.
**Nota**  
Questo processo può richiedere alcuni minuti.

1. Quando richiesto da VS Code, inserisci il nome dello stack, quindi premi il tasto per continuare. **Enter**

1. VS Code continua ad aggiornarti con lo stato del tuo progetto, quindi ti avvisa quando il processo è completo e apre il tuo nuovo AWS SAM progetto come area di lavoro VS Code.

# AWS Lambda console a IDE
<a name="lambda-console-ide"></a>

La funzione AWS Lambda console to IDE ti consente di scaricare AWS Lambda le tue funzioni da VS Code. AWS Lambda console L'utilizzo delle funzioni Lambda in VS Code consente di accedere ad altre opzioni di sviluppo locale come AWS Serverless Application Model ()AWS SAM e. AWS Cloud Development Kit (AWS CDK)

Per ulteriori informazioni in merito AWS Lambda, consulta la Guida per gli sviluppatori [AWS Lambda](https://docs.aws.amazon.com//lambda/latest/dg/welcome.html). Per iniziare a utilizzare la funzione Lambda nel AWS Toolkit, consulta l'argomento [Utilizzo delle AWS Lambda funzioni](https://docs.aws.amazon.com//toolkit-for-vscode/latest/userguide/remote-lambda.html) in questa guida per l'utente. Le sezioni seguenti descrivono come spostare il flusso di lavoro dalla console Lambda a VS Code. *Per informazioni dettagliate sullo spostamento delle funzioni Lambda dalla console Lambda a VS Code, incluso come iniziare a lavorare con la console Lambda, consulta l'argomento Sviluppo di [funzioni Lambda localmente con VS Code nella Guida](https://docs.aws.amazon.com/lambda/latest/dg/foundation-iac-local-development.html) per gli sviluppatori.AWS Lambda *

## Passaggio dalla console allo sviluppo locale
<a name="w2aac17c43c13b7"></a>

Per aprire una funzione Lambda dalla console Lambda in VS Code, completa i seguenti passaggi:

1. Dal tuo browser web, apri la console [Lambda](https://console.aws.amazon.com/lambda).

1. Dalla console Lambda, scegli la funzione che desideri aprire in VS Code.

1. Dalla vista delle funzioni, vai alla scheda **Codice sorgente**.

1. Dalla scheda **Codice sorgente**, scegli **Apri in VS Code**.

## Lavorare con la funzione Lambda in VS Code
<a name="w2aac17c43c13b9"></a>

Quando la funzione Lambda si apre in VS Code tramite la console Lambda: 
+ VS Code si avvia automaticamente sul computer locale.
+ La tua funzione Lambda si apre come area di lavoro VS Code.
+ La tua Lambda `handler file` si apre nell'editor VS Code.
**Nota**  
Se non è configurato correttamente nell'area di lavoro, `handler file` nell'editor VS Code non viene aperto alcun file.

L'apertura della funzione Lambda in VS Code tramite la console Lambda consente di accedere a tutte le funzionalità esistenti di Toolkit AWS Lambda, inclusa la possibilità di modificare il codice della funzione con supporto linguistico completo, test locali, debug remoto, supporto per l'implementazione e gestione delle dipendenze. Per ulteriori informazioni sulle funzionalità Lambda supportate nel AWS Toolkit, consulta il sommario dei [AWS Lambda](https://docs.aws.amazon.com//toolkit-for-vscode/latest/userguide/building-lambda.html)servizi in questa guida per l'utente.

# AWS Lambda con LocalStack supporto
<a name="lambda-localstack"></a>

Crea, testa ed esegui il debug delle tue applicazioni serverless con LocalStack il supporto di. AWS Toolkit for Visual Studio Code LocalStack è un emulatore AWS cloud che consente il test locale di applicazioni serverless.

Per ulteriori informazioni in merito AWS Lambda, consulta la Guida per gli [AWS Lambda](https://docs.aws.amazon.com//lambda/latest/dg/welcome.html)*sviluppatori*. Per saperne di più LocalStack, visita il loro sito Web [LocalStack](https://www.localstack.cloud/).

## Prerequisiti
<a name="prereq"></a>

 Di seguito sono riportati i prerequisiti per lavorare con LocalStack VS Code. 

**Nota**  
*La LocalStack CLI viene installata durante il processo di configurazione, ma se si preferisce una versione diversa della LocalStack CLI, la versione minima richiesta è la 4.8.0.*
+ È necessario un account LocalStack Web Application per accedere a tutte le funzionalità disponibili per i livelli gratuito e a pagamento. LocalStack LocalStack l'edizione community è disponibile senza un account.
+ Docker è necessario per funzionare con LocalStack VS Code. Per ulteriori informazioni sui LocalStack requisiti per Docker, consulta l'argomento LocalStack [Docker Images](https://docs.localstack.cloud/aws/capabilities/config/docker-images/) nella documentazione. LocalStack 
+ **Consigliato:** il AWS Command Line Interface (AWS CLI) ti aiuta a lavorare con i servizi nel tuo ambiente cloud simulato.

## Installazione LocalStack
<a name="install"></a>

 Per installare versioni a più livelli LocalStack gratuite e a pagamento, completa i seguenti passaggi. 

**Nota**  
Per istruzioni su come configurare l'edizione LocalStack Community, consulta il contenuto *LocalStackdella community* nella LocalStack sezione *Configurazione* di questo argomento.

1. Dal AWS Toolkit, espandi l'esploratore **APPLICATION BUILDER.**

1. Scegli il pulsante **Apri procedura dettagliata** per aprire la scheda Guida **introduttiva alla creazione della tua applicazione nell'editor VS** Code.

1. Dalla procedura dettagliata, scegli Installa per avviare il processo di **installazione LocalStack** in VS Code. LocalStack 

## Configurazione LocalStack
<a name="setup"></a>

Dopo aver installato l' LocalStack estensione per VS Code, potresti visualizzare uno dei seguenti indicatori quando è necessaria la configurazione:
+ Nella barra di stato di VS Code, situata nell'angolo inferiore sinistro dell'IDE per impostazione predefinita, lo LocalStack stato è rosso.
+ VS Code ti chiede di eseguire la configurazione. LocalStack

Esistono due tipi di installazione e configurazioni LocalStack, a seconda della versione che LocalStack stai utilizzando. Le seguenti sezioni a schede descrivono ogni LocalStack processo di configurazione.

**Nota**  
LocalStack i token di autenticazione sono necessari per le versioni di livello gratuito e a pagamento di. LocalStack Per informazioni specifiche sui LocalStack prezzi, consulta la guida ai prezzi di [Choose your plan](https://www.localstack.cloud/pricing).

### LocalStack livelli gratuiti e a pagamento
<a name="free-paid"></a>

Esistono 2 modi per configurare. LocalStack
+ Dalla richiesta di **avvio di VS Code Setup LocalStack **, scegli il pulsante **Setup**.
+ Dalla barra di stato di VS Code, scegli l'icona di LocalStack stato per aprire il prompt **Setup LocalStack to get started**, quindi scegli il pulsante **Setup**.

Durante la configurazione, il sistema esegue i seguenti passaggi:

1. Installa la LocalStack CLI.

1. Verifica se hai un LocalStack account.

1. Se hai un LocalStack account, il sistema ti guida attraverso il processo di autenticazione nel tuo browser web predefinito. Analogamente, se non disponete di un LocalStack account, il sistema vi guida nella configurazione dell'account prima del processo di autenticazione.

Dopo la configurazione, LocalStack lo stato LocalStack si aggiorna nella barra di stato di VS Code.

**Nota**  
Se non hai creato un AWS profilo per LocalStack, ne viene creato automaticamente uno nuovo come parte del processo di LocalStack configurazione.

### LocalStack Comunità
<a name="community"></a>

L'edizione Community di LocalStack è gratuita e non richiede la registrazione di un account, viene eseguita da un'immagine Docker che non richiede una licenza. Per ulteriori dettagli sulla LocalStack Community Edition, consulta la documentazione relativa all'[immagine per la LocalStack community](https://docs.localstack.cloud/references/docker-images/). Le sezioni seguenti descrivono i prerequisiti e la configurazione di base necessaria per lavorare con l'edizione LocalStack comunitaria in VS Code.

**Avvio di una nuova istanza**

 Per avviare una nuova istanza di LocalStack Community, completare la procedura seguente. 

**Nota**  
L'esempio seguente avvia un'istanza di container LocalStack sulla porta 4566. Se si specificano valori di porta diversi, è necessario aggiornare il valore di porta specificato nella procedura disponibile nella *sezione Configurazione del AWS CLI AWS Toolkit*.

1. Da VS Code, apri il terminale VS Code premendo. **ctrl \$1 `(backtick)**

1. Inserisci quanto segue nel terminale.

   **Mac:**

   ```
   docker run -d --name localstack_main \
   >> -p 4566:4566 \
   >> -v /var/run/docker.sock:/var/run/docker.sock \
   >> localstack/localstack
   ```

   **Windows:**

   ```
   docker run -d --name localstack_main `
   >> -p 4566:4566 `
   >> -v /var/run/docker.sock:/var/run/docker.sock `
   >> localstack/localstack
   ```

1. Il terminale si aggiorna con lo stato dell'istanza Docker al termine del processo.

Questa istanza containerizzata di LocalStack consente di accedere ai AWS servizi specificati durante il processo di download.

**Configurazione della CLI LocalStack per e Docker.**

 Per configurare AWS CLI e utilizzare AWS Toolkit LocalStack in Docker, configura un nuovo profilo completando i seguenti passaggi: 

1. Da VS Code, apri il terminale VS Code premendo. **ctrl \$1 `(backtick)**

1. Inserisci quanto segue nel terminale.

   ```
   ~/.aws/credentials
   [localstack]
   aws_access_key_id = test
   aws_secret_access_key = test
   ~/.aws/config
   [profile localstack]
   region = us-east-1
   output = json
   endpoint_url = http://localhost:4566 [default localstack endpoint]
   ```

1. Il AWS Toolkit rileva il tuo LocalStack profilo e aggiorna il menu di stato della connessione.

Dopo la configurazione, la scelta del LocalStack profilo dalla sezione AWS profilo della barra di stato rende le LocalStack risorse visibili nell' AWS Explorer. Inoltre, puoi visualizzare i tuoi LocalStack registri nella scheda **Output** del terminale VS Code.

## A partire da LocalStack VS Code
<a name="w2aac17c43c17c13"></a>

Puoi iniziare a LocalStack utilizzare uno dei seguenti metodi:

**A partire LocalStack dalla barra di stato di VS Code**

1. Da VS Code, vai alla barra di stato, quindi scegli il LocalStack pulsante **Start** per avviarlo LocalStack.

1. La barra di stato di VS Code LocalStack si aggiorna quando viene avviata correttamente.

**A partire LocalStack dalla **palette di comandi** VS Code**

1. Da VS Code, apri la **palette dei comandi** premendo **Cmd \$1 Shift \$1 P** (Mac) o **Control \$1 Shift \$1 P** (Windows).

1. Dalla **Command Palette**, accedi **Start LocalStack** alla barra di ricerca e sceglila dall'elenco quando viene inserita nei risultati.

1. La barra di stato di VS Code si aggiorna quando viene LocalStack avviata correttamente.

**A partire LocalStack dal terminale VS Code**

1. Da VS Code, apri il terminale VS Code premendo**ctrl \$1 `(backtick)**.

1. Dal terminale VS Code, immettere il **localstack start** comando CLI.

1. La barra di stato di VS Code si aggiorna quando viene LocalStack avviata correttamente.

## Creazione di un'applicazione serverless di esempio
<a name="serverless"></a>

 Per iniziare a lavorare con LocalStack VS Code, è necessaria un'applicazione serverless di esempio. Se hai già un'applicazione esistente nel tuo AWS account, puoi distribuirla localmente utilizzando LocalStack oppure puoi creare una nuova applicazione con AWS Serverless Land.

Per ulteriori informazioni sulla creazione di un'applicazione con Serverless Land nel AWS Toolkit, consultate l'argomento [Lavorare con AWS Serverless Land](https://docs.aws.amazon.com//toolkit-for-vscode/latest/userguide/serverlessland-overview.html) in questa guida per l'utente. Per informazioni dettagliate su Serverless Land, consultate la pagina iniziale principale dell'applicazione web [Serverless Land](https://serverlessland.com/).

## Test e debug delle funzioni Lambda con LocalStack
<a name="test-debug"></a>

Il test e il debug delle funzioni Lambda nell'estensione LocalStack VS Code sono simili all'utilizzo delle funzioni distribuite nel cloud. AWS La differenza principale è che l'istanza AWS Toolkit deve essere autenticata con l' LocalStack account per distribuire ed eseguire il debug delle funzioni. LocalStack

**Nota**  
Le funzionalità di test e debug descritte in questa sezione non sono disponibili per l'edizione Community. LocalStack   
Per lavorare con LocalStack VS Code, connettiti al tuo LocalStack profilo nel Toolkit. AWS Quando il tuo LocalStack profilo è attivo, la barra di stato di VS Code mostra **AWS: profile:localstack (endpoint personalizzato)** con un segno di spunta.

Per informazioni dettagliate sull'utilizzo delle funzioni Lambda nel AWS Toolkit, consulta l'argomento [Utilizzo delle AWS Lambda funzioni](https://docs.aws.amazon.com//toolkit-for-vscode/latest/userguide/remote-lambda.html) in questa guida per l'utente.

# AWS Lambda debug remoto
<a name="lambda-remote-debug"></a>

Ti AWS Toolkit for Visual Studio Code consente di eseguire il debug AWS Lambda delle funzioni in esecuzione nel cloud, direttamente in VS Code. Con il debug AWS Lambda remoto è possibile ispezionare le funzioni in esecuzione, impostare punti di interruzione, esaminare le variabili e eseguire il debug dettagliato senza modificare il flusso di lavoro di sviluppo esistente.

Le sezioni seguenti descrivono come utilizzare il debug remoto Lambda in. AWS Toolkit for Visual Studio Code

## Come funziona il debug remoto Lambda
<a name="w2aac17c43c19b7"></a>

Il AWS Toolkit consente il debug remoto modificando temporaneamente le funzioni Lambda con un livello di debug Lambda aggiuntivo ed estendendo il limite di timeout di chiamata Lambda a 900 secondi. Viene stabilita una connessione sicura tra il debugger locale e l'ambiente di runtime Lambda utilizzando Secure Tunneling. AWS IoT Questa connessione consente di utilizzare i punti di interruzione del codice locale per eseguire la funzione in modalità remota. Al termine della sessione di debug, tutte le modifiche temporanee vengono ripristinate automaticamente alle impostazioni originali.

## Nozioni di base
<a name="w2aac17c43c19b9"></a>

### Runtime supportati
<a name="w2aac17c43c19b9b3"></a>

I seguenti runtime sono supportati dal debug remoto Lambda.
+ Python (Amazon Linux 2023)
+ Java
+ Typescript/JavaScript/Node.js (Amazon Linux 2023)

**Nota**  
Le istanze gestite Lambda e i tipi di funzioni di immagine OCI non sono supportati dal debug remoto Lambda.

### Prerequisiti
<a name="w2aac17c43c19b9b5"></a>

Prima di iniziare, è necessario soddisfare i seguenti prerequisiti.
+ È necessario disporre di AWS credenziali valide configurate nel Toolkit. AWS Per ulteriori dettagli sull'installazione del AWS Toolkit e sulla configurazione delle credenziali, consulta l'argomento [Guida introduttiva](https://docs.aws.amazon.com//toolkit-for-vscode/latest/userguide/setting-up.html) di questa guida per l'utente. 
+ Una funzione Lambda è stata implementata nel tuo account. AWS Per i dettagli sulla distribuzione di una funzione Lambda, consulta [l'argomento Crea la tua prima funzione Lambda](https://docs.aws.amazon.com//lambda/latest/dg/getting-started.html) nella Guida per gli sviluppatori. *AWS Lambda*
+ È necessario disporre di policy e autorizzazioni AWS Identity and Access Management (IAM) appropriate per eseguire il debug della funzione. Per ulteriori dettagli sulle autorizzazioni Lambda, consulta l' AWS Lambda argomento relativo alle [politiche AWS gestite nella Guida per](https://docs.aws.amazon.com//lambda/latest/dg/security-iam-awsmanpol.html) gli *AWS Lambda*sviluppatori. Di seguito è riportato un esempio di policy che contiene le autorizzazioni minime richieste per lavorare con il debug remoto Lambda nel Toolkit. AWS 
**Nota**  
Il debug remoto è abilitato tramite Secure Tunneling. AWS AWS IoT Ciò consente al debugger locale di stabilire una connessione sicura all'ambiente di runtime Lambda.

  ```
  {
    "Version": "2012-10-17",		 	 	 
    "Statement": [
      {
        "Effect": "Allow",
        "Action": [
          "lambda:ListFunctions",
          "lambda:GetFunction",
          "lambda:GetFunctionConfiguration",
          "lambda:GetLayerVersion",
          "lambda:UpdateFunctionConfiguration",
          "lambda:InvokeFunction",
          "lambda:PublishVersion",
          "lambda:DeleteFunction",
          "iot:OpenTunnel",
          "iot:RotateTunnelAccessToken",
          "iot:ListTunnels"
        ],
        "Resource": "*"
      }
    ]
  }
  ```

## Accesso al debug remoto Lambda
<a name="w2aac17c43c19c11"></a>

Esistono due percorsi principali per accedere al debug remoto Lambda nel AWS Toolkit: l'explorer o l'Application Builder AWS explorer. Dall' AWS explorer, puoi accedere al debug remoto Lambda tramite i tuoi nodi. AWS Lambda Da Application Builder explorer, puoi accedere al debug remoto Lambda tramite i tuoi progetti locali. AWS SAM 

**Accesso al debug remoto Lambda dall'explorer AWS**

1. Da VS Code, apri l'estensione Toolkit. AWS 

1. Dal AWS Toolkit, espandi l' AWS explorer.

1. Dall'explorer, espandi il nodo **Lambda**.

1. Passa alla funzione di cui desideri eseguire il debug, quindi scegli l'icona **Invoke remotely dal menu contestuale per aprire la schermata di configurazione di **Remote** invoke**.

**Accesso al debug remoto Lambda dall'esploratore di Application Builder.**

1. Da VS Code, apri l'estensione Toolkit. AWS 

1. Dal AWS Toolkit, espandi l'application builder explorer.

1. Dall'explorer espandi il `AWS SAM` progetto che contiene il progetto Lambda di cui desideri eseguire il debug.

1. Espandi la `Lambda` funzione distribuita di cui desideri eseguire il debug.

1. Vai alla funzione remota, quindi scegli l'icona **Invoke remotely** dal menu contestuale per aprire la schermata di configurazione di **Remote** Invoke.

## Utilizzo del debug remoto Lambda
<a name="w2aac17c43c19c13"></a>

Le sezioni seguenti descrivono come utilizzare il debug remoto Lambda in. AWS Toolkit for Visual Studio Code

**Nota**  
Le funzioni Lambda hanno un limite di 5 livelli e un limite combinato di 250 MB per il codice funzione e tutti i livelli collegati. Il debug remoto Lambda richiede almeno 1 layer libero per essere eseguito.

### Configurazione di una sessione di debug
<a name="w2aac17c43c19c13b7"></a>

Prima di iniziare, configurate la sessione di debug completando la procedura seguente.

1. Apri il menu di **configurazione Remote invoke** completando la procedura Accessing *Lambda remote debugging dall' AWS explorer o la procedura Accessing Lambda* *remote debugging from the Application Builder explorer, che si trova nella sezione precedente*.

1. **Dal menu di **configurazione Remote Invoke**, selezionate la casella di controllo Remote Debugging per visualizzare le proprietà di debug remoto.**

1. Specificate il percorso **root locale del file del gestore locale**.
**Nota**  
Il percorso root locale è la posizione del codice sorgente che corrisponde alla funzione Lambda distribuita. Se stai lavorando da una funzione distribuita nell'Application Builder explorer, il percorso root locale viene rilevato automaticamente.  
Se il codice sorgente non è memorizzato localmente, scegli il pulsante **Scarica codice remoto** per recuperare il codice sorgente della funzione Lambda. Questo ti aprirà `handler file` nell'editor VS Code.

1. Dalla sezione **Payload**, specifica dove vengono ottenuti i dati degli eventi di test.

### Impostazione dei punti di interruzione e debug
<a name="w2aac17c43c19c13b9"></a>

Impostate i punti di interruzione e iniziate il debug completando la procedura seguente.

1. Dall'editor VS Code, fai clic sul margine laterale per impostare i punti di interruzione nei numeri di riga in cui desideri sospendere il debug. `handler file`

1. **Quando sei soddisfatto dei punti di interruzione, torna al menu di **configurazione di Remote invoke** per verificare che le impostazioni siano configurate correttamente, quindi scegli il pulsante Remote invoke per avviare il debug.**

1. Il AWS Toolkit aggiorna la funzione Lambda con funzionalità di debug, stabilisce un tunnel sicuro per la sessione di debug, richiama la funzione con il payload specificato, quindi sospende il processo quando raggiunge un punto di interruzione.

1. ********Durante una pausa, usa il pannello RUN AND DEBUG per visualizzare le variabili, lo stack di chiamate e i punti di interruzione.********

### Aggiornamento e test della funzione
<a name="w2aac17c43c19c13c11"></a>

Per modificare il codice e testare le modifiche con una distribuzione rapida, completa la procedura seguente.

1. Con la sessione di debug attiva, apporta modifiche all'editor VS `handler file` Code.

1. Salva le modifiche (,) **Command\$1S on macOS** **Ctrl\$1S on Windows**

1. Quando richiesto, confermate che desiderate procedere con la distribuzione delle modifiche. Il AWS Toolkit aggiornerà la funzione Lambda con il codice modificato.

1. **Continua a eseguire il debug e a testare le modifiche impostando nuovi punti di interruzione e selezionando nuovamente il pulsante Remote invoke.**
**Nota**  
 **In alternativa, puoi deselezionare l'opzione **Attach debugger nei controlli di debug** di VS Code e scegliere il pulsante Remote invoke per eseguire la funzione senza eseguire il debug.**

### Terminare una sessione di debug
<a name="w2aac17c43c19c13c13"></a>

Ciascuna delle seguenti opzioni termina la sessione di debug remota e rimuove il livello di debug dal progetto.
+ **Scegliendo l'opzione **Remove Debug Setup dalla schermata di configurazione** Remote Invoke.**
+ Scelta dell'icona di **disconnessione** dai controlli di debug di VS Code.
+ Chiusura dell'editor VS `handler file` Code.

**Nota**  
Prendi nota di quanto segue:  
Il livello di debug Lambda viene rimosso automaticamente dopo 60 secondi di inattività. Il conteggio inizia quando l'ultima chiamata è completa.
Se hai apportato modifiche al codice alle funzioni gestite da infrastructure-as-code (IAc) (AWS SAM AWS CDK, Terraform) durante il processo di debug, salvale nel progetto locale e valuta la possibilità di aggiornare il tuo repository di controllo del codice sorgente. Le modifiche non salvate vengono sovrascritte quando la funzione IAc viene ridistribuita.
Se hai apportato modifiche temporanee solo a scopo di debug, potresti voler ridistribuire la funzione dal controllo del codice sorgente per assicurarti che corrisponda al codice di produzione.

### Debug delle funzioni TypeScript Lambda con mappe di origine
<a name="typescript-source-maps"></a>

Le sezioni seguenti descrivono come eseguire il debug delle funzioni TypeScript Lambda con le mappe di origine.

#### Prerequisiti
<a name="w2aac17c43c19c13c15b5"></a>

Per eseguire il debug delle funzioni TypeScript Lambda, devono essere soddisfatti i seguenti prerequisiti.
+  TypeScript Devi essere compilato con l'opzione della mappa di origine abilitata. Per ulteriori informazioni, consulta l'argomento relativo al [supporto delle mappe di JavaScript origine](https://code.visualstudio.com/docs/typescript/typescript-debugging#_javascript-source-map-support) nella documentazione di VS Code.
+ Le mappe sorgente in linea non sono supportate. È necessario utilizzare un `.js.map` file separato per archiviare la mappa di origine.

#### Configurazione
<a name="w2aac17c43c19c13c15b7"></a>

Per configurare il debug remoto Lambda per le funzioni TypeScript Lambda nel Toolkit, completa AWS i seguenti passaggi.

1. Dal Toolkit, espandi l'explorer. AWS AWS 

1. Dall'explorer, espandi il nodo **Lambda**.

1. Passa alla funzione per cui desideri configurare TypeScript, quindi scegli l'icona **Invoke remotely dal menu contestuale per aprire la schermata di configurazione di **Remote invoke****.

1. **Abilita il debug remoto selezionando la casella di controllo Debug remoto.**

1. Configura il tuo **Local Root Path** puntando alla directory contenente il tuo. `TypeScript handler file`
**Nota**  
`TypeScript handler file`È dove imposti i punti di interruzione del debug.

1. Espandi le impostazioni di configurazione aggiuntive di **Remote debug**.

1. Abilita la mappatura delle sorgenti selezionando la casella di controllo **Mappa sorgente**.

1. Imposta il campo **Out files** nella directory locale della copia della funzione Lambda.  
**Example**  

   Se `app.js` e `app.map` sono inseriti`.aws-sam/build/HelloWorldFunction`, crea la posizione `/Users/user/project/aws-sam/build/HelloWorldFunction/*` dei **file Out**.
**Nota**  
Il percorso **del file Out** deve essere un percorso assoluto.  
Per qualsiasi AWS SAM AWS CDK progetto, il AWS Toolkit supporta il rilevamento automatico della mappa sorgente. Se il campo **Out files** viene lasciato vuoto per questi progetti, il toolkit tenterà automaticamente di rilevare la posizione della mappa di origine.

1. Quando sei soddisfatto delle impostazioni, scegli il pulsante **Richiamata remota** per iniziare il debug della funzione. TypeScript 

## Risoluzione dei problemi e casi d'uso avanzati
<a name="troubleshooting"></a>

Se la sessione di debug fallisce, avvia la procedura di risoluzione dei problemi completando questi passaggi.

1. Aggiorna il AWS Toolkit alla versione più recente.

1. Aggiorna la visualizzazione Web chiudendo la visualizzazione Web di **configurazione di Remote Invoke** e riaprendola.

1. Riavvia VS Code chiudendolo completamente e riaprendolo.

1. Apri la palette dei comandi VS Code e inserisci il comando**AWS: Reset Lambda Remote Debugging Snapshot**, selezionalo quando viene inserito nei risultati per reimpostare l'istantanea di debug remoto Lambda.

1. [Se non riesci a risolvere il problema, invia un problema a Problemi.AWS Toolkit for Visual Studio Code GitHub](https://github.com/aws/aws-toolkit-vscode/issues)

### Caso d'uso avanzato: configurazione della firma del codice
<a name="troubleshooting-code-signing-configuration"></a>

Il debug remoto richiede il collegamento di un livello di debug alla funzione Lambda. Se la funzione ha la configurazione della firma del codice abilitata e applicata, il AWS Toolkit non può collegare automaticamente il livello di debug alla funzione.

Esistono due opzioni per risolvere il problema di configurazione della firma del codice.
+ Rimuovi temporaneamente la firma del codice.
+ Usa un livello di debug firmato.

#### Rimuovere temporaneamente la firma del codice
<a name="troubleshooting-code-signing-configuration-temp-remove"></a>

Aggiorna la configurazione della firma del codice impostandola`UntrustedArtifactOnDeployment : Warn`, quindi riattivala al `Enforced` termine del processo di debug.

*Per ulteriori informazioni, consulta il riferimento nell'[UpdateCodeSigningConfig](https://docs.aws.amazon.com//lambda/latest/api/API_UpdateCodeSigningConfig.html)API Reference.AWS Lambda *

#### Utilizzo di un livello di debug firmato
<a name="troubleshooting-code-signing-configuration-signed-debug-layer"></a>

1. **Dal debug remoto Lambda nel AWS Toolkit, espandi la sezione Configurazione aggiuntiva per il debug remoto.**

1. Dalla sezione **Configurazione aggiuntiva di debug remoto**, copia l'ARN del livello regionale dal campo **Layer override**.

1. Da AWS CLI, usa il seguente comando per scaricare la versione del layer`aws lambda get-layer-version-by-arn --arn layer-arn`, sostituendo *layer-arn con il tuo layer ARN*. *Per istruzioni dettagliate su come scaricare il layer di debug firmato, vedete il riferimento [get-layer-version-by-arn](https://docs.aws.amazon.com/cli/latest/reference/lambda/get-layer-version-by-arn.html) nel Command Reference.AWS CLI *

1. Firma il layer con la tua configurazione di firma del codice e pubblicalo sul tuo account. Per istruzioni sulla firma e sulla pubblicazione, consulta l'argomento [Configurazione della firma a codice per l' AWS SAM applicazione](https://docs.aws.amazon.com/serverless-application-model/latest/developerguide/authoring-codesigning.html) nella Guida per gli *AWS Serverless Application Model sviluppatori*.

1. **Dopo che il layer è stato firmato e pubblicato sul tuo account, torna alla sezione di **configurazione aggiuntiva per il debug remoto** di Lambda remote debugging, quindi inserisci l'ARN del nuovo livello nel campo Layer override.** Una volta completato il processo, il debug remoto Lambda utilizza il livello firmato anziché il livello predefinito.

### Caso d'uso avanzato: funzioni di debug con o assegnazione simultanea SnapStart
<a name="troubleshooting-snapstart-provisioned-concurrency"></a>

Per le funzioni Lambda configurate SnapStart o fornite contemporaneamente, la pubblicazione di una nuova versione richiede molto più tempo. Per velocizzare il flusso di lavoro di debug, puoi configurare il debug remoto Lambda per aggiornare solo la `$LATEST` versione della tua funzione invece di pubblicare una nuova versione.

1. **Dalla schermata di configurazione **Remote invoke, espandi le impostazioni di configurazione aggiuntive di** Remote debug.**

1. Deselezionate l'opzione **Pubblica versione**.

1. Il AWS Toolkit ora aggiornerà solo la `$LATEST` versione della funzione ed eseguirà il debug utilizzandola.

**Nota**  
Come effetto collaterale del debug con la `$LATEST` versione, dovresti evitare altro traffico che potrebbe richiamare la tua `$LATEST` versione per garantire un ambiente di debug indisturbato.

### Regioni supportate
<a name="troubleshooting-regions"></a>

Il seguente errore si verifica quando una regione non supporta il debug remoto.

```
Region ${region} doesn't support remote debugging yet
```

Di seguito è riportato un elenco delle regioni supportate.
+ ap-east-1
+ ap-northeast-1
+ ap-northeast-2
+ ap-south-1
+ ap-southeast-1
+ ap-southeast-2
+ ca-central-1
+ eu-central-1
+ eu-north-1
+ eu-west-1
+ eu-west-2
+ eu-west-3
+ me-central-1
+ me-south-1
+ sa-east-1
+ us-east-1
+ us-east-2
+ us-west-1
+ us-west-2

### Lambda RequestEntityTooLargeException
<a name="troubleshooting-storage-limit"></a>

Le funzioni Lambda hanno un limite di 5 livelli e un limite combinato di 250 MB per il codice funzione e tutti i livelli collegati. Il livello di debug remoto è di circa 40 MB, il che potrebbe far sì che la funzione superi questo limite se si dispone di un pacchetto di funzioni di grandi dimensioni o di più livelli. Per ulteriori dettagli, consulta la sezione [Lambda: InvalidParameterValueException or RequestEntityTooLargeException](https://docs.aws.amazon.com//lambda/latest/dg/troubleshooting-deployment.html#troubleshooting-deployment-InvalidParameterValueException1) topic nella *AWS Lambda Developer* Guide.

L'elenco seguente descrive i modi per risolvere e correggere questo errore.
+ **Riduzione delle dimensioni della funzione**: ottimizza il codice della funzione e rimuovi le dipendenze non necessarie.
+ **Rimuovi i livelli non utilizzati: rimuovi temporaneamente i livelli** non essenziali durante il debug.
+ **Usa dipendenze esterne**: sposta le dipendenze di grandi dimensioni su uno storage esterno, come Amazon S3, e caricale in fase di esecuzione.

### Risoluzione dei problemi di debug in Java
<a name="troubleshooting-java-debugging"></a>

Per eseguire il debug di una funzione Java Lambda, devi avere la stessa versione di Java installata localmente che corrisponde alla versione runtime della funzione Lambda.

Ad esempio, quando si esegue il debug di una funzione Java 25, è necessario che Java 25 sia installato nell'ambiente locale in cui è in esecuzione il Toolkit. AWS Se si tenta di eseguire il debug di una funzione Java 25 con Java 21 o una versione precedente installata localmente, il debug remoto non sarà in grado di interrompersi nei punti di interruzione impostati.

Assicurati che la tua versione Java locale corrisponda alla versione di runtime della funzione Lambda prima di iniziare una sessione di debug.

### Quota di tunneling sicuro IoT superata
<a name="troubleshooting-tunnel-quota"></a>

Di seguito è riportato un esempio dell'*errore di superamento della quota del tunnel* che si verifica quando si raggiunge il limite giornaliero per le connessioni di tunneling AWS IoT sicure nel debug remoto Lambda.

```
Error creating/reusing tunnel: LimitExceededException: Exceeded quota of Lambda debugging tunnels
```

AWS IoT Le connessioni Secure Tunneling hanno le seguenti quote:
+ Al tunneling sicuro IoT di livello gratuito sono assegnate 10 connessioni al giorno.
+ Ogni tunnel supporta un'istanza VS Code per un massimo di 12 ore.
+ La quota si applica per AWS account, al giorno.

Se riscontri l'errore di tunneling AWS IoT sicuro, attendi il ripristino della quota giornaliera o contatta l' AWS assistenza per richiedere un aumento del limite di quota. [Per informazioni di contatto per l' AWS assistenza, consulta il portale di contatto dell'AWS assistenza.](https://aws.amazon.com/contact-us/) *Per informazioni dettagliate sul tunneling AWS IoT sicuro, consulta l'argomento relativo al [tunneling AWS IoT sicuro](https://docs.aws.amazon.com/iot/latest/developerguide/secure-tunneling.html) nella Guida per gli sviluppatori.AWS IoT *