

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

# Sviluppo locale di funzioni Lambda con VS Code
<a name="foundation-iac-local-development"></a>

Puoi spostare le tue funzioni Lambda dalla console Lambda a Visual Studio Code, che fornisce un ambiente di sviluppo completo e ti consente di utilizzare altre opzioni di sviluppo locali come AWS SAM e AWS CDK.

## Vantaggi principali dello sviluppo locale
<a name="lambda-functions-vscode-benefits"></a>

Sebbene la console Lambda offra un modo rapido per modificare e testare le funzioni, lo sviluppo locale offre funzionalità più avanzate:
+ **Funzionalità IDE avanzate**: strumenti di debug, completamento del codice e refattorizzazione
+ **Sviluppo offline**: elabora e testa le modifiche localmente prima dell'implementazione nel cloud
+ **Integrazione dell'infrastruttura come codice**: utilizzo senza interruzioni con AWS SAM, AWS CDK e Infrastructure Composer
+ **Gestione delle dipendenze**: controllo completo sulle dipendenze delle funzioni

## Prerequisiti
<a name="lambda-functions-vscode-prerequisites"></a>

Prima di sviluppare funzioni Lambda localmente in VS Code, è necessario:
+ **VS Code**: per le istruzioni di installazione, consulta [Scarica VS Code](https://code.visualstudio.com/download).
+ **AWS Toolkit for Visual Studio Code**: per le istruzioni sull'installazione, consulta [Configurazione di AWS Toolkit for Visual Studio Code](https://docs.aws.amazon.com/toolkit-for-vscode/latest/userguide/setup-toolkit.html). Per una panoramica, consulta [AWS Toolkit for Visual Studio Code](https://aws.amazon.com/visualstudiocode/).
+ **Credenziali di AWS**: per informazioni sulla configurazione delle credenziali, vedi [Configurazione delle credenziali di AWS](https://docs.aws.amazon.com/toolkit-for-vscode/latest/userguide/setup-credentials.html).
+ **AWS SAM CLI**: per istruzioni sull'installazione, consulta [Installazione di AWS SAM CLI](https://docs.aws.amazon.com/serverless-application-model/latest/developerguide/serverless-sam-cli-install.html).
+ **Docker installato (facoltativo, ma richiesto per i test locali)**: per le istruzioni di installazione, vedi [Ottieni Docker](https://docs.docker.com/get-docker/).

**Nota**  
Se disponi già di un account AWS e di un profilo configurati localmente, assicurati che la policy gestita di AdministratorAccess sia stata aggiunta al tuo profilo AWS configurato.

## Autenticazione e controllo degli accessi
<a name="lambda-functions-vscode-authentication-and-access-control"></a>

Per sviluppare le funzioni Lambda localmente, devi avere credenziali AWS per accedere e gestire in modo sicuro le risorse AWS per tuo conto, proprio come farebbero nel cloud. Il Toolkit AWS per VS Code supporta i seguenti metodi di autenticazione:

Il Toolkit AWS per VS Code supporta i seguenti metodi di autenticazione:
+ Credenziali a lungo termine per utenti IAM
+ Credenziali temporanee provenienti dai ruoli presunti
+ Federazione delle identità
+ Credenziali dell'utente root dell'account AWS (non consigliato)

Questa sezione funge da guida per ottenere e configurare queste credenziali utilizzando le credenziali a lungo termine per utenti IAM.

### Credenziali IAM AWS
<a name="lambda-functions-vscode-iam-credentials"></a>

Se hai già un utente IAM con chiavi di accesso, tieni a portata di mano l'ID della chiave di accesso e la chiave di accesso segreta. Se non disponi di tali chiavi, creale eseguendo i passaggi descritti di seguito:

**Nota**  
È necessario utilizzare sia l'ID chiave di accesso sia la chiave di accesso segreta insieme per autenticare le richieste dell'utente.

Per creare una chiave di accesso per un utente IAM:

1. Apri la console IAM all'indirizzo [https://console.aws.amazon.com/iam/](https://console.aws.amazon.com/iam/).

1. Nel pannello di navigazione, seleziona **Utenti**.

1. Selezionare **Create user (Crea utente)**.

1. In **Nome utente**, inserisci un nome e scegli **Successivo**.

1. In **Imposta autorizzazioni**, seleziona **Allega policy direttamente**.

1. Seleziona **AdministratorAccess** e scegli **Successivo**.

1. Selezionare **Create user (Crea utente)**.

1. Nel banner che indica la riuscita dell’operazione, scegli **Visualizza utente**.

1. Selezionare **Create access key (Crea chiave di accesso)**.

1. Per **Caso d'uso**, seleziona **Codice locale**.

1. Seleziona la casella di controllo di conferma e scegli **Successivo**.

1. (Opzionale) Inserisci un valore di tag descrittivo.

1. Selezionare **Create access key (Crea chiave di accesso)**.

1. Copia immediatamente la chiave di accesso e la chiave di accesso segreta. **Dopo aver lasciato questa pagina, non potrai accedere nuovamente alla chiave di accesso segreta.**

**Importante**  
Non condividere mai la chiave segreta e non eseguirne il commit nel controllo del codice sorgente. Archivia queste chiavi in modo sicuro ed eliminale quando non sono più necessarie.

**Nota**  
Per ulteriori informazioni, consulta [Creazione di un utente IAM nel tuo account AWS](https://docs.aws.amazon.com/IAM/latest/UserGuide/id_users_create.html) e [Gestione delle chiavi di accesso per utenti IAM](https://docs.aws.amazon.com/IAM/latest/UserGuide/id_credentials_access-keys.html) nella *Guida per l'utente di IAM*.

### Configura le credenziali AWS utilizzando il Toolkit AWS
<a name="lambda-functions-vscode-configure-credentials-vscode"></a>

La tabella seguente riassume il processo di configurazione delle credenziali che completerai nella procedura seguente.


| Cosa fare | Perché? | 
| --- | --- | 
| Apri il pannello di accesso | Avvio dell'autenticazione | 
| Usa la tavolozza dei comandi per cercare AWS Aggiungi una nuova connessione | Accedi all'interfaccia di accesso | 
| Scegli credenziali IAM | Usa le chiavi di accesso per l'accesso programmatico | 
| Inserisci il nome del profilo, la chiave di accesso, la chiave segreta | Fornisci le credenziali per la connessione | 
| Vedi l'aggiornamento dell’Esploratore AWS | Conferma l’avvenuta connessione | 

Completa i passaggi seguenti per autenticarti nel tuo account AWS:

1. Apri il pannello di accesso in VS Code:

   1. Per avviare il processo di autenticazione, seleziona l'icona AWS nel riquadro di navigazione a sinistra oppure apri la tavolozza dei comandi (Cmd\$1Maiusc\$1P su Mac o Ctrl\$1Maiusc\$1P su Windows/Linux) e cerca e seleziona **AWS Aggiungi una nuova connessione**.

1. Nel pannello di accesso, scegli **Credenziali IAM** e seleziona **Continua**.
**Nota**  
Per procedere, dovrai consentire alle estensioni IDE AWS per VS Code di accedere ai tuoi dati.

1. Inserisci il nome del tuo profilo, l'ID della chiave di accesso e la chiave di accesso segreta, quindi seleziona **Continua**.

1. Verifica la connessione controllando Esploratore AWS in VS Code per i tuoi servizi e risorse AWS.

Per informazioni sulla configurazione dell'autenticazione con credenziali a lungo termine, consulta [Utilizzo di credenziali a lungo termine per autenticare SDK e strumenti AWS](https://docs.aws.amazon.com/sdkref/latest/guide/access-iam-users.html).

Per informazioni sulla configurazione dell'autenticazione, consulta [Credenziali IAM AWS](https://docs.aws.amazon.com/toolkit-for-vscode/latest/userguide/setup-credentials.html) nella Guida per l'utente di AWS Toolkit for Visual Studio Code.

## Passaggio da console a sviluppo locale
<a name="moving-from-console-to-local-development"></a>

**Nota**  
Se hai apportato modifiche alla console, assicurati che tutte le modifiche siano state implementate prima di passare allo sviluppo locale.

Per spostare una funzione Lambda dalla console Lambda a VS Code, completa i seguenti passaggi:

1. Aprire la [console Lambda](https://console.aws.amazon.com/lambda).

1. Scegli il nome della funzione .

1. Seleziona la scheda **Fonte codice**.

1. Scegli **Apri in Visual Studio Code**.
**Nota**  
Il pulsante **Apri in Visual Studio Code** è disponibile solo nel Toolkit AWS versione **3.69.0** e successive. Se è installata una versione precedente del Toolkit AWS, è possibile che venga visualizzato un messaggio `Cannot open the handler` in VS Code. Per risolvere questo problema, aggiorna il tuo Toolkit AWS alla versione più recente.

1. Quando richiesto, consenti al browser di aprire VS Code.

Quando apri la funzione in VS Code, Lambda crea un progetto locale con il codice della funzione in una posizione temporanea progettata per test e implementazione rapidi. Ciò include il codice della funzione, le dipendenze e una struttura di progetto di base che puoi utilizzare per lo sviluppo locale.

Per i dettagli sull'utilizzo di AWS in VS Code, consulta la *[Guida per l'utente di AWS Toolkit for Visual Studio Code](https://docs.aws.amazon.com/toolkit-for-vscode/latest/userguide/welcome.html)*.

## Utilizzo delle funzioni a livello locale
<a name="working-with-functions-locally"></a>

Dopo aver aperto la funzione in VS Code, segui questi passaggi per accedere e gestire le tue funzioni:

1. Seleziona l'icona AWS nella barra laterale per aprire l’Esploratore AWS:  
![\[Icona Toolkit AWS nella barra laterale di VS Code\]](http://docs.aws.amazon.com/it_it/lambda/latest/dg/images/console-to-ide-awsIcon.png)

1. Nell’Esploratore AWS, seleziona la regione con la tua funzione Lambda:  
![\[Esploratore AWS con la regione selezionata\]](http://docs.aws.amazon.com/it_it/lambda/latest/dg/images/console-to-ide-lambdaTreeView.png)

1. Nella regione selezionata, espandi la sezione Lambda per visualizzare e gestire le tue funzioni:  
![\[Funzioni Lambda con icone di azione per l’implementazione, l'invocazione e altro\]](http://docs.aws.amazon.com/it_it/lambda/latest/dg/images/console-to-ide-lambdaActions.png)

Con la funzione aperta in VS Code, puoi:
+ Modificare il codice della funzione con supporto linguistico completo e completamento del codice.
+ Utilizzare l'[integrazione LocalStack in VS Code](https://docs.aws.amazon.com/toolkit-for-vscode/latest/userguide/lambda-localstack.html) per testare le funzioni Lambda che effettuano chiamate API ad altri Servizi AWS durante l'esecuzione, come la lettura da tabelle DynamoDB o la scrittura su bucket Amazon S3. LocalStack è un emulatore di servizi cloud che fornisce un ambiente di sviluppo locale completo per testare le integrazioni di servizi. Puoi anche [usare AWS SAM CLI per testare la tua funzione in un container locale](https://docs.aws.amazon.com/serverless-application-model/latest/developerguide/serverless-sam-cli-using-invoke.html). Se la tua funzione effettua chiamate API ad altri Servizi AWS, tali chiamate raggiungeranno risorse AWS reali, non quelle emulate.
+ Esegui il debug della tua funzione con punti di interruzione e ispezione delle variabili. Per ulteriori informazioni, consulta [Esecuzione e debug delle funzioni Lambda direttamente dal codice](https://docs.aws.amazon.com/toolkit-for-vscode/latest/userguide/serverless-apps-run-debug-no-template.html) nella *Guida per l'utente di AWS Toolkit for Visual Studio Code*.
+ Implementa di nuovo in AWS la funzione aggiornata utilizzando l'icona a forma di nuvola.
+ Installa e gestisci le dipendenze per la tua funzione.

Per ulteriori informazioni, consulta [Utilizzo delle funzioni Lambda AWS](https://docs.aws.amazon.com/toolkit-for-vscode/latest/userguide/building-lambda.html) nella Guida per l'utente di AWS Toolkit for Visual Studio Code.

## Converti la tua funzione in un modello AWS SAM e usa gli strumenti IaC
<a name="integrating-with-infrastructure-as-code"></a>

In VS Code, puoi convertire la funzione Lambda in un modello AWS SAM scegliendo l'icona **Converti in applicazione AWS SAM** accanto alla funzione Lambda. Ti verrà richiesto di selezionare la sede del progetto AWS SAM. Una volta selezionata, la funzione Lambda verrà convertita in un file `template.yaml` salvato nel nuovo progetto AWS SAM.

Con la funzione convertita in un modello AWS SAM, puoi:
+ Eseguire il controllo delle versioni della tua infrastruttura
+ Automatizzare le implementazioni
+ Eseguire il debug delle funzioni da remoto
+ Aggiungere risorse AWS alla tua applicazione
+ Mantenere ambienti coerenti per tutto il ciclo di vita dello sviluppo
+ Usare Infrastructure Composer per modificare visivamente il modello AWS SAM

Per ulteriori informazioni sull'utilizzo degli strumenti IaC, consulta le seguenti guide:
+ [La Guida per gli sviluppatori AWS Serverless Application Model](https://docs.aws.amazon.com/serverless-application-model/latest/developerguide/what-is-sam.html)
+ [La Guida per gli sviluppatori AWS Cloud Development Kit (AWS CDK)](https://docs.aws.amazon.com/cdk/v2/guide/home.html)
+ [La guida per sviluppatori di Infrastructure Composer](https://docs.aws.amazon.com/application-composer/latest/dg/what-is-composer.html)
+ [La Guida per l’utente di AWS CloudFormation](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/Welcome.html)

Questi strumenti forniscono funzionalità aggiuntive per la definizione, il test e l’implementazione delle applicazioni serverless.

## Passaggi successivi
<a name="next-steps"></a>

Per ulteriori informazioni sull'utilizzo delle funzioni Lambda in VS Code, consulta le seguenti risorse:
+ [Utilizzo delle funzioni Lambda AWS](https://docs.aws.amazon.com/toolkit-for-vscode/latest/userguide/building-lambda.html) nella Guida per l’utente di Toolkit AWS per VS Code
+ [Utilizzo delle applicazioni serverless](https://docs.aws.amazon.com/toolkit-for-vscode/latest/userguide/serverless-apps.html) nella Guida per l’utente di Toolkit AWS per VS Code
+ [Infrastruttura come codice](https://docs.aws.amazon.com/lambda/latest/dg/foundation-iac.html) nella Guida per sviluppatori Lambda