

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

# Guida introduttiva alle applicazioni serverless
<a name="sam-get-started"></a>

Le sezioni seguenti descrivono come iniziare a creare un file Applicazione Serverless AWS da AWS Toolkit for Visual Studio Code, using AWS Serverless Application Model (AWS SAM) e CloudFormation stack. 

## Prerequisiti
<a name="serverless-apps-assumptions"></a>

Prima di poter creare o lavorare con un Applicazione Serverless AWS, è necessario completare i seguenti prerequisiti.

**Nota**  
Le seguenti operazioni potrebbero richiedere l'uscita o il riavvio di VS Code prima del completamento delle modifiche.
+ Installa l'interfaccia AWS SAM a riga di comando (CLI). *Per ulteriori informazioni e istruzioni su come installare la AWS SAM CLI, consultate l'argomento [Installazione della AWS SAM CLI](https://docs.aws.amazon.com/serverless-application-model/latest/developerguide/install-sam-cli.html) in questa Guida per l'utente.AWS Serverless Application Model * 
+ Dal tuo file di AWS configurazione, identifica la tua regione predefinita. AWS *Per ulteriori informazioni sul file di configurazione, consulta l'argomento [Configurazione e impostazioni dei file di credenziali](https://docs.aws.amazon.com/cli/latest/userguide/cli-configure-files.html) nella Guida per l'AWS Command Line Interface utente.*
+ Installa l'SDK della tua lingua e configura la tua toolchain. Per ulteriori informazioni su come configurare la toolchain, AWS Toolkit for Visual Studio Code consulta l'argomento [Configurazione della toolchain in questa Guida per l'utente](setup-toolchain.md).
+ Installa l'[estensione per il supporto del linguaggio YAML](https://marketplace.visualstudio.com/items?itemName=redhat.vscode-yaml) dal marketplace VS Code. Ciò è necessario per la CodeLens funzionalità di accessibilità dei file AWS SAM modello. Per ulteriori informazioni in merito CodeLens, consulta la [CodeLens](https://code.visualstudio.com/api/language-extensions/programmatic-language-features#codelens-show-actionable-context-information-within-source-code)sezione della documentazione di VS Code 

## Autorizzazioni IAM per applicazioni serverless
<a name="serverless-apps-permissions"></a>

Nel Toolkit for VS Code è necessario disporre di un profilo di credenziali che contenga AWS Identity and Access Management le autorizzazioni (IAM) necessarie per distribuire ed eseguire applicazioni serverless. È necessario disporre dell' read/write accesso appropriato ai seguenti servizi: CloudFormation, IAM, Lambda, Amazon API Gateway, Amazon Simple Storage Service (Amazon S3) Simple Storage Service (Amazon S3) e Amazon Elastic Container Registry (Amazon ECR).

*Per ulteriori informazioni sulla configurazione dell'autenticazione necessaria per distribuire ed eseguire applicazioni serverless, consulta la sezione [Gestione dell'accesso alle risorse e delle autorizzazioni](https://docs.aws.amazon.com/serverless-application-model/latest/developerguide/sam-permissions.html) nella Guida per gli sviluppatori.AWS Serverless Application Model * Per informazioni su come configurare le credenziali, consulta la sezione contenuta [AWS Credenziali IAM](setup-credentials.md) in questa Guida per l'utente.

## Creazione di una nuova applicazione serverless (locale)
<a name="serverless-apps-create"></a>

Questa procedura mostra come creare un'applicazione serverless con Toolkit for VS Code utilizzando. AWS SAM L'output di questa procedura è una directory locale sull'host di sviluppo contenente un'applicazione serverless di esempio, che è possibile creare, testare localmente, modificare e distribuire sul cloud. AWS <a name="serverless-apps-create-proc"></a>

1. Per aprire la **palette dei comandi**, scegliete **Visualizza**, **Command Palette**, quindi immettete. **AWS**

1. Scegli **AWS Toolkit Create Lambda SAM Application**.  
![\[Finestra di dialogo della tavolozza dei comandi.\]](http://docs.aws.amazon.com/it_it/toolkit-for-vscode/latest/userguide/images/sam-create-app-cmdlet-updated.png)
**Nota**  
Se la AWS SAM CLI non è installata, viene visualizzato un errore nell'angolo in basso a destra dell'editor VS Code. In tal caso, verifica di aver soddisfatto tutti i [presupposti](#serverless-apps-assumptions) e i prerequisiti.

1. Scegliete il runtime per la vostra AWS SAM applicazione.
**Nota**  
Se selezioni uno dei tempi di esecuzione con "(Image)", l'applicazione è di tipo pacchetto `Image`. Se selezioni uno dei tempi di esecuzione senza "(Image)", l'applicazione è di tipo `Zip`. Per ulteriori informazioni sulla differenza tra tipi di pacchetto `Image` e `Zip`, consulta [Pacchetti di implementazione Lambda](https://docs.aws.amazon.com/lambda/latest/dg/gettingstarted-package.html) nella *Guida per gli sviluppatori di AWS Lambda *.

1. A seconda del runtime selezionato, è possibile che venga richiesto di selezionare un gestore delle dipendenze e un'architettura di runtime per l'applicazione SAM.

------
#### [ Dependency Manager ]

   **Scegli tra **Gradle o Maven**.**

**Nota**  
Questa scelta di strumenti di automazione delle build è disponibile solo per i runtime Java.

------
#### [ Architecture ]

   **Scegli tra **x86\$164** o arm64.**

   L'opzione per eseguire l'applicazione serverless in un ambiente emulato ARM64 basato su base anziché nell'ambiente predefinito basato su x86\$164 è disponibile per i seguenti runtime:
   + nodejs12.x (ZIP e immagine)
   + nodejs14.x (ZIP e immagine)
   + python3.8 (ZIP e immagine)
   + python3.9 (ZIP e immagine)
   + python3.10 (ZIP e immagine)
   + python3.11 (ZIP e immagine)
   + python3.12 (ZIP e immagine)
   + java8.al2 con Gradle (ZIP e immagine)
   + java8.al2 con Maven (solo ZIP)
   + java11 con Gradle (ZIP e immagine)
   + java11 con Maven (solo ZIP)

**Importante**  
È necessario installare la AWS CLI versione 1.33.0 o successiva per consentire l'esecuzione delle applicazioni in ambienti basati. ARM64 Per ulteriori informazioni, consulta [Prerequisiti](setup-toolkit.md#setup-prereq).

------

1. Scegliere una località per il nuovo progetto. È possibile utilizzare una cartella dell'area di lavoro esistente se è aperta, **selezionare una cartella diversa** già esistente o creare una nuova cartella e selezionarla. Per questo esempio, scegliere **There are no workspace folders open (Non sono aperte cartelle dell'area di lavoro)** per creare una cartella denominata `MY-SAM-APP`.

1. Inserire un nome per il nuovo progetto. Per questo esempio, utilizzare `my-sam-app-nodejs`. Dopo aver premuto **Invio**, il Toolkit for VS Code Code impiega alcuni minuti per creare il progetto.

Quando il progetto viene creato, l'applicazione viene aggiunta all'area di lavoro corrente. Dovrebbe essere visualizzabile nella finestra **Explorer**.

## Apertura di un'applicazione serverless (locale)
<a name="serverless-apps-open"></a>

Per aprire un'applicazione serverless sull'host di sviluppo locale, aprite la cartella che contiene il file modello dell'applicazione.

1. Dal **File**, scegli **Apri cartella**... .

1. Nella finestra di dialogo **Apri cartella**, accedete alla cartella dell'applicazione serverless che desiderate aprire.

1. Scegliete il pulsante **Seleziona cartella**.

Quando si apre la cartella di un'applicazione, questa viene aggiunta alla finestra **Explorer**.

## Esecuzione e debug di un'applicazione serverless dal modello (locale)
<a name="serverless-apps-debug"></a>

Puoi usare Toolkit for VS Code per configurare come eseguire il debug di applicazioni serverless ed eseguirle localmente nel tuo ambiente di sviluppo.

Si inizia a configurare il comportamento di debug utilizzando la funzionalità VS Code per identificare una [CodeLens](https://code.visualstudio.com/api/language-extensions/programmatic-language-features#codelens-show-actionable-context-information-within-source-code)funzione Lambda idonea. CodeLens abilita interazioni basate sul contenuto con il codice sorgente. Per informazioni su come garantire l'accesso alla CodeLens funzionalità, consulta la [Prerequisiti](#serverless-apps-assumptions) sezione precedente di questo argomento.

**Nota**  
In questo esempio, si esegue il debug di un'applicazione che utilizza JavaScript. Tuttavia, puoi utilizzare le funzionalità di debug di Toolkit for VS Code con i seguenti linguaggi e runtime:  
C\$1 — .NET Core 2.1, 3.1; .NET 5.0
JavaScript/TypeScript — Node.js 12. *x*, 14. *x*
Python — 3.6, 3.7, 3.8, 3.9, 3.10, 3.11, 3.12
Giava — 8, 8.al2, 11
Vai — 1.x
La scelta della lingua influisce anche sul modo in cui CodeLens vengono rilevati i gestori Lambda idonei. Per ulteriori informazioni, consulta [Esecuzione e debug di funzioni Lambda direttamente dal codice](serverless-apps-run-debug-no-template.md).

In questa procedura, si utilizza l'applicazione di esempio creata nella [Creazione di una nuova applicazione serverless (locale)](#serverless-apps-create) sezione precedente di questo argomento.

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

1. Dalla cartella dell'applicazione (ad esempio, *my-sample-app*), apri il `template.yaml` file.
**Nota**  
Se utilizzate un modello con un nome diverso da`template.yaml`, l' CodeLens indicatore non è automaticamente disponibile nel file YAML. Ciò significa che è necessario aggiungere manualmente una configurazione di debug.

1. Nell'editor di`template.yaml`, vai alla `Resources` sezione del modello che definisce le risorse serverless. In questo caso, si tratta del tipo `AWS::Serverless::Function` di `HelloWorldFunction` risorsa.

   Nell' CodeLens indicatore di questa risorsa, scegli **Aggiungi configurazione di debug**.  
![\[Utilizzo dell' CodeLens indicatore nel template.yaml file per aggiungere una configurazione di debug.\]](http://docs.aws.amazon.com/it_it/toolkit-for-vscode/latest/userguide/images/yaml_template_debug.png)

1. Nella **palette dei comandi**, selezionate 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 discesa **Configuration** (Configurazione) nella vista **Run** (Esegui).
   + `"target"`— Assicuratevi che il valore sia `"template"` tale che il AWS SAM modello sia il punto di ingresso per la sessione di debug.
   + `"templatePath"`: inserisci un percorso relativo o assoluto per il file `template.yaml`.
   + `"logicalId"`— Assicuratevi che il nome corrisponda a quello specificato nella sezione **Risorse** del AWS SAM modello. In questo caso, è la `HelloWorldFunction` di tipo `AWS::Serverless::Function`.  
![\[Configurazione del launch.json file per il debug basato su modelli.\]](http://docs.aws.amazon.com/it_it/toolkit-for-vscode/latest/userguide/images/template_based_config_updated.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 la configurazione di debug ti soddisfa, salva `launch.json`. **Quindi, per avviare il debug, scegli il pulsante verde «play» nella vista RUN.**

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

## Sincronizzazione delle applicazioni AWS SAM
<a name="serverless-apps-deploy"></a>

 AWS Toolkit for Visual Studio Code Esegue il comando AWS SAM CLI `sam sync` per distribuire le applicazioni serverless su. Cloud AWS*Per ulteriori informazioni sulla AWS SAM sincronizzazione, consulta l'argomento di [riferimento sui comandi AWS SAM CLI](https://docs.aws.amazon.com/serverless-application-model/latest/developerguide/serverless-sam-cli-command-reference.html) nella Guida per gli sviluppatori AWS Serverless Application Model *

La procedura seguente descrive come distribuire le applicazioni serverless Cloud AWS con Toolkit for VS `sam sync` Code.

1. **Dal menu principale di VS Code, apri la **palette dei comandi** espandendo **Visualizza** e scegliendo Command Palette.** 

1. Dalla **Command Palette** cerca **AWS**e scegli **Sincronizza l'applicazione SAM** per iniziare a configurare la sincronizzazione.  
![\[Comando per sincronizzare un'applicazione serverless.\]](http://docs.aws.amazon.com/it_it/toolkit-for-vscode/latest/userguide/images/samsync032023.png)

1. Scegli la AWS regione con cui sincronizzare l'applicazione serverless.

1. Scegliere il file `template.yaml` da utilizzare per la distribuzione.

1. Seleziona un bucket Amazon S3 esistente o inserisci un nuovo nome di bucket Amazon S3 in cui distribuire l'applicazione.
**Importante**  
Il bucket Amazon S3 deve soddisfare i seguenti requisiti:  
Il bucket deve trovarsi nella regione con cui ti stai sincronizzando.
Il nome di un bucket Amazon S3 deve essere univoco tra tutti i nomi di bucket esistenti in Amazon S3.

1. Se l'applicazione serverless include una funzione con tipo di pacchetto `Image`, inserisci il nome di un repository Amazon ECR che questa implementazione può utilizzare. Il repository deve trovarsi nella regione a cui esegui l'implementazione.

1. Seleziona uno stack di distribuzione dall'elenco delle distribuzioni precedenti o crea un nuovo stack di distribuzione inserendo un nuovo nome dello stack. Quindi, procedi con l'avvio del processo di sincronizzazione.
**Nota**  
Gli stack utilizzati nelle distribuzioni precedenti vengono richiamati per area di lavoro e regione.

1. **Durante il processo di sincronizzazione, lo stato della distribuzione viene registrato nella scheda Terminale di VS Code.** Verifica che la sincronizzazione sia avvenuta correttamente dalla scheda Terminale, se si verifica un errore riceverai una notifica.  
![\[Un messaggio di errore durante la distribuzione di un'applicazione serverless.\]](http://docs.aws.amazon.com/it_it/toolkit-for-vscode/latest/userguide/images/sam-deploy-error.png)
**Nota**  
**Per ulteriori dettagli sulla sincronizzazione, i AWS Toolkit for Visual Studio Code log sono accessibili dalla palette dei comandi.**

   Per accedere ai AWS Toolkit for Visual Studio Code log dalla palette dei comandi, espandi **Visualizza**, scegli **Command Palette**, quindi **AWS: View AWS Toolkits Logs** cercala e selezionala quando compare nell'elenco.

**Una volta completata la distribuzione, l'applicazione viene visualizzata nell'Explorer.AWS ** Per ulteriori informazioni su come richiamare la funzione Lambda creata come parte dell'applicazione, consulta l'argomento di questa Guida per [Lavorare con AWS Lambda le funzioni](remote-lambda.md) l'utente.

## Eliminazione di un'applicazione serverless dal Cloud AWS
<a name="serverless-apps-delete"></a>

L'eliminazione di un'applicazione serverless comporta l'eliminazione dello CloudFormation stack precedentemente distribuito nel cloud. AWS Nota che questa procedura non elimina la directory dell'applicazione dall'host locale.

1. Apri la [AWS Explorer](aws-explorer.md).

1. Nella finestra **AWS Toolkit Explorer**, espandi la regione contenente l'applicazione distribuita che desideri eliminare, quindi espandi. **CloudFormation**

1. **Apri il menu contestuale (fai clic con il pulsante destro del mouse) per il nome CloudFormation dello stack che corrisponde all'applicazione serverless che desideri eliminare, quindi scegli Elimina stack. CloudFormation **

1. **Per confermare che desiderate eliminare lo stack selezionato, scegliete Sì.**

**Se l'eliminazione dello stack ha esito positivo, Toolkit for VS Code rimuove il nome dello stack dall' CloudFormation elenco in Explorer.AWS **