

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 con AWS SAM
<a name="serverless-getting-started"></a>

Inizia AWS SAM esaminando e completando gli argomenti di questa sezione. [AWS SAM prerequisiti](prerequisites.md)fornisce istruzioni dettagliate sulla configurazione di un AWS account, la creazione di utenti IAM, la creazione dell'accesso tramite chiave e l'installazione e la AWS SAMCLI configurazione di. Dopo aver completato i prerequisiti, puoi scegliere il tuo approccio di sviluppo:
+ [Installa il AWS SAMCLI](install-sam-cli.md), che puoi eseguire su sistemi operativi Linux, Windows e macOS. 
+ [Guida introduttiva a AWS SAM utilizzando VS Code Toolkit](https://docs.aws.amazon.com/toolkit-for-vscode/latest/userguide/sam-get-started.html) per un'esperienza di sviluppo visivo con funzionalità di debug e test integrate.

Una volta completata l'installazione, puoi facoltativamente seguire il tutorial Hello World. AWS SAM Questo tutorial ti guiderà attraverso il processo di creazione di un'applicazione serverless di base con. AWS SAM Dopo aver completato il tutorial, sarai pronto per rivedere i concetti descritti in dettaglio in[Come usare AWS Serverless Application Model (AWS SAM)](chapter-using-sam.md).

**Topics**
+ [

# AWS SAM prerequisiti
](prerequisites.md)
+ [

# Installa il AWS SAMCLI
](install-sam-cli.md)
+ [

# Tutorial: Implementa un'applicazione Hello World con AWS SAM
](serverless-getting-started-hello-world.md)
+ [

# Conversione delle funzioni Lambda in applicazioni AWS SAM
](convert-lambda-to-sam.md)

# AWS SAM prerequisiti
<a name="prerequisites"></a>

Completate i seguenti prerequisiti prima di installare e utilizzare l'interfaccia a riga di AWS Serverless Application Model comando ()AWS SAMCLI.

Per utilizzare AWS SAMCLI, è necessario quanto segue:
+ Un AWS account, credenziali AWS Identity and Access Management (IAM) e una coppia di key di accesso IAM.
+ Il AWS Command Line Interface (AWS CLI) per configurare le AWS credenziali.

**Topics**
+ [

## Passaggio 1: crea un account AWS
](#prerequisites-sign-up)
+ [

## Fase 2: Creare un account utente IAM
](#prerequisites-create-user)
+ [

## Passaggio 3: Crea un ID della chiave di accesso e una chiave di accesso segreta
](#prerequisites-create-keys)
+ [

## Fase 4: Installare il AWS CLI
](#prerequisites-install-cli)
+ [

## Passaggio 5: Utilizzare AWS CLI per configurare le AWS credenziali
](#prerequisites-configure-credentials)
+ [

## Passaggio 6: (Opzionale) Installazione di AWS Toolkit for VS Code
](#prerequisites-install-vscode)
+ [

## Fasi successive
](#prerequisites-next-steps)

## Passaggio 1: crea un account AWS
<a name="prerequisites-sign-up"></a>

Se non ne hai uno Account AWS, completa i seguenti passaggi per crearne uno.

**Per iscriverti a un Account AWS**

1. Apri la [https://portal.aws.amazon.com/billing/registrazione.](https://portal.aws.amazon.com/billing/signup)

1. Segui le istruzioni online.

   Nel corso della procedura di registrazione riceverai una telefonata o un messaggio di testo e ti verrà chiesto di inserire un codice di verifica attraverso la tastiera del telefono.

   Quando ti iscrivi a un Account AWS, *Utente root dell'account AWS*viene creato un. L’utente root dispone dell’accesso a tutte le risorse e tutti i Servizi AWS nell’account. Come best practice di sicurezza, assegna l’accesso amministrativo a un utente e utilizza solo l’utente root per eseguire [attività che richiedono l’accesso di un utente root](https://docs.aws.amazon.com/IAM/latest/UserGuide/id_root-user.html#root-user-tasks).

## Fase 2: Creare un account utente IAM
<a name="prerequisites-create-user"></a>

Per creare un utente amministratore, scegli una delle seguenti opzioni.


****  

| Scelta di un modo per gestire il tuo amministratore | Per | Come | Puoi anche | 
| --- | --- | --- | --- | 
| In IAM Identity Center (Consigliato) | Usa credenziali a breve termine per accedere a AWS.Ciò è in linea con le best practice per la sicurezza. Per informazioni sulle best practice, consulta [Best practice per la sicurezza in IAM](https://docs.aws.amazon.com/IAM/latest/UserGuide/best-practices.html#bp-users-federation-idp) nella *Guida per l'utente di IAM*. | Segui le istruzioni riportate in [Nozioni di base](https://docs.aws.amazon.com//singlesignon/latest/userguide/getting-started.html) nella Guida per l'utente di AWS IAM Identity Center . | Configura l'accesso programmatico [configurando l'uso AWS IAM Identity Center nella Guida AWS CLI per](https://docs.aws.amazon.com//cli/latest/userguide/cli-configure-sso.html) l'AWS Command Line Interface utente. | 
| In IAM (Non consigliato) | Usa credenziali a lungo termine per accedere a AWS. | Segui le istruzioni in [Creare un utente IAM per l’accesso di emergenza](https://docs.aws.amazon.com/IAM/latest/UserGuide/getting-started-emergency-iam-user.html) nella Guida per l’utente di IAM. | Configura l’accesso programmatico seguendo quanto riportato in [Gestione delle chiavi di accesso per gli utenti IAM](https://docs.aws.amazon.com//IAM/latest/UserGuide/id_credentials_access-keys.html) nella Guida per l’utente di IAM. | 

## Passaggio 3: Crea un ID della chiave di accesso e una chiave di accesso segreta
<a name="prerequisites-create-keys"></a>

Per l'accesso alla CLI, sono necessari un ID chiave di accesso e una chiave di accesso segreta. Utilizza credenziali temporanee al posto delle chiavi di accesso a lungo termine quando possibile. Le credenziali temporanee includono un ID della chiave di accesso, una chiave di accesso segreta e un token di sicurezza che ne indica la scadenza. Per ulteriori informazioni, consulta [Using temporary credenziali with AWS resources](https://docs.aws.amazon.com/IAM/latest/UserGuide/id_credentials_temp_use-resources.html) nella *IAM User Guide*.

Gli utenti necessitano dell'accesso programmatico se desiderano interagire con l' AWS esterno di. Console di gestione AWS Il modo per concedere l'accesso programmatico dipende dal tipo di utente che accede. AWS

Per fornire agli utenti l’accesso programmatico, scegli una delle seguenti opzioni.


****  

| Quale utente necessita dell’accesso programmatico? | Per | Come | 
| --- | --- | --- | 
| IAM | (Consigliato) Utilizza le credenziali della console come credenziali temporanee per firmare le richieste programmatiche a,, o. AWS CLI AWS SDKs AWS APIs |  Segui le istruzioni per l’interfaccia che desideri utilizzare. [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/it_it/serverless-application-model/latest/developerguide/prerequisites.html)  | 
|  Identità della forza lavoro (Utenti gestiti nel centro identità IAM)  | Utilizza credenziali temporanee per firmare le richieste programmatiche a AWS CLI, AWS SDKs, o. AWS APIs |  Segui le istruzioni per l’interfaccia che desideri utilizzare. [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/it_it/serverless-application-model/latest/developerguide/prerequisites.html)  | 
| IAM | Utilizza credenziali temporanee per firmare le richieste programmatiche a AWS CLI, AWS SDKs, o. AWS APIs | Seguendo le istruzioni riportate in [Utilizzo delle credenziali temporanee con le AWS risorse nella Guida per](https://docs.aws.amazon.com/IAM/latest/UserGuide/id_credentials_temp_use-resources.html) l'utente IAM. | 
| IAM | (Non consigliato)Utilizza credenziali a lungo termine per firmare richieste programmatiche a AWS CLI,, AWS SDKs o. AWS APIs |  Segui le istruzioni per l’interfaccia che desideri utilizzare. [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/it_it/serverless-application-model/latest/developerguide/prerequisites.html)  | 

## Fase 4: Installare il AWS CLI
<a name="prerequisites-install-cli"></a>

 AWS CLI è uno strumento open source che consente di interagire Servizi AWS utilizzando i comandi nella shell della riga di comando. Lo AWS SAMCLI richiede AWS CLI per attività come la configurazione delle credenziali. Per ulteriori informazioni su AWS CLI, consulta [What is](https://docs.aws.amazon.com/cli/latest/userguide/cli-chap-welcome.html) the? AWS Command Line Interface nella *Guida AWS Command Line Interface per l'utente*.

Per installare il AWS CLI, vedere [Installazione o aggiornamento della versione più recente di AWS CLI nella](https://docs.aws.amazon.com/cli/latest/userguide/getting-started-install.html) *Guida per l'AWS Command Line Interface utente*.

## Passaggio 5: Utilizzare AWS CLI per configurare le AWS credenziali
<a name="prerequisites-configure-credentials"></a>

**Per configurare le credenziali con IAM Identity Center**
+ Per configurare le credenziali con IAM Identity Center, consulta [Configurare il profilo con la procedura guidata di AWS configurazione sso](https://docs.aws.amazon.com/cli/latest/userguide/cli-configure-sso.html#cli-configure-sso-configure).

**Per configurare le credenziali con AWS CLI**

1. Esegui il `aws configure` comando dalla riga di comando.

1. Configura quanto segue. Seleziona ogni link per saperne di più:

   1. [ID della chiave di accesso](https://docs.aws.amazon.com/cli/latest/userguide/cli-configure-quickstart.html#cli-configure-quickstart-creds)

   1. [Chiave di accesso segreta](https://docs.aws.amazon.com/cli/latest/userguide/cli-configure-quickstart.html#cli-configure-quickstart-creds)

   1. [Regione AWS](https://docs.aws.amazon.com/cli/latest/userguide/cli-configure-quickstart.html#cli-configure-quickstart-region)

   1. [Formato di output](https://docs.aws.amazon.com/cli/latest/userguide/cli-configure-quickstart.html#cli-configure-quickstart-format)

   L'esempio seguente illustra i valori di esempio.

   ```
   $ aws configure
   AWS Access Key ID [None]: AKIAIOSFODNN7EXAMPLE
   AWS Secret Access Key [None]: wJalrXUtnFEMI/K7MDENG/bPxRfiCYEXAMPLEKEY
   Default region name [None]: us-west-2
   Default output format [None]: json
   ```

 AWS CLI Memorizza queste informazioni in un *profilo* (una raccolta di impostazioni) denominato `default` nei `config` file `credentials` and. Questi file si trovano nel `.aws` file della tua home directory. Per impostazione predefinita, le informazioni in questo profilo vengono utilizzate quando si esegue un AWS CLI comando che non specifica esplicitamente un profilo da utilizzare. Per ulteriori informazioni sul `credentials` file, consulta [Impostazioni dei file di configurazione e credenziali nella Guida](https://docs.aws.amazon.com/cli/latest/userguide/cli-configure-files.html) per l'*AWS Command Line Interface utente*.

*Per ulteriori informazioni sulla configurazione delle credenziali, ad esempio sull'utilizzo di un file di configurazione e credenziali esistente, vedere [Configurazione rapida](https://docs.aws.amazon.com/cli/latest/userguide/getting-started-quickstart.html) nella Guida per l'utente.AWS Command Line Interface *

## Passaggio 6: (Opzionale) Installazione di AWS Toolkit for VS Code
<a name="prerequisites-install-vscode"></a>

Per gli sviluppatori che preferiscono un ambiente di sviluppo integrato, il AWS Toolkit for VS Code offre potenti funzionalità per lo sviluppo senza server, tra cui debug visivoCodeLens , integrazione e flussi di lavoro di distribuzione semplificati.

**Prerequisiti per lo sviluppo di VS Code**
+ Visual Studio Code (versione 1.73.0 o versione successiva) installato sul sistema
+ Estensione di supporto del linguaggio YAML per VS Code

**Per installare il AWS Toolkit for VS Code**

1. Apri Visual Studio Code

1. Apri la vista Estensioni (Ctrl\$1Shift\$1X o Cmd\$1Shift\$1X)

1. Cerca AWS "Toolkit»

1. Installa l'estensione "AWS Toolkit» di Amazon Web Services

1. Installa l'estensione «YAML» di Red Hat (richiesta per le funzionalità del modello SAM) CodeLens 

**Vantaggi dell'utilizzo di VS Code con SAM AWS **
+ Debug visivo: imposta i punti di interruzione e gestisci le funzioni Lambda a livello locale
+ CodeLens integrazione: crea, distribuisci e richiama funzioni direttamente dal tuo modello SAM
+ Terminale integrato: accedi ai AWS CLI comandi AWS SAM senza uscire dall'editor
+ Convalida dei modelli: convalida in tempo reale e IntelliSense per modelli SAM

Per informazioni sulla configurazione delle AWS credenziali in VS Code, consulta [Configurazione delle credenziali](https://docs.aws.amazon.com/toolkit-for-vscode/latest/userguide/setup-credentials.html) nella AWS Toolkit for VS Code User Guide.

## Fasi successive
<a name="prerequisites-next-steps"></a>
+ Ora sei pronto per installare e iniziare a utilizzare. AWS SAMCLI AWS SAM Per installare il AWS SAMCLI, vedere[Installa il AWS SAMCLI](install-sam-cli.md).
+ Per configurare Visual Studio Code per lo sviluppo senza server, vedi [Configurazione del AWS Toolkit for](https://docs.aws.amazon.com/toolkit-for-vscode/latest/userguide/setting-up.html) VS Code.

# Installa il AWS SAMCLI
<a name="install-sam-cli"></a>

Installa l'ultima versione di AWS Serverless Application Model Command Line Interface (AWS SAMCLI) sui sistemi operativi supportati seguendo le istruzioni in[Fase 4: Installare il AWS CLI](prerequisites.md#prerequisites-install-cli).

Per informazioni sulla gestione di una versione attualmente installata di AWS SAMCLI, incluso l'aggiornamento, la disinstallazione o la gestione delle nightly build, consulta. [Gestione delle AWS SAMCLI versioni](manage-sam-cli-versions.md)

**È la prima volta che installi il? AWS SAM CLI**  
Completa tutti i [prerequisiti](prerequisites.md) della sezione precedente prima di procedere. Questo include:  
Registrazione di un AWS account.
Configurazione dell'accesso sicuro a AWS.
Creazione di un ID della chiave di accesso e di una chiave di accesso segreta.
Installazione di AWS CLI.
Configurazione delle AWS credenziali.

**Topics**
+ [

## Installazione di AWS SAMCLI
](#install-sam-cli-instructions)
+ [

## Risoluzione degli errori di installazione
](#sam-cli-troubleshoot-install)
+ [

## Fasi successive
](#install-sam-cli-next-steps)
+ [

# Facoltativo: verifica l'integrità del AWS SAMCLI programma di installazione
](reference-sam-cli-install-verify.md)

## Installazione di AWS SAMCLI
<a name="install-sam-cli-instructions"></a>

**Nota**  
A partire da settembre 2023, AWS non manterrà più il programma di Homebrew installazione AWS gestito per AWS SAMCLI ()`aws/tap/aws-sam-cli`. Se utilizzi Homebrew per installare e gestire il AWS SAMCLI, consulta le seguenti opzioni:   
Per continuare a utilizzareHomebrew, puoi utilizzare il programma di installazione gestito dalla community. Per ulteriori informazioni, consulta [Gestire il AWS SAMCLI con Homebrew](manage-sam-cli-versions.md#manage-sam-cli-versions-homebrew).
Si consiglia di utilizzare uno dei metodi di installazione proprietari documentati in questa pagina. Prima di utilizzare uno di questi metodi, consulta[Passa da Homebrew](manage-sam-cli-versions.md#manage-sam-cli-versions-switch).
Per ulteriori dettagli, fare riferimento alla [versione di rilascio: 1.121.0](https://github.com/aws/aws-sam-cli/releases).

 Per installare AWS SAMCLI, segui le istruzioni relative al tuo sistema operativo. 

### Linux
<a name="install-sam-cli-instructions-linux"></a>

------
#### [ x86\$164 - command line installer ]

1. Scarica il [AWS SAMCLIfile.zip](https://github.com/aws/aws-sam-cli/releases/latest/download/aws-sam-cli-linux-x86_64.zip) in una directory a tua scelta.

1. **(Facoltativo)** È possibile verificare l'integrità del programma di installazione prima dell'installazione. Per istruzioni, consulta [Facoltativo: verifica l'integrità del AWS SAMCLI programma di installazione](reference-sam-cli-install-verify.md).

1. Decomprimi i file di installazione in una directory a tua scelta. Di seguito è riportato un esempio di utilizzo della `sam-installation` sottodirectory.
**Nota**  
Se il sistema operativo non dispone del comando **unzip** integrato, utilizza un comando equivalente.

   ```
   $ unzip aws-sam-cli-linux-x86_64.zip -d sam-installation
   ```

1. Installa AWS SAMCLI eseguendo l'`install`eseguibile. Questo eseguibile si trova nella directory utilizzata nel passaggio precedente. Di seguito è riportato un esempio di utilizzo della `sam-installation` sottodirectory:

   ```
   $ sudo ./sam-installation/install
   ```

1. Verifica l'installazione.

   ```
   $ sam --version
   ```

   Per confermare l'avvenuta installazione, dovrebbe apparire un output che sostituisce il seguente testo tra parentesi con l'ultima versione disponibile:

   ```
    SAM CLI, <latest version>
   ```

------
#### [ arm64 - command line installer ]

1. Scarica il [AWS SAMCLIfile.zip](https://github.com/aws/aws-sam-cli/releases/latest/download/aws-sam-cli-linux-arm64.zip) in una directory a tua scelta.

1. **(Facoltativo)** È possibile verificare l'integrità del programma di installazione prima dell'installazione. Per istruzioni, consulta [Facoltativo: verifica l'integrità del AWS SAMCLI programma di installazione](reference-sam-cli-install-verify.md).

1. Decomprimi i file di installazione in una directory a tua scelta. Di seguito è riportato un esempio di utilizzo della `sam-installation` sottodirectory.
**Nota**  
Se il sistema operativo non dispone del comando **unzip** integrato, utilizza un comando equivalente.

   ```
   $ unzip aws-sam-cli-linux-arm64.zip -d sam-installation
   ```

1. Installa AWS SAMCLI eseguendo l'`install`eseguibile. Questo eseguibile si trova nella directory utilizzata nel passaggio precedente. Di seguito è riportato un esempio di utilizzo della `sam-installation` sottodirectory:

   ```
   $ sudo ./sam-installation/install
   ```

1. Verifica l'installazione.

   ```
   $ sam --version
   ```

   Per confermare l'avvenuta installazione, dovresti vedere un output come il seguente, ma che sostituisce il testo tra parentesi con l'ultima versione SAM CLI:

   ```
    SAM CLI, <latest version>
   ```

------

### macOS
<a name="install-sam-cli-instructions-macos"></a>

#### Fasi di installazione
<a name="install-sam-cli-instructions-macos-steps"></a>

Usa il programma di installazione del pacchetto per installare. AWS SAMCLI **Inoltre, il programma di installazione del pacchetto offre due metodi di installazione tra cui scegliere: **GUI** e riga di comando.** È possibile eseguire l'installazione per **tutti gli utenti** o solo per l'utente **corrente**. Per eseguire l'installazione per tutti gli utenti, è richiesta l'autorizzazione di superutente. 

**Nota**  
AWS SAM La CLI non supporta le versioni di macOS precedenti a macOS 13.x. Esegui l'upgrade a una versione supportata di macOS o installa CLI AWS SAM con. Homebrew

------
#### [ GUI - All users ]

**Per scaricare il pacchetto, il programma di installazione e installare il AWS SAMCLI**
**Nota**  
 Se hai già installato il AWS SAMCLI Through Homebrew orpip, devi prima disinstallarlo. Per istruzioni, consulta [Disinstallazione di AWS SAMCLI](manage-sam-cli-versions.md#manage-sam-cli-versions-uninstall). 

1.  Scarica macOS in una directory `pkg` a tua scelta: 
   +  **Per i Mac con processori Intel, scegli x86\$164** [— -x86\$164.pkg aws-sam-cli-macos](https://github.com/aws/aws-sam-cli/releases/latest/download/aws-sam-cli-macos-x86_64.pkg) 
   +  **Per i Mac che eseguono Apple Silicon**[, scegli arm64 — -arm64.pkg aws-sam-cli-macos](https://github.com/aws/aws-sam-cli/releases/latest/download/aws-sam-cli-macos-arm64.pkg) 
**Nota**  
È possibile verificare l'integrità del programma di installazione prima dell'installazione. Per istruzioni, consulta [Facoltativo: verifica l'integrità del AWS SAMCLI programma di installazione](reference-sam-cli-install-verify.md).

1.  **Esegui il file scaricato e segui le istruzioni sullo schermo per continuare con i passaggi di **Introduzione**, **Read Me** e Licenza.** 

1.  Per **Destination Select**, seleziona **Installa per tutti gli utenti di questo computer**. 

1.  Per **Tipo di installazione**, scegli dove AWS SAMCLI verrà installato e premi **Installa**. La posizione predefinita consigliata è`/usr/local/aws-sam-cli`. 
**Nota**  
 Per richiamarla AWS SAMCLI con il **sam** comando, il programma di installazione crea automaticamente un collegamento simbolico tra `/usr/local/bin/sam` e una delle due cartelle `/usr/local/aws-sam-cli/sam` di installazione scelte. 

1.  AWS SAMCLIVerrà visualizzato il messaggio **«L'installazione è avvenuta con successo**». Premere **Chiudi**. 

**Per verificare la corretta installazione**
+  Verifica che sia AWS SAMCLI installato correttamente e che il tuo link simbolico sia configurato eseguendo: 

  ```
  $ which sam
  /usr/local/bin/sam
  $ sam --version
  SAM CLI, <latest version>
  ```

------
#### [ GUI - Current user ]

**Per scaricare e installare AWS SAMCLI**
**Nota**  
 Se hai già installato il AWS SAMCLI Through Homebrew orpip, devi prima disinstallarlo. Per istruzioni, consulta [Disinstallazione di AWS SAMCLI](manage-sam-cli-versions.md#manage-sam-cli-versions-uninstall). 

1.  Scarica macOS in una directory `pkg` a tua scelta: 
   +  **Per i Mac con processori Intel, scegli x86\$164** [— -x86\$164.pkg aws-sam-cli-macos](https://github.com/aws/aws-sam-cli/releases/latest/download/aws-sam-cli-macos-x86_64.pkg) 
   +  **Per i Mac che eseguono Apple Silicon**[, scegli arm64 — -arm64.pkg aws-sam-cli-macos](https://github.com/aws/aws-sam-cli/releases/latest/download/aws-sam-cli-macos-arm64.pkg) 
**Nota**  
È possibile verificare l'integrità del programma di installazione prima dell'installazione. Per istruzioni, consulta [Facoltativo: verifica l'integrità del AWS SAMCLI programma di installazione](reference-sam-cli-install-verify.md).

1.  **Esegui il file scaricato e segui le istruzioni sullo schermo per continuare con i passaggi di **Introduzione**, **Read Me** e Licenza.** 

1.  Per **Destination Select**, seleziona **Installa solo per me**. Se non vedi questa opzione, vai al passaggio successivo. 

1.  Per **Tipo di installazione**, procedi come segue: 

   1. Scegli dove AWS SAMCLI verrà installato. Il percorso predefinito è `/usr/local/aws-sam-cli`. Seleziona una posizione per la quale disponi delle autorizzazioni di scrittura. Per modificare la posizione di installazione, seleziona **locale** e scegli la tua posizione. Al termine, premi **Continua**. 

   1.  Se non hai avuto la possibilità di scegliere **Installa solo per me** nel passaggio precedente, seleziona **Cambia posizione di installazione** > **Installa solo per me** e premi **Continua**. 

   1.  Premi **Installa**. 

1.  AWS SAMCLIVerrà installato e verrà visualizzato **il messaggio «L'installazione è avvenuta con successo**». Premere **Chiudi**. 

**Per creare un collegamento simbolico**
+  Per richiamarlo AWS SAMCLI con il **sam** comando, è necessario creare manualmente un collegamento simbolico tra il AWS SAMCLI programma e il proprio. `$PATH` Crea il tuo link simbolico modificando ed eseguendo il seguente comando: 

  ```
  $ sudo ln -s /path-to/aws-sam-cli/sam /path-to-symlink-directory/sam
  ```
  +  *sudo*— Se l'utente dispone dei permessi di scrittura per`$PATH`, non **sudo** è necessario. In caso contrario, **sudo** è richiesto. 
  +  *path-to*— Percorso in cui è stato installato il AWS SAMCLI programma. Ad esempio, `/Users/myUser/Desktop`. 
  +  *path-to-symlink-directory*— La tua variabile di `$PATH` ambiente. Il percorso predefinito è `/usr/local/bin`. 

**Per verificare la corretta installazione**
+  Verifica che sia AWS SAMCLI installato correttamente e che il tuo link simbolico sia configurato eseguendo: 

  ```
  $ which sam
  /usr/local/bin/sam
  $ sam --version
  SAM CLI, <latest version>
  ```

------
#### [ Command line - All users ]

**Per scaricare e installare AWS SAMCLI**
**Nota**  
 Se hai già installato il AWS SAMCLI Through Homebrew orpip, devi prima disinstallarlo. Per istruzioni, consulta [Disinstallazione di AWS SAMCLI](manage-sam-cli-versions.md#manage-sam-cli-versions-uninstall). 

1.  Scarica macOS in una directory `pkg` a tua scelta: 
   +  **Per i Mac con processori Intel, scegli x86\$164** [— -x86\$164.pkg aws-sam-cli-macos](https://github.com/aws/aws-sam-cli/releases/latest/download/aws-sam-cli-macos-x86_64.pkg) 
   +  **Per i Mac che eseguono Apple Silicon**[, scegli arm64 — -arm64.pkg aws-sam-cli-macos](https://github.com/aws/aws-sam-cli/releases/latest/download/aws-sam-cli-macos-arm64.pkg) 
**Nota**  
È possibile verificare l'integrità del programma di installazione prima dell'installazione. Per istruzioni, consulta [Facoltativo: verifica l'integrità del AWS SAMCLI programma di installazione](reference-sam-cli-install-verify.md).

1.  Modifica ed esegui lo script di installazione: 

   ```
   $ sudo installer -pkg path-to-pkg-installer/name-of-pkg-installer -target /
   installer: Package name is AWS SAM CLI
   installer: Upgrading at base path /
   installer: The upgrade was successful.
   ```
**Nota**  
 Per richiamarlo AWS SAMCLI con il **sam** comando, l'installatore crea automaticamente un collegamento simbolico tra e. `/usr/local/bin/sam` `/usr/local/aws-sam-cli/sam` 

**Per verificare l'avvenuta installazione**
+  Verifica che sia AWS SAMCLI installato correttamente e che il tuo link simbolico sia configurato eseguendo: 

  ```
  $ which sam
  /usr/local/bin/sam
  $ sam --version
  SAM CLI, <latest version>
  ```

------
#### [ Command line - Current user ]

**Per scaricare e installare AWS SAMCLI**
**Nota**  
 Se hai già installato il AWS SAMCLI Through Homebrew orpip, devi prima disinstallarlo. Per istruzioni, consulta [Disinstallazione di AWS SAMCLI](manage-sam-cli-versions.md#manage-sam-cli-versions-uninstall). 

1.  Scarica macOS in una directory `pkg` a tua scelta: 
   +  **Per i Mac con processori Intel, scegli x86\$164** [— -x86\$164.pkg aws-sam-cli-macos](https://github.com/aws/aws-sam-cli/releases/latest/download/aws-sam-cli-macos-x86_64.pkg) 
   +  **Per i Mac che eseguono Apple Silicon**[, scegli arm64 — -arm64.pkg aws-sam-cli-macos](https://github.com/aws/aws-sam-cli/releases/latest/download/aws-sam-cli-macos-arm64.pkg) 
**Nota**  
È possibile verificare l'integrità del programma di installazione prima dell'installazione. Per istruzioni, consulta [Facoltativo: verifica l'integrità del AWS SAMCLI programma di installazione](reference-sam-cli-install-verify.md).

1.  Determinate una directory di installazione per la quale disponete dei permessi di scrittura. Quindi, create un `xml` file utilizzando il modello e modificatelo in modo che rifletta la directory di installazione. La directory deve già esistere. 

    Ad esempio, se si sostituisce *path-to-my-directory* con`/Users/myUser/Desktop`, la cartella del `aws-sam-cli` programma verrà installata lì. 

   ```
   <?xml version="1.0" encoding="UTF-8"?>
   <!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
   <plist version="1.0">
     <array>
       <dict>
         <key>choiceAttribute</key>
         <string>customLocation</string>
         <key>attributeSetting</key>
         <string>path-to-my-directory</string>
         <key>choiceIdentifier</key>
         <string>default</string>
       </dict>
     </array>
   </plist>
   ```

1.  Salva il `xml` file e verifica che sia valido eseguendo quanto segue: 

   ```
   $ installer -pkg path-to-pkg-installer \
   -target CurrentUserHomeDirectory \
   -showChoicesAfterApplyingChangesXML path-to-your-xml-file
   ```

    L'output dovrebbe mostrare le preferenze che verranno applicate al AWS SAMCLI programma. 

1.  Esegui quanto segue per installare AWS SAMCLI: 

   ```
   $ installer -pkg path-to-pkg-installer \
   -target CurrentUserHomeDirectory \
   -applyChoiceChangesXML path-to-your-xml-file
   
   # Example output
   installer: Package name is AWS SAM CLI
   installer: choices changes file 'path-to-your-xml-file' applied
   installer: Upgrading at base path base-path-of-xml-file
   installer: The upgrade was successful.
   ```

**Per creare un collegamento simbolico**
+  Per richiamarlo AWS SAMCLI con il **sam** comando, è necessario creare manualmente un collegamento simbolico tra il AWS SAMCLI programma e il proprio. `$PATH` Crea il tuo link simbolico modificando ed eseguendo il seguente comando: 

  ```
  $ sudo ln -s /path-to/aws-sam-cli/sam /path-to-symlink-directory/sam
  ```
  +  *sudo*— Se l'utente dispone dei permessi di scrittura per`$PATH`, non **sudo** è necessario. In caso contrario, **sudo** è richiesto. 
  +  *path-to*— Percorso in cui è stato installato il AWS SAMCLI programma. Ad esempio, `/Users/myUser/Desktop`. 
  +  *path-to-symlink-directory*— La tua variabile di `$PATH` ambiente. Il percorso predefinito è `/usr/local/bin`. 

**Per verificare la corretta installazione**
+  Verifica che sia AWS SAMCLI installato correttamente e che il tuo link simbolico sia configurato eseguendo: 

  ```
  $ which sam
  /usr/local/bin/sam
  $ sam --version
  SAM CLI, <latest version>
  ```

------

### Windows
<a name="install-sam-cli-instructions-windows"></a>

I file Windows Installer (MSI) sono i file di installazione dei pacchetti per il sistema operativo Windows.

Segui questi passaggi per installarli AWS SAMCLI utilizzando il file MSI.

1. Scarica la AWS SAMCLI [versione a 64 bit](https://github.com/aws/aws-sam-cli/releases/latest/download/AWS_SAM_CLI_64_PY3.msi).

1. **(Facoltativo)** È possibile verificare l'integrità del programma di installazione prima dell'installazione. Per istruzioni, consulta [Facoltativo: verifica l'integrità del AWS SAMCLI programma di installazione](reference-sam-cli-install-verify.md). 

1. Verifica l'installazione.

   Dopo aver completato l'installazione, verificatela aprendo un nuovo prompt o PowerShell prompt dei comandi. Dovresti essere in grado di richiamare `sam` dalla riga di comando.

   ```
   sam --version
   ```

   Dopo la corretta installazione di AWS SAMCLI, si dovrebbe vedere un risultato simile al seguente:

   ```
   SAM CLI, <latest version>
   ```

1. Abilita percorsi lunghi (solo Windows 10 e versioni successive).
**Importante**  
 AWS SAMCLIPotrebbero interagire con percorsi di file che superano il limite massimo di percorso di Windows. Ciò può causare errori durante l'esecuzione `sam init` a causa delle **MAX\$1PATH** limitazioni di Windows 10. Per risolvere questo problema, è necessario configurare il nuovo comportamento dei percorsi lunghi.

   Per abilitare percorsi lunghi, vedi [Abilitare percorsi lunghi in Windows 10, versione 1607 e successive](https://learn.microsoft.com/en-us/windows/win32/fileio/maximum-file-path-limitation?tabs=powershell#enable-long-paths-in-windows-10-version-1607-and-later) nella *documentazione sullo sviluppo di app per Microsoft Windows*.

1. Installa Git.

   Per scaricare applicazioni di esempio utilizzando il `sam init` comando, è necessario installare anche Git. Per istruzioni, consulta [Installazione di Git](https://git-scm.com/book/en/v2/Getting-Started-Installing-Git).

## Risoluzione degli errori di installazione
<a name="sam-cli-troubleshoot-install"></a>

### Linux
<a name="sam-cli-troubleshoot-install-linux"></a>

#### Errore Docker: «Impossibile connettersi al demone Docker. Il demone docker è in esecuzione su questo host?»
<a name="serverless-sam-cli-install-linux-troubleshooting-docker-deamon"></a>

In alcuni casi, per fornire le autorizzazioni per accedere `ec2-user` al demone Docker, potrebbe essere necessario riavviare l'istanza. Se ricevi questo errore, prova a riavviare l'istanza.

#### Errore di shell: «comando non trovato»
<a name="serverless-sam-cli-install-linux-troubleshooting-sam-cli-not-found"></a>

Se ricevi questo errore, la tua shell non è in grado di localizzare l' AWS SAMCLIeseguibile nel percorso. Verifica la posizione della directory in cui hai installato l' AWS SAMCLIeseguibile, quindi verifica che la directory si trovi sul tuo percorso.

#### AWS SAMCLIerrore: «/lib64/libc.so.6: versione `GLIBC\$12.14' non trovata (richiesta da/.so.1)» usr/local/aws-sam-cli/dist/libz
<a name="serverless-sam-cli-install-linux-troubleshooting-sam-cli-missing-lib"></a>

Se ricevi questo errore, stai usando una versione non supportata di Linux e la versione glibc integrata non è aggiornata. Prova una delle seguenti soluzioni:
+ Aggiorna il tuo host Linux alla versione a 64 bit di una distribuzione recente di CentOS, Fedora, Ubuntu o Amazon Linux 2.
+ Segui le istruzioni per. [Installa il AWS SAMCLI](#install-sam-cli)

### macOS
<a name="sam-cli-troubleshoot-install-macos"></a>

#### L'installazione non è riuscita
<a name="sam-cli-troubleshoot-install-macos-install-failed"></a>

![\[Immagine del AWS SAMCLI programma di installazione che mostra un messaggio di installazione non riuscita\]](http://docs.aws.amazon.com/it_it/serverless-application-model/latest/developerguide/images/sam-cli-troubleshoot-install-macos-install-failed.jpg)


 Se stai installando il file AWS SAMCLI per il tuo utente e hai selezionato una directory di installazione per la quale non disponi delle autorizzazioni di scrittura, potrebbe verificarsi questo errore. Prova una delle seguenti soluzioni: 

1.  Seleziona una directory di installazione diversa per la quale disponi dei permessi di scrittura. 

1.  Eliminare il programma di installazione. Quindi, scaricalo ed eseguilo di nuovo. 

## Fasi successive
<a name="install-sam-cli-next-steps"></a>

Per ulteriori informazioni AWS SAMCLI e per iniziare a creare applicazioni serverless personalizzate, consulta quanto segue:
+ [Tutorial: Implementa un'applicazione Hello World con AWS SAM](serverless-getting-started-hello-world.md)— Step-by-step istruzioni per scaricare, creare e distribuire un'applicazione serverless di base.
+ [Il AWS SAM workshop completo](https://catalog.workshops.aws/complete-aws-sam/en-US): un workshop progettato per insegnarti molte delle principali funzionalità che AWS SAM offre.
+ [AWS SAM esempi di applicazioni e modelli](https://serverlessland.com/patterns?framework=AWS+SAM): esempi di applicazioni e modelli di autori della community con cui è possibile sperimentare ulteriormente.

# Facoltativo: verifica l'integrità del AWS SAMCLI programma di installazione
<a name="reference-sam-cli-install-verify"></a>

Quando si installa l'interfaccia a riga di AWS Serverless Application Model comando (AWS SAMCLI) utilizzando un programma di installazione di pacchetti, è possibile verificarne l'integrità prima dell'installazione. Si tratta di un passaggio facoltativo, ma altamente consigliato.

Le due opzioni di verifica disponibili sono:
+ Verifica il file di firma del programma di installazione del pacchetto.
+ Verifica il valore hash del programma di installazione del pacchetto.

Se disponibile per la tua piattaforma, ti consigliamo di verificare l'opzione del file di firma. Questa opzione offre un ulteriore livello di sicurezza poiché i valori chiave sono pubblicati qui e gestiti separatamente dal nostro GitHub repository.

**Topics**
+ [

## Verifica il file di firma dell'installatore
](#reference-sam-cli-install-verify-signature)
+ [

## Verifica il valore hash
](#reference-sam-cli-install-verify-hash)

## Verifica il file di firma dell'installatore
<a name="reference-sam-cli-install-verify-signature"></a>

### Linux
<a name="reference-sam-cli-install-verify-signature-linux"></a>

#### arm64 - programma di installazione a riga di comando
<a name="reference-sam-cli-install-verify-signature-linux-arm64"></a>

AWS SAM usa [GnuPG](https://www.gnupg.org/) per firmare AWS SAMCLI il programma di installazione.zip. La verifica viene eseguita nei seguenti passaggi:

1. Utilizza la chiave pubblica primaria per verificare la chiave pubblica del firmatario.

1. Usa la chiave pubblica del firmatario per verificare il programma di installazione del AWS SAMCLI pacchetto.

**Per verificare l'integrità della chiave pubblica del firmatario**

1. Copia la chiave pubblica principale e salvala sul computer locale come `.txt` file. Ad esempio, *`primary-public-key.txt`*.

   ```
   -----BEGIN PGP PUBLIC KEY BLOCK-----
   Version: GnuPG v2.0.22 (GNU/Linux)
   
   mQINBGRuSzMBEADsqiwOy78w7F4+sshaMFRIwRGNRm94p5Qey2KMZBxekFtoryVD
   D9jEOnvupx4tvhfBHz5EcUHCEOdl4MTqdBy6vVAshozgxVb9RE8JpECn5lw7XC69
   4Y7Gy1TKKQMEWtDXElkGxIFdUWvWjSnPlzfnoXwQYGeE93CUS3h5dImP22Yk1Ct6
   eGGhlcbg1X4L8EpFMj7GvcsU8f7ziVI/PyC1Xwy39Q8/I67ip5eU5ddxO/xHqrbL
   YC7+8pJPbRMej2twT2LrcpWWYAbprMtRoa6WfE0/thoo3xhHpIMHdPfAA86ZNGIN
   kRLjGUg7jnPTRW4Oin3pCc8nT4Tfc1QERkHm641gTC/jUvpmQsM6h/FUVP2i5iE/
   JHpJcMuL2Mg6zDo3x+3gTCf+Wqz3rZzxB+wQT3yryZs6efcQy7nROiRxYBxCSXX0
   2cNYzsYLb/bYaW8yqWIHD5IqKhw269gp2E5Khs60zgS3CorMb5/xHgXjUCVgcu8a
   a8ncdf9fjl3WS5p0ohetPbO2ZjWv+MaqrZOmUIgKbA4RpWZ/fU97P5BW9ylwmIDB
   sWy0cMxg8MlvSdLytPieogaM0qMg3u5qXRGBr6Wmevkty0qgnmpGGc5zPiUbtOE8
   CnFFqyxBpj5IOnG0KZGVihvn+iRxrv6GO7WWO92+Dc6m94U0EEiBR7QiOwARAQAB
   tDRBV1MgU0FNIENMSSBQcmltYXJ5IDxhd3Mtc2FtLWNsaS1wcmltYXJ5QGFtYXpv
   bi5jb20+iQI/BBMBCQApBQJkbkszAhsvBQkHhM4ABwsJCAcDAgEGFQgCCQoLBBYC
   AwECHgECF4AACgkQQv1fenOtiFqTuhAAzi5+ju5UVOWqHKevOJSO08T4QB8HcqAE
   SVO3mY6/j29knkcL8ubZP/DbpV7QpHPI2PB5qSXsiDTP3IYPbeY78zHSDjljaIK3
   njJLMScFeGPyfPpwMsuY4nzrRIgAtXShPA8N/k4ZJcafnpNqKj7QnPxiC1KaIQWm
   pOtvb8msUF3/s0UTa5Ys/lNRhVC0eGg32ogXGdojZA2kHZWdm9udLo4CDrDcrQT7
   NtDcJASapXSQL63XfAS3snEc4e1941YxcjfYZ33rel8K9juyDZfi1slWR/L3AviI
   QFIaqSHzyOtP1oinUkoVwL8ThevKD3Ag9CZflZLzNCV7yqlF8RlhEZ4zcE/3s9El
   WzCFsozb5HfE1AZonmrDh3SyOEIBMcS6vG5dWnvJrAuSYv2rX38++K5Pr/MIAfOX
   DOI1rtA+XDsHNv9lSwSy0lt+iClawZANO9IXCiN1rOYcVQlwzDFwCNWDgkwdOqS0
   gOA2f8NF9lE5nBbeEuYquoOl1Vy8+ICbgOFs9LoWZlnVh7/RyY6ssowiU9vGUnHI
   L8f9jqRspIz/Fm3JD86ntZxLVGkeZUz62FqErdohYfkFIVcv7GONTEyrz5HLlnpv
   FJ0MR0HjrMrZrnOVZnwBKhpbLocTsH+3t5It4ReYEX0f1DIOL/KRwPvjMvBVkXY5
   hblRVDQoOWc=
   =d9oG
   -----END PGP PUBLIC KEY BLOCK-----
   ```

1. Importa la chiave pubblica principale nel tuo portachiavi.

   ```
   $ gpg --import primary-public-key.txt
   							
   gpg: directory `/home/.../.gnupg' created
   gpg: new configuration file `/home/.../.gnupg/gpg.conf' created
   gpg: WARNING: options in `/home/.../.gnupg/gpg.conf' are not yet active during this run
   gpg: keyring `/home/.../.gnupg/secring.gpg' created
   gpg: keyring `/home/.../.gnupg/pubring.gpg' created
   gpg: /home/.../.gnupg/trustdb.gpg: trustdb created
   gpg: key 73AD885A: public key "AWS SAM CLI Primary <aws-sam-cli-primary@amazon.com>" imported
   gpg: Total number processed: 1
   gpg:               imported: 1  (RSA: 1)
   ```

1. Copia la chiave pubblica del firmatario e salvala sul computer locale come `.txt` file. Ad esempio, *`signer-public-key.txt`*.

   ```
   -----BEGIN PGP PUBLIC KEY BLOCK-----
   Version: GnuPG v2.0.22 (GNU/Linux)
   
   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
   LtZnq+n4SfeNbZjD2FQWZR4CrA==
   =lHfs
   -----END PGP PUBLIC KEY BLOCK-----
   ```

1. Importa la chiave pubblica del firmatario nel tuo portachiavi.

   ```
   $ gpg --import signer-public-key.txt
   							
   gpg: key 4094ABB1BEDFDAB4: public key "AWS SAM CLI Team <aws-sam-cli-signer@amazon.com>" imported
   gpg: Total number processed: 1
   gpg:               imported: 1  (RSA: 1)
   gpg: no ultimately trusted keys found
   ```

   Prendi nota del valore della chiave dall'output. Ad esempio, *`4094ABB1BEDFDAB4`*.

1. Usa il valore della chiave per ottenere e verificare l'impronta digitale della chiave pubblica del firmatario.

   ```
   $ gpg --fingerprint 4094ABB1BEDFDAB4
   							
   pub   rsa4096 2025-05-19 [SCEA] [expires: 2027-05-19]
         EF46 3E86 CA31 933B B688  CC1A 4094 ABB1 BEDF DAB4
   uid           [ unknown] AWS SAM CLI Team <aws-sam-cli-signer@amazon.com>
   ```

   L'impronta digitale deve corrispondere alla seguente:

   ```
   EF46 3E86 CA31 933B B688  CC1A 4094 ABB1 BEDF DAB4
   ```

   Se la stringa dell'impronta digitale non corrisponde, non utilizzate il AWS SAMCLI programma di installazione. *Rivolgiti al AWS SAM team [creando un problema](https://github.com/aws/aws-sam-cli/issues/new?assignees=&labels=stage%2Fneeds-triage&projects=&template=Bug_report.md&title=Bug%3A+TITLE) nell'archivio. aws-sam-cli GitHub *

1. Verifica le firme della chiave pubblica del firmatario:

   ```
   $ gpg --check-sigs 4094ABB1BEDFDAB4
   						  
   pub   rsa4096 2025-05-19 [SCEA] [expires: 2027-05-19]
         EF463E86CA31933BB688CC1A4094ABB1BEDFDAB4
   uid           [ unknown] AWS SAM CLI Team <aws-sam-cli-signer@amazon.com>
   sig!3        4094ABB1BEDFDAB4 2025-05-19  [self-signature]
   sig!         42FD5F7A73AD885A 2025-05-19 AWS SAM CLI Primary <aws-sam-cli-primary@amazon.com>
   ```

   Se vedi`1 signature not checked due to a missing key`, ripeti i passaggi precedenti per importare la chiave pubblica principale e quella del firmatario nel tuo portachiavi.

   Dovresti vedere elencati i valori chiave sia per la chiave pubblica principale che per la chiave pubblica del firmatario.

Ora che hai verificato l'integrità della chiave pubblica del firmatario, puoi utilizzare la chiave pubblica del firmatario per verificare il programma di installazione del AWS SAMCLI pacchetto.

**Per verificare l'integrità del programma di installazione del pacchetto AWS SAMCLI**

1. **Ottieni il file della firma del AWS SAMCLI pacchetto**: scarica il file della firma per il programma di installazione del AWS SAMCLI pacchetto utilizzando il seguente comando:

   ```
   $ wget https://github.com/aws/aws-sam-cli/releases/latest/download/aws-sam-cli-linux-arm64.zip.sig
   ```

1. **Verifica il file della firma**: passa sia il file scaricato che `.sig` i `.zip` file come parametri al `gpg` comando. Di seguito è riportato un esempio:

   ```
   $ gpg --verify aws-sam-cli-linux-arm64.zip.sig aws-sam-cli-linux-arm64.zip
   ```

   L’output visualizzato dovrebbe essere simile al seguente:

   ```
   gpg: Signature made Mon 19 May 2025 01:21:57 AM UTC using RSA key ID 4094ABB1BEDFDAB4
   gpg: Good signature from "AWS SAM CLI Team <aws-sam-cli-signer@amazon.com>"
   gpg: WARNING: This key is not certified with a trusted signature!
   gpg:          There is no indication that the signature belongs to the owner.
   Primary key fingerprint: EF46 3E86 CA31 933B B688  CC1A 4094 ABB1 BEDF DAB4
   ```
   + Il `WARNING: This key is not certified with a trusted signature!` messaggio può essere ignorato. Si verifica perché non esiste una catena di fiducia tra la tua chiave PGP personale (se ne hai una) e la chiave PGP AWS SAM CLI. [Per ulteriori informazioni, consulta Web of trust.](https://en.wikipedia.org/wiki/Web_of_trust)
   + Se l'output contiene la frase`BAD signature`, verificate di aver eseguito correttamente la procedura. Se continui a ricevere questa risposta, rivolgiti al AWS SAM team [creando un problema](https://github.com/aws/aws-sam-cli/issues/new?assignees=&labels=stage%2Fneeds-triage&projects=&template=Bug_report.md&title=Bug%3A+TITLE) nell'*aws-sam-cli GitHub archivio* ed evita di usare il file scaricato.

   Il `Good signature from "AWS SAM CLI Team <aws-sam-cli-signer@amazon.com>"` messaggio indica che la firma è stata verificata e che puoi procedere con l'installazione.

#### x86\$164 - programma di installazione da riga di comando
<a name="reference-sam-cli-install-verify-signature-linux-x8664"></a>

AWS SAM usa [GnuPG](https://www.gnupg.org/) per firmare AWS SAMCLI il programma di installazione.zip. La verifica viene eseguita nei seguenti passaggi:

1. Utilizza la chiave pubblica primaria per verificare la chiave pubblica del firmatario.

1. Usa la chiave pubblica del firmatario per verificare il programma di installazione del AWS SAMCLI pacchetto.

**Per verificare l'integrità della chiave pubblica del firmatario**

1. Copia la chiave pubblica principale e salvala sul computer locale come `.txt` file. Ad esempio, *`primary-public-key.txt`*.

   ```
   -----BEGIN PGP PUBLIC KEY BLOCK-----
   Version: GnuPG v2.0.22 (GNU/Linux)
   
   mQINBGRuSzMBEADsqiwOy78w7F4+sshaMFRIwRGNRm94p5Qey2KMZBxekFtoryVD
   D9jEOnvupx4tvhfBHz5EcUHCEOdl4MTqdBy6vVAshozgxVb9RE8JpECn5lw7XC69
   4Y7Gy1TKKQMEWtDXElkGxIFdUWvWjSnPlzfnoXwQYGeE93CUS3h5dImP22Yk1Ct6
   eGGhlcbg1X4L8EpFMj7GvcsU8f7ziVI/PyC1Xwy39Q8/I67ip5eU5ddxO/xHqrbL
   YC7+8pJPbRMej2twT2LrcpWWYAbprMtRoa6WfE0/thoo3xhHpIMHdPfAA86ZNGIN
   kRLjGUg7jnPTRW4Oin3pCc8nT4Tfc1QERkHm641gTC/jUvpmQsM6h/FUVP2i5iE/
   JHpJcMuL2Mg6zDo3x+3gTCf+Wqz3rZzxB+wQT3yryZs6efcQy7nROiRxYBxCSXX0
   2cNYzsYLb/bYaW8yqWIHD5IqKhw269gp2E5Khs60zgS3CorMb5/xHgXjUCVgcu8a
   a8ncdf9fjl3WS5p0ohetPbO2ZjWv+MaqrZOmUIgKbA4RpWZ/fU97P5BW9ylwmIDB
   sWy0cMxg8MlvSdLytPieogaM0qMg3u5qXRGBr6Wmevkty0qgnmpGGc5zPiUbtOE8
   CnFFqyxBpj5IOnG0KZGVihvn+iRxrv6GO7WWO92+Dc6m94U0EEiBR7QiOwARAQAB
   tDRBV1MgU0FNIENMSSBQcmltYXJ5IDxhd3Mtc2FtLWNsaS1wcmltYXJ5QGFtYXpv
   bi5jb20+iQI/BBMBCQApBQJkbkszAhsvBQkHhM4ABwsJCAcDAgEGFQgCCQoLBBYC
   AwECHgECF4AACgkQQv1fenOtiFqTuhAAzi5+ju5UVOWqHKevOJSO08T4QB8HcqAE
   SVO3mY6/j29knkcL8ubZP/DbpV7QpHPI2PB5qSXsiDTP3IYPbeY78zHSDjljaIK3
   njJLMScFeGPyfPpwMsuY4nzrRIgAtXShPA8N/k4ZJcafnpNqKj7QnPxiC1KaIQWm
   pOtvb8msUF3/s0UTa5Ys/lNRhVC0eGg32ogXGdojZA2kHZWdm9udLo4CDrDcrQT7
   NtDcJASapXSQL63XfAS3snEc4e1941YxcjfYZ33rel8K9juyDZfi1slWR/L3AviI
   QFIaqSHzyOtP1oinUkoVwL8ThevKD3Ag9CZflZLzNCV7yqlF8RlhEZ4zcE/3s9El
   WzCFsozb5HfE1AZonmrDh3SyOEIBMcS6vG5dWnvJrAuSYv2rX38++K5Pr/MIAfOX
   DOI1rtA+XDsHNv9lSwSy0lt+iClawZANO9IXCiN1rOYcVQlwzDFwCNWDgkwdOqS0
   gOA2f8NF9lE5nBbeEuYquoOl1Vy8+ICbgOFs9LoWZlnVh7/RyY6ssowiU9vGUnHI
   L8f9jqRspIz/Fm3JD86ntZxLVGkeZUz62FqErdohYfkFIVcv7GONTEyrz5HLlnpv
   FJ0MR0HjrMrZrnOVZnwBKhpbLocTsH+3t5It4ReYEX0f1DIOL/KRwPvjMvBVkXY5
   hblRVDQoOWc=
   =d9oG
   -----END PGP PUBLIC KEY BLOCK-----
   ```

1. Importa la chiave pubblica principale nel tuo portachiavi.

   ```
   $ gpg --import primary-public-key.txt
   							
   gpg: directory `/home/.../.gnupg' created
   gpg: new configuration file `/home/.../.gnupg/gpg.conf' created
   gpg: WARNING: options in `/home/.../.gnupg/gpg.conf' are not yet active during this run
   gpg: keyring `/home/.../.gnupg/secring.gpg' created
   gpg: keyring `/home/.../.gnupg/pubring.gpg' created
   gpg: /home/.../.gnupg/trustdb.gpg: trustdb created
   gpg: key 73AD885A: public key "AWS SAM CLI Primary <aws-sam-cli-primary@amazon.com>" imported
   gpg: Total number processed: 1
   gpg:               imported: 1  (RSA: 1)
   ```

1. Copia la chiave pubblica del firmatario e salvala sul computer locale come `.txt` file. Ad esempio, *`signer-public-key.txt`*.

   ```
   -----BEGIN PGP PUBLIC KEY BLOCK-----
   Version: GnuPG v2.0.22 (GNU/Linux)
   
   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
   LtZnq+n4SfeNbZjD2FQWZR4CrA==
   =lHfs
   -----END PGP PUBLIC KEY BLOCK-----
   ```

1. Importa la chiave pubblica del firmatario nel tuo portachiavi.

   ```
   $ gpg --import signer-public-key.txt
   							
   gpg: key 4094ABB1BEDFDAB4: public key "AWS SAM CLI Team <aws-sam-cli-signer@amazon.com>" imported
   gpg: Total number processed: 1
   gpg:               imported: 1  (RSA: 1)
   gpg: no ultimately trusted keys found
   ```

   Prendi nota del valore della chiave dall'output. Ad esempio, *`4094ABB1BEDFDAB4`*.

1. Usa il valore della chiave per ottenere e verificare l'impronta digitale della chiave pubblica del firmatario.

   ```
   $ gpg --fingerprint 4094ABB1BEDFDAB4
   						  
   pub   rsa4096 2025-05-19 [SCEA] [expires: 2027-05-19]
         EF46 3E86 CA31 933B B688  CC1A 4094 ABB1 BEDF DAB4
   uid           [ unknown] AWS SAM CLI Team <aws-sam-cli-signer@amazon.com>
   ```

   L'impronta digitale deve corrispondere alla seguente:

   ```
   EF46 3E86 CA31 933B B688  CC1A 4094 ABB1 BEDF DAB4
   ```

   Se la stringa dell'impronta digitale non corrisponde, non utilizzate il AWS SAMCLI programma di installazione. *Rivolgiti al AWS SAM team [creando un problema](https://github.com/aws/aws-sam-cli/issues/new?assignees=&labels=stage%2Fneeds-triage&projects=&template=Bug_report.md&title=Bug%3A+TITLE) nell'archivio. aws-sam-cli GitHub *

1. Verifica le firme della chiave pubblica del firmatario:

   ```
   $ gpg --check-sigs 4094ABB1BEDFDAB4
   							
   pub   rsa4096 2025-05-19 [SCEA] [expires: 2027-05-19]
         EF463E86CA31933BB688CC1A4094ABB1BEDFDAB4
   uid           [ unknown] AWS SAM CLI Team <aws-sam-cli-signer@amazon.com>
   sig!3        4094ABB1BEDFDAB4 2025-05-19  [self-signature]
   sig!         42FD5F7A73AD885A 2025-05-19 AWS SAM CLI Primary <aws-sam-cli-primary@amazon.com>
   ```

   Se vedi`1 signature not checked due to a missing key`, ripeti i passaggi precedenti per importare la chiave pubblica principale e quella del firmatario nel tuo portachiavi.

   Dovresti vedere elencati i valori chiave sia per la chiave pubblica principale che per la chiave pubblica del firmatario.

Ora che hai verificato l'integrità della chiave pubblica del firmatario, puoi utilizzare la chiave pubblica del firmatario per verificare il programma di installazione del AWS SAMCLI pacchetto.

**Per verificare l'integrità del programma di installazione del pacchetto AWS SAMCLI**

1. **Ottieni il file della firma del AWS SAMCLI pacchetto**: scarica il file della firma per il programma di installazione del AWS SAMCLI pacchetto utilizzando il seguente comando:

   ```
   $ wget https://github.com/aws/aws-sam-cli/releases/latest/download/aws-sam-cli-linux-x86_64.zip.sig
   ```

1. **Verifica il file della firma**: passa sia il file scaricato che `.sig` i `.zip` file come parametri al `gpg` comando. Di seguito è riportato un esempio:

   ```
   $ gpg --verify aws-sam-cli-linux-x86_64.zip.sig aws-sam-cli-linux-x86_64.zip
   ```

   L’output visualizzato dovrebbe essere simile al seguente:

   ```
   gpg: Signature made Mon 19 May 2025 01:21:57 AM UTC using RSA key ID 4094ABB1BEDFDAB4
   gpg: Good signature from "AWS SAM CLI Team <aws-sam-cli-signer@amazon.com>"
   gpg: WARNING: This key is not certified with a trusted signature!
   gpg:          There is no indication that the signature belongs to the owner.
   Primary key fingerprint: EF46 3E86 CA31 933B B688  CC1A 4094 ABB1 BEDF DAB4
   ```
   + Il `WARNING: This key is not certified with a trusted signature!` messaggio può essere ignorato. Si verifica perché non esiste una catena di fiducia tra la tua chiave PGP personale (se ne hai una) e la chiave PGP AWS SAM CLI. [Per ulteriori informazioni, consulta Web of trust.](https://en.wikipedia.org/wiki/Web_of_trust)
   + Se l'output contiene la frase`BAD signature`, verificate di aver eseguito correttamente la procedura. Se continui a ricevere questa risposta, rivolgiti al AWS SAM team [creando un problema](https://github.com/aws/aws-sam-cli/issues/new?assignees=&labels=stage%2Fneeds-triage&projects=&template=Bug_report.md&title=Bug%3A+TITLE) nell'*aws-sam-cli GitHub archivio* ed evita di usare il file scaricato.

   Il `Good signature from "AWS SAM CLI Team <aws-sam-cli-signer@amazon.com>"` messaggio indica che la firma è stata verificata e che puoi procedere con l'installazione.

### macOS
<a name="reference-sam-cli-install-verify-signature-macos"></a>

#### GUI e programma di installazione a riga di comando
<a name="reference-sam-cli-install-verify-signature-macos-installer"></a>

È possibile verificare l'integrità del file di firma del programma di installazione del AWS SAMCLI pacchetto utilizzando lo `pkgutil` strumento o manualmente.

**Per verificare usando pkgutil**

1. Esegui il comando seguente, fornendo il percorso del programma di installazione scaricato sul tuo computer locale:

   ```
   $ pkgutil --check-signature /path/to/aws-sam-cli-installer.pkg
   ```

   Di seguito è riportato un esempio:

   ```
   $ pkgutil --check-signature /Users/user/Downloads/aws-sam-cli-macos-arm64.pkg
   ```

1. Dall'output, individua il file **SHA256 fingerprint** per**Developer ID Installer: AMZN Mobile LLC**. Di seguito è riportato un esempio:

   ```
   Package "aws-sam-cli-macos-arm64.pkg":
      Status: signed by a developer certificate issued by Apple for distribution
      Notarization: trusted by the Apple notary service
      Signed with a trusted timestamp on: 2026-01-28 07:39:16 +0000
      Certificate Chain:
       1. Developer ID Installer: AMZN Mobile LLC (94KV3E626L)
          Expires: 2030-09-26 00:18:06 +0000
          SHA256 Fingerprint:
              5C 45 BE 63 FD 52 10 07 2D 66 56 77 5C A9 FF 25 91 6D 3F 01 F7 0E
              9A 8A 05 F6 2D 62 B2 88 8D A9
          ------------------------------------------------------------------------
       2. Developer ID Certification Authority
          Expires: 2031-09-17 00:00:00 +0000
          SHA256 Fingerprint:
              F1 6C D3 C5 4C 7F 83 CE A4 BF 1A 3E 6A 08 19 C8 AA A8 E4 A1 52 8F
              D1 44 71 5F 35 06 43 D2 DF 3A
          ------------------------------------------------------------------------
       3. Apple Root CA
          Expires: 2035-02-09 21:40:36 +0000
          SHA256 Fingerprint:
              B0 B1 73 0E CB C7 FF 45 05 14 2C 49 F1 29 5E 6E DA 6B CA ED 7E 2C
              68 C5 BE 91 B5 A1 10 01 F0 24
   ```

1. **Developer ID Installer: AMZN Mobile LLC SHA256 fingerprint**Dovrebbe corrispondere al seguente valore:

   ```
   5C 45 BE 63 FD 52 10 07 2D 66 56 77 5C A9 FF 25 91 6D 3F 01 F7 0E 9A 8A 05 F6 2D 62 B2 88 8D A9
   ```

   Se la stringa dell'impronta digitale non corrisponde, non utilizzate il AWS SAMCLI programma di installazione. *Rivolgiti al AWS SAM team [creando un problema](https://github.com/aws/aws-sam-cli/issues/new?assignees=&labels=stage%2Fneeds-triage&projects=&template=Bug_report.md&title=Bug%3A+TITLE) nell'archivio. aws-sam-cli GitHub * Se la stringa dell'impronta digitale corrisponde, puoi procedere con l'utilizzo del programma di installazione del pacchetto.

**Per verificare manualmente il programma di installazione del pacchetto**
+ Vedi [Come verificare l'autenticità degli aggiornamenti software Apple scaricati manualmente](https://support.apple.com/en-us/HT202369) sul sito web del *supporto Apple*.

### Windows
<a name="reference-sam-cli-install-verify-signature-windows"></a>

Il AWS SAMCLI programma di installazione è confezionato come MSI file per il Windows sistema operativo.

**Per verificare l'integrità del programma di installazione**

1. Fare clic con il pulsante destro del mouse sul programma di installazione e aprire la finestra **Proprietà**.

1. Scegli la scheda **Firme digitali**.

1. Dall'**elenco delle firme**, scegli **Amazon Web Services, Inc.**, quindi scegli **Dettagli**.

1. Scegli la scheda **Generale**, se non è già selezionata, quindi scegli **Visualizza certificato**.

1. Scegli la scheda **Dettagli**, quindi seleziona **Tutto** nell'elenco a discesa **Mostra**, se non è già selezionato.

1. Scorri fino a visualizzare il campo **Identificazione personale**, quindi scegli **Identificazione personale**. In questo modo viene visualizzato l'intero valore dell'identificazione personale nella finestra inferiore.

1. Abbina il valore dell'impronta digitale al valore seguente. Se il valore corrisponde, procedi con l'installazione. *In caso contrario, rivolgiti al AWS SAM team [creando un problema](https://github.com/aws/aws-sam-cli/issues/new?assignees=&labels=stage%2Fneeds-triage&projects=&template=Bug_report.md&title=Bug%3A+TITLE) nell'aws-sam-cli GitHub archivio.*

   ```
   cd62479397f09d72a04c7399a254b0a91da53d6c
   ```

## Verifica il valore hash
<a name="reference-sam-cli-install-verify-hash"></a>

### Linux
<a name="reference-sam-cli-install-verify-hash-linux"></a>

#### x86\$164 - programma di installazione da riga di comando
<a name="reference-sam-cli-install-verify-hash-linux-x8664"></a>

Verifica l'integrità e l'autenticità dei file di installazione scaricati generando un valore hash utilizzando il seguente comando:

```
$ sha256sum aws-sam-cli-linux-x86_64.zip
```

L'output dovrebbe essere simile al seguente esempio:

```
<64-character SHA256 hash value> aws-sam-cli-linux-x86_64.zip
```

[Confrontate il valore hash SHA-256 a 64 caratteri con quello della AWS SAMCLI versione desiderata nelle note di rilascio su.AWS SAMCLI](https://github.com/aws/aws-sam-cli/releases/latest) GitHub

### macOS
<a name="reference-sam-cli-install-verify-hash-macos"></a>

#### GUI e programma di installazione a riga di comando
<a name="reference-sam-cli-install-verify-hash-macos-installer"></a>

 Verifica l'integrità e l'autenticità del programma di installazione scaricato generando un valore hash utilizzando il seguente comando: 

```
$ shasum -a 256 path-to-pkg-installer/name-of-pkg-installer

# Examples
$ shasum -a 256 ~/Downloads/aws-sam-cli-macos-arm64.pkg
$ shasum -a 256 ~/Downloads/aws-sam-cli-macos-x86_64.pkg
```

 [Confrontate il vostro valore hash SHA-256 a 64 caratteri con il valore corrispondente nell'archivio delle note di rilascio.AWS SAMCLI](https://github.com/aws/aws-sam-cli/releases/latest) GitHub 

# Tutorial: Implementa un'applicazione Hello World con AWS SAM
<a name="serverless-getting-started-hello-world"></a>

In questo tutorial, si utilizza l'interfaccia a riga di AWS Serverless Application Model comando (AWS SAMCLI) per completare quanto segue:
+ Inizializza, crea e distribuisci un'applicazione **Hello World** di esempio.
+ Apporta modifiche locali e sincronizza con. AWS CloudFormation
+ Esegui test locali sul tuo host di sviluppo.
+ Eliminare l'applicazione di esempio da Cloud AWS.

L'applicazione **Hello World** di esempio implementa un backend API di base. Consiste delle seguenti risorse:
+ **Amazon API Gateway**: endpoint API che utilizzerai per richiamare la tua funzione.
+ **AWS Lambda**— Funzione che elabora la richiesta HTTP API GET e restituisce un `hello world` messaggio.
+ **AWS Identity and Access Management Ruolo (IAM)**: fornisce le autorizzazioni per consentire ai servizi di interagire in modo sicuro.

Il diagramma seguente mostra i componenti di questa applicazione:

![\[Un diagramma di una funzione Lambda che viene richiamata quando invii una richiesta GET all'endpoint API Gateway.\]](http://docs.aws.amazon.com/it_it/serverless-application-model/latest/developerguide/images/gs-01.png)


**Topics**
+ [

## Prerequisiti
](#serverless-getting-started-hello-world-prerequisites)
+ [

## Passaggio 1: inizializza l'applicazione Hello World di esempio
](#serverless-getting-started-hello-world-init)
+ [

## Fase 2: Crea la tua applicazione
](#serverless-getting-started-hello-world-build)
+ [

## Passo 3: Distribuisci la tua applicazione su Cloud AWS
](#serverless-getting-started-hello-world-deploy)
+ [

## Passaggio 4: Esegui l'applicazione
](#serverless-getting-started-hello-world-run)
+ [

## Fase 5: Interagite con la vostra funzione nel Cloud AWS
](#serverless-getting-started-hello-world-remote-invoke)
+ [

## Fase 6: Modificare e sincronizzare l'applicazione con Cloud AWS
](#serverless-getting-started-hello-world-sync)
+ [

## Passaggio 7: (Facoltativo) Testa l'applicazione localmente
](#serverless-getting-started-hello-world-test)
+ [

## Fase 8: Eliminare l'applicazione dal Cloud AWS
](#serverless-getting-started-hello-world-delete)
+ [

## Risoluzione dei problemi
](#serverless-getting-started-hello-world-troubleshoot)
+ [

## Ulteriori informazioni
](#serverless-getting-started-hello-world-learn)

## Prerequisiti
<a name="serverless-getting-started-hello-world-prerequisites"></a>

Verifica di aver completato quanto segue:
+ [AWS SAM prerequisiti](prerequisites.md)
+ [Installa il AWS SAMCLI](install-sam-cli.md)

**Nota**  
Se preferisci usare Visual Studio Code per lo sviluppo serverless, consulta [Creazione di applicazioni serverless](https://docs.aws.amazon.com/toolkit-for-vscode/latest/userguide/sam-get-started.html#serverless-apps-create) nella AWS Toolkit for VS Code User Guide step-by-step per istruzioni sull'uso dell'interfaccia VS Code.

## Passaggio 1: inizializza l'applicazione Hello World di esempio
<a name="serverless-getting-started-hello-world-init"></a>

In questo passaggio, utilizzerai il AWS SAMCLI per creare un esempio di progetto applicativo **Hello World** sul tuo computer locale.

**Per inizializzare l'applicazione Hello World di esempio**

1. Nella riga di comando, esegui quanto segue da una directory iniziale a tua scelta:

   ```
   $ sam init
   ```
**Nota**  
Questo comando inizializza l'applicazione serverless e crea una directory di progetto. La directory contiene diversi file e cartelle, incluso il `template.yaml` file, che è il modello. AWS SAM   
La versione di Python installata deve corrispondere alla `Runtime` proprietà specificata in. `template.yaml` Per i carichi di lavoro di produzione, consigliamo di utilizzare Python 3.12 o versioni precedenti completamente supportate negli ambienti. AWS Se le versioni di Python non corrispondono, si verificheranno errori di compilazione.  
Per risolvere i problemi di compatibilità delle versioni:  
 Specificate un [runtime](sam-cli-command-reference-sam-init.md#sam-cli-command-reference-sam-init-options-runtime) compatibile durante l'inizializzazione: `sam init --runtime python3.9`
Modifica la `Runtime` proprietà `template.yaml` dopo l'inizializzazione

1. Ti AWS SAMCLI guiderà attraverso l'inizializzazione di una nuova applicazione. Configura quanto segue:

   1. Seleziona **Modelli di avvio AWS rapido** per scegliere un modello iniziale.

   1. Scegli il modello **Hello World Example** e scaricalo.

   1. Usa il Python runtime e il tipo di `zip` pacchetto.

   1. Per questo tutorial, disattiva il AWS X-Ray tracciamento. Per saperne di più, vedi [Cos'è AWS X-Ray?](https://docs.aws.amazon.com/xray/latest/devguide/aws-xray.html) nella *Guida per gli AWS X-Ray sviluppatori*.

   1. Per questo tutorial, disattiva il monitoraggio con Amazon CloudWatch Application Insights. Per ulteriori informazioni, consulta [Amazon CloudWatch Application Insights](https://docs.aws.amazon.com/AmazonCloudWatch/latest/monitoring/cloudwatch-application-insights.html) nella *Amazon CloudWatch User Guide*.

   1. Per questo tutorial, disattiva l'impostazione della registrazione strutturata in formato JSON sulle tue funzioni Lambda.

   1. **Assegna un nome alla tua applicazione come sam-app.**

   Per utilizzare il flusso AWS SAMCLI interattivo:
   + Le parentesi (`[ ]`) indicano i valori predefiniti. Lascia vuota la risposta per selezionare il valore predefinito.
   + Inserisci **`y`** per **sì** e **`n`** per **no**.

   Di seguito è riportato un esempio di flusso `sam init` interattivo:

   ```
   $ sam init
   ...
   Which template source would you like to use?
       1 - AWS Quick Start Templates
       2 - Custom Template Location
   Choice: 1
   
   Choose an AWS Quick Start application template
       1 - Hello World Example
       2 - Data processing
       3 - Hello World Example with Powertools for AWS Lambda
       4 - Multi-step workflow
       5 - Scheduled task
       6 - Standalone function
       7 - Serverless API
       8 - Infrastructure event management 
       9 - Lambda Response Streaming
      10 - GraphQLApi Hello World Example
      11 - Full Stack
      12 - Lambda EFS example
      13 - Serverless Connector Hello World Example
      14 - Multi-step workflow with Connectors
      15 - DynamoDB Example
      16 - Machine Learning
   Template: 1
   
   Use the most popular runtime and package type? (Python and zip) [y/N]: y
   
   Would you like to enable X-Ray tracing on the function(s) in your application?  [y/N]: ENTER
   
   Would you like to enable monitoring using CloudWatch Application Insights?
   For more info, please view https://docs.aws.amazon.com/AmazonCloudWatch/latest/monitoring/cloudwatch-application-insights.html [y/N]: ENTER
   					
   Would you like to set Structured Logging in JSON format on your Lambda functions?  [y/N]: ENTER
   
   Project name [sam-app]: ENTER
   ```

1.  AWS SAMCLIScarica il modello iniziale e crea la struttura di directory del progetto applicativo sul computer locale. Di seguito è riportato un esempio dell' AWS SAMCLIoutput:

   ```
   Cloning from https://github.com/aws/aws-sam-cli-app-templates (process may take a moment)
   
       -----------------------
       Generating application:
       -----------------------
       Name: sam-app
       Runtime: python3.9
       Architectures: x86_64
       Dependency Manager: pip
       Application Template: hello-world
       Output Directory: .
       Configuration file: sam-app/samconfig.toml
   
       Next steps can be found in the README file at sam-app/README.md
   
   
   Commands you can use next
   =========================
   [*] Create pipeline: cd sam-app && sam pipeline init --bootstrap
   [*] Validate SAM template: cd sam-app && sam validate
   [*] Test Function in the Cloud: cd sam-app && sam sync --stack-name {stack-name} --watch
   ```

1. Dalla riga di comando, spostatevi nella `sam-app` directory appena creata. Di seguito è riportato un esempio di ciò che AWS SAMCLI ha creato:
**Nota**  
Se `tree` il comando non è installato automaticamente, esegui questo comando: `brew install tree`

   ```
   $ cd sam-app
   
   $ tree
   
   ├── README.md
   ├── __init__.py
   ├── events
   │   └── event.json
   ├── hello_world
   │   ├── __init__.py
   │   ├── app.py
   │   └── requirements.txt
   ├── samconfig.toml
   ├── template.yaml
   └── tests
       ├── __init__.py
       ├── integration
       │   ├── __init__.py
       │   └── test_api_gateway.py
       ├── requirements.txt
       └── unit
           ├── __init__.py
           └── test_handler.py
           
   6 directories, 14 files
   ```

   Alcuni file importanti da evidenziare:
   + `hello_world/app.py`— Contiene il codice della funzione Lambda.
   + `hello_world/requirements.txt`— Contiene tutte Python le dipendenze richieste dalla funzione Lambda.
   + `samconfig.toml`— File di configurazione per l'applicazione che memorizza i parametri predefiniti utilizzati da. AWS SAMCLI
   + `template.yaml`— Il AWS SAM modello che contiene il codice dell'infrastruttura dell'applicazione.

Ora hai un'applicazione serverless completamente creata sul tuo computer locale\$1

## Fase 2: Crea la tua applicazione
<a name="serverless-getting-started-hello-world-build"></a>

In questo passaggio, si utilizza il AWS SAMCLI per creare l'applicazione e prepararla per la distribuzione. Quando compili, AWS SAMCLI crea una `.aws-sam` directory e vi organizza le dipendenze delle funzioni, il codice del progetto e i file di progetto.

**Per creare la tua applicazione**
+ Nella riga di comando, dalla directory del `sam-app` progetto, esegui quanto segue:

  ```
  $ sam build
  ```
**Nota**  
 Se non lo hai Python sul tuo computer locale, usa invece il **sam build --use-container ** comando. AWS SAMCLICreerà un Docker contenitore che include il runtime e le dipendenze della funzione. Questo comando richiede la Docker presenza sul computer locale. Per l'installazioneDocker, vedere[Installazione di Docker](install-docker.md).

  Di seguito è riportato un esempio dell' AWS SAMCLIoutput:

  ```
  $ sam build
  Starting Build use cache
  Manifest file is changed (new hash: 3298f1304...d4d421) or dependency folder (.aws-sam/deps/4d3dfad6-a267-47a6-a6cd-e07d6fae318c) is missing for (HelloWorldFunction), downloading dependencies and copying/building source
  Building codeuri: /Users/.../Demo/sam-tutorial1/sam-app/hello_world runtime: python3.9 metadata: {} architecture: x86_64 functions: HelloWorldFunction
  Running PythonPipBuilder:CleanUp
  Running PythonPipBuilder:ResolveDependencies
  Running PythonPipBuilder:CopySource
  Running PythonPipBuilder:CopySource
  
  Build Succeeded
  
  Built Artifacts  : .aws-sam/build
  Built Template   : .aws-sam/build/template.yaml
  
  Commands you can use next
  =========================
  [*] Validate SAM template: sam validate
  [*] Invoke Function: sam local invoke
  [*] Test Function in the Cloud: sam sync --stack-name {{stack-name}} --watch
  [*] Deploy: sam deploy --guided
  ```

  Di seguito è riportato un esempio abbreviato della `.aws-sam` directory creata dalla AWS SAM CLI:

  ```
  .aws-sam
  ├── build
  │   ├── HelloWorldFunction
  │   │   ├── __init__.py
  │   │   ├── app.py
  │   │   └── requirements.txt
  │   └── template.yaml
  └── build.toml
  ```

Alcuni file importanti da evidenziare:
+ `build/HelloWorldFunction`— Contiene il codice della funzione Lambda e le dipendenze. AWS SAMCLICrea una directory per ogni funzione dell'applicazione.
+ `build/template.yaml`— Contiene una copia del AWS SAM modello a cui fa riferimento CloudFormation durante la distribuzione.
+ `build.toml`— File di configurazione che memorizza i valori dei parametri predefiniti a cui fa riferimento AWS SAMCLI durante la creazione e la distribuzione dell'applicazione.

Ora sei pronto per distribuire la tua applicazione su. Cloud AWS

## Passo 3: Distribuisci la tua applicazione su Cloud AWS
<a name="serverless-getting-started-hello-world-deploy"></a>

**Nota**  
Questo passaggio richiede la configurazione AWS delle credenziali. Per ulteriori informazioni, consulta [Passaggio 5: Utilizzare AWS CLI per configurare le AWS credenziali](prerequisites.md#prerequisites-configure-credentials) in [AWS SAM prerequisiti](prerequisites.md).

In questo passaggio, si utilizza AWS SAMCLI per distribuire l'applicazione su. Cloud AWS AWS SAMCLIFaranno quanto segue:
+ Guida l'utente nella configurazione delle impostazioni dell'applicazione per la distribuzione.
+ Carica i file dell'applicazione su Amazon Simple Storage Service (Amazon S3).
+ Trasforma il tuo AWS SAM modello in un CloudFormation modello. Quindi carica il modello sul CloudFormation servizio per fornire AWS le tue risorse.

**Per distribuire l'applicazione su**

1. Nella riga di comando, dalla directory del `sam-app` progetto, esegui quanto segue:

   ```
   $ sam deploy --guided
   ```

1. Segui il flusso AWS SAMCLI interattivo per configurare le impostazioni dell'applicazione. Configura quanto segue:

   1. Il **nome CloudFormation dello stack**: uno stack è una raccolta di AWS risorse che puoi gestire come singola unità. *Per ulteriori informazioni, consulta [Lavorare con gli stack nella Guida](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/stacks.html) per l'AWS CloudFormation utente.*

   1. Il **Regione AWS**su cui distribuire lo CloudFormation stack. Per ulteriori informazioni, consulta [Endpoint CloudFormation](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-endpoints.html) nella *Guida per l'utente di AWS CloudFormation *.

   1. Per questo tutorial, disattiva la **conferma delle modifiche prima della distribuzione**.

   1. Consenti **la creazione di ruoli IAM**: consente di AWS SAM creare il ruolo IAM necessario per l'interazione tra la risorsa API Gateway e la risorsa della funzione Lambda.

   1. Per questo tutorial, disattiva la **disabilitazione del rollback**.

   1. Consenti **HelloWorldFunction senza autorizzazione definita**: questo messaggio viene visualizzato perché l'endpoint API Gateway è configurato per essere accessibile pubblicamente, senza autorizzazione. Poiché questa è la configurazione prevista per l'applicazione Hello World, consenti AWS SAMCLI di continuare. Per ulteriori informazioni sulla configurazione dell'autorizzazione, consulta[Controlla l'accesso alle API con il tuo AWS SAM modello](serverless-controlling-access-to-apis.md).

   1. **Salva gli argomenti nel file di configurazione**: questo aggiornerà il `samconfig.toml` file dell'applicazione con le preferenze di distribuzione.

   1. Seleziona il **nome del file di configurazione** predefinito.

   1. Seleziona l'**ambiente di configurazione** predefinito.

   Di seguito è riportato un esempio di output del flusso `sam deploy --guided` interattivo:

   ```
   $ sam deploy --guided
   
   Configuring SAM deploy
   ======================
   
       Looking for config file [samconfig.toml] :  Found
       Reading default arguments  :  Success
   
       Setting default arguments for 'sam deploy'
       =========================================
       Stack Name [sam-app]: ENTER
       AWS Region [us-west-2]: ENTER
       #Shows you resources changes to be deployed and require a 'Y' to initiate deploy
       Confirm changes before deploy [Y/n]: n
       #SAM needs permission to be able to create roles to connect to the resources in your template
       Allow SAM CLI IAM role creation [Y/n]: ENTER
       #Preserves the state of previously provisioned resources when an operation fails
       Disable rollback [y/N]: ENTER
       HelloWorldFunction may not have authorization defined, Is this okay? [y/N]: y
       Save arguments to configuration file [Y/n]: ENTER
       SAM configuration file [samconfig.toml]: ENTER
       SAM configuration environment [default]: ENTER
   ```

1.  AWS SAMCLIImplementa l'applicazione effettuando le seguenti operazioni:
   + Quindi AWS SAMCLI crea un bucket Amazon S3 e carica la tua directory. `.aws-sam`
   +  AWS SAMCLITrasforma il AWS SAM modello in CloudFormation e lo carica sul servizio. CloudFormation 
   + CloudFormation fornisce le tue risorse.

   Durante la distribuzione, AWS SAMCLI mostra i tuoi progressi. Di seguito è riportato un esempio di output:

   ```
   Looking for resources needed for deployment:
   
       Managed S3 bucket: aws-sam-cli-managed-default-samclisam-s3-demo-bucket-1a4x26zbcdkqr
       A different default S3 bucket can be set in samconfig.toml
   
       Parameter "stack_name=sam-app" in [default.deploy.parameters] is defined as a global parameter [default.global.parameters].
       This parameter will be only saved under [default.global.parameters] in /Users/.../Demo/sam-tutorial1/sam-app/samconfig.toml.
   
       Saved arguments to config file
       Running 'sam deploy' for future deployments will use the parameters saved above.
       The above parameters can be changed by modifying samconfig.toml
       Learn more about samconfig.toml syntax at
       https://docs.aws.amazon.com/serverless-application-model/latest/developerguide/serverless-sam-cli-config.html
   
   File with same data already exists at sam-app/da3c598813f1c2151579b73ad788cac8, skipping upload
   
       Deploying with following values
       ===============================
       Stack name                   : sam-app
       Region                       : us-west-2
       Confirm changeset            : False
       Disable rollback             : False
       Deployment s3 bucket         : aws-sam-cli-managed-default-samclisam-s3-demo-bucket-1a4x26zbcdkqr
       Capabilities                 : ["CAPABILITY_IAM"]
       Parameter overrides          : {}
       Signing Profiles             : {}
   
   Initiating deployment
   =====================
   
   File with same data already exists at sam-app/2bebf67c79f6a743cc5312f6dfc1efee.template, skipping upload
   
   
   Waiting for changeset to be created..
   
   CloudFormation stack changeset
   ---------------------------------------------------------------------------------------------------------------------------------------------
   Operation                           LogicalResourceId                   ResourceType                        Replacement
   ---------------------------------------------------------------------------------------------------------------------------------------------
   * Modify                            HelloWorldFunction                  AWS::Lambda::Function               False
   * Modify                            ServerlessRestApi                   AWS::ApiGateway::RestApi            False
   - Delete                            AwsSamAutoDependencyLayerNestedSt   AWS::CloudFormation::Stack          N/A
                                       ack
   ---------------------------------------------------------------------------------------------------------------------------------------------
   
   
   Changeset created successfully. arn:aws:cloudformation:us-west-2:012345678910:changeSet/samcli-deploy1678917603/22e05525-08f9-4c52-a2c4-f7f1fd055072
   
   
   2023-03-15 12:00:16 - Waiting for stack create/update to complete
   
   CloudFormation events from stack operations (refresh every 0.5 seconds)
   ---------------------------------------------------------------------------------------------------------------------------------------------
   ResourceStatus                      ResourceType                        LogicalResourceId                   ResourceStatusReason
   ---------------------------------------------------------------------------------------------------------------------------------------------
   UPDATE_IN_PROGRESS                  AWS::Lambda::Function               HelloWorldFunction                  -
   UPDATE_COMPLETE                     AWS::Lambda::Function               HelloWorldFunction                  -
   UPDATE_COMPLETE_CLEANUP_IN_PROGRE   AWS::CloudFormation::Stack          sam-app                             -
   SS
   DELETE_IN_PROGRESS                  AWS::CloudFormation::Stack          AwsSamAutoDependencyLayerNestedSt   -
                                                                           ack
   DELETE_COMPLETE                     AWS::CloudFormation::Stack          AwsSamAutoDependencyLayerNestedSt   -
                                                                           ack
   UPDATE_COMPLETE                     AWS::CloudFormation::Stack          sam-app                             -
   ---------------------------------------------------------------------------------------------------------------------------------------------
   
   CloudFormation outputs from deployed stack
   ----------------------------------------------------------------------------------------------------------------------------------------------
   Outputs
   ----------------------------------------------------------------------------------------------------------------------------------------------
   Key                 HelloWorldFunctionIamRole
   Description         Implicit IAM Role created for Hello World function
   Value               arn:aws:iam::012345678910:role/sam-app-HelloWorldFunctionRole-15GLOUR9LMT1W
   
   Key                 HelloWorldApi
   Description         API Gateway endpoint URL for Prod stage for Hello World function
   Value               https://<restapiid>.execute-api.us-west-2.amazonaws.com/Prod/hello/
   
   Key                 HelloWorldFunction
   Description         Hello World Lambda Function ARN
   Value               arn:aws:lambda:us-west-2:012345678910:function:sam-app-HelloWorldFunction-yQDNe17r9maD
   ----------------------------------------------------------------------------------------------------------------------------------------------
   
   
   Successfully created/updated stack - sam-app in us-west-2
   ```

L'applicazione è ora distribuita e in esecuzione in\$1 Cloud AWS

## Passaggio 4: Esegui l'applicazione
<a name="serverless-getting-started-hello-world-run"></a>

In questo passaggio, invierai una richiesta GET all'endpoint API e vedrai l'output della funzione Lambda.

**Per ottenere il valore dell'endpoint dell'API**

1. Dalle informazioni visualizzate AWS SAMCLI nel passaggio precedente, individua la `Outputs` sezione. In questa sezione, individua la `HelloWorldApi` risorsa per trovare il valore dell'endpoint HTTP. Di seguito è riportato un esempio di output:

   ```
   ----------------------------------------------------------------------------------------------------------------------------------------------
   Outputs
   ----------------------------------------------------------------------------------------------------------------------------------------------
   ...
   Key                 HelloWorldApi
   Description         API Gateway endpoint URL for Prod stage for Hello World function
   Value               https://ets1gv8lxi.execute-api.us-west-2.amazonaws.com/Prod/hello/
   ...
   ----------------------------------------------------------------------------------------------------------------------------------------------
   ```

1. In alternativa, è possibile utilizzare il **sam list endpoints --output json** comando per ottenere queste informazioni. Di seguito è riportato un esempio di output:

   ```
   $ sam list endpoints --output json
   2023-03-15 12:39:19 Loading policies from IAM...
   2023-03-15 12:39:25 Finished loading policies from IAM.
   [
     {
       "LogicalResourceId": "HelloWorldFunction",
       "PhysicalResourceId": "sam-app-HelloWorldFunction-yQDNe17r9maD",
       "CloudEndpoint": "-",
       "Methods": "-"
     },
     {
       "LogicalResourceId": "ServerlessRestApi",
       "PhysicalResourceId": "ets1gv8lxi",
       "CloudEndpoint": [
         "https://ets1gv8lxi.execute-api.us-west-2.amazonaws.com/Prod",
         "https://ets1gv8lxi.execute-api.us-west-2.amazonaws.com/Stage"
       ],
       "Methods": [
         "/hello['get']"
       ]
     }
   ]
   ```

**Per richiamare la tua funzione**
+ Utilizzando il browser o la riga di comando, invia una richiesta GET all'endpoint API. Di seguito è riportato un esempio di utilizzo del comando curl:

  ```
  $ curl https://ets1gv8lxi.execute-api.us-west-2.amazonaws.com/Prod/hello/
  {"message": "hello world"}
  ```

## Fase 5: Interagite con la vostra funzione nel Cloud AWS
<a name="serverless-getting-started-hello-world-remote-invoke"></a>

In questo passaggio, si utilizza AWS SAMCLI per richiamare la funzione Lambda in. Cloud AWS

**Per richiamare la funzione Lambda nel cloud**

1. Prendi nota delle tue funzioni del `LogicalResourceId` passaggio precedente. Dovrebbe essere `HelloWorldFunction`.

1. Nella riga di comando, dalla directory del `sam-app` progetto, esegui quanto segue:

   ```
   $ sam remote invoke HelloWorldFunction --stack-name sam-app
   ```

1.  AWS SAMCLIrichiama la tua funzione nel cloud e restituisce una risposta. Di seguito è riportato un esempio di output:

   ```
   $ sam remote invoke HelloWorldFunction --stack-name sam-app
   
   Invoking Lambda Function HelloWorldFunction                                       
   START RequestId: d5ef494b-5f45-4086-86fd-d7322fa1a1f9 Version: $LATEST
   END RequestId: d5ef494b-5f45-4086-86fd-d7322fa1a1f9
   REPORT RequestId: d5ef494b-5f45-4086-86fd-d7322fa1a1f9  Duration: 6.62 ms       Billed Duration: 7 ms     Memory Size: 128 MB     Max Memory Used: 67 MB  Init Duration: 164.06 ms
   {"statusCode":200,"body":"{\"message\":\"hello world\"}"}%
   ```

## Fase 6: Modificare e sincronizzare l'applicazione con Cloud AWS
<a name="serverless-getting-started-hello-world-sync"></a>

In questo passaggio, si utilizza il AWS SAMCLI **sam sync --watch** comando per sincronizzare le modifiche locali a Cloud AWS.

**Per usare sam sync**

1. Nella riga di comando, dalla directory del `sam-app` progetto, esegui quanto segue:

   ```
   $ sam sync --watch
   ```

1. Ti AWS SAMCLI chiede di confermare che stai sincronizzando uno stack di sviluppo. Poiché il **sam sync --watch** comando distribuisce automaticamente le modifiche locali Cloud AWS in tempo reale, lo consigliamo solo per gli ambienti di sviluppo.

    AWS SAMCLIEsegue una distribuzione iniziale prima di iniziare il monitoraggio delle modifiche locali. Di seguito è riportato un esempio di output:

   ```
   $ sam sync --watch
   The SAM CLI will use the AWS Lambda, Amazon API Gateway, and AWS StepFunctions APIs to upload your code without
   performing a CloudFormation deployment. This will cause drift in your CloudFormation stack.
   **The sync command should only be used against a development stack**.
   
   Confirm that you are synchronizing a development stack.
   
   Enter Y to proceed with the command, or enter N to cancel:
    [Y/n]: y
   Queued infra sync. Waiting for in progress code syncs to complete...
   Starting infra sync.
   Manifest is not changed for (HelloWorldFunction), running incremental build
   Building codeuri: /Users/.../Demo/sam-tutorial1/sam-app/hello_world runtime: python3.9 metadata: {} architecture: x86_64 functions: HelloWorldFunction
   Running PythonPipBuilder:CopySource
   
   Build Succeeded
   
   Successfully packaged artifacts and wrote output template to file /var/folders/45/5ct135bx3fn2551_ptl5g6_80000gr/T/tmpq3x9vh63.
   Execute the following command to deploy the packaged template
   sam deploy --template-file /var/folders/45/5ct135bx3fn2551_ptl5g6_80000gr/T/tmpq3x9vh63 --stack-name <YOUR STACK NAME>
   
   
       Deploying with following values
       ===============================
       Stack name                   : sam-app
       Region                       : us-west-2
       Disable rollback             : False
       Deployment s3 bucket         : aws-sam-cli-managed-default-samclisam-s3-demo-bucket-1a4x26zbcdkqr
       Capabilities                 : ["CAPABILITY_NAMED_IAM", "CAPABILITY_AUTO_EXPAND"]
       Parameter overrides          : {}
       Signing Profiles             : null
   
   Initiating deployment
   =====================
   
   
   2023-03-15 13:10:05 - Waiting for stack create/update to complete
   
   CloudFormation events from stack operations (refresh every 0.5 seconds)
   ---------------------------------------------------------------------------------------------------------------------------------------------
   ResourceStatus                      ResourceType                        LogicalResourceId                   ResourceStatusReason
   ---------------------------------------------------------------------------------------------------------------------------------------------
   UPDATE_IN_PROGRESS                  AWS::CloudFormation::Stack          sam-app                             Transformation succeeded
   CREATE_IN_PROGRESS                  AWS::CloudFormation::Stack          AwsSamAutoDependencyLayerNestedSt   -
                                                                           ack
   CREATE_IN_PROGRESS                  AWS::CloudFormation::Stack          AwsSamAutoDependencyLayerNestedSt   Resource creation Initiated
                                                                           ack
   CREATE_COMPLETE                     AWS::CloudFormation::Stack          AwsSamAutoDependencyLayerNestedSt   -
                                                                           ack
   UPDATE_IN_PROGRESS                  AWS::Lambda::Function               HelloWorldFunction                  -
   UPDATE_COMPLETE                     AWS::Lambda::Function               HelloWorldFunction                  -
   UPDATE_COMPLETE_CLEANUP_IN_PROGRE   AWS::CloudFormation::Stack          sam-app                             -
   SS
   UPDATE_COMPLETE                     AWS::CloudFormation::Stack          sam-app                             -
   ---------------------------------------------------------------------------------------------------------------------------------------------
   
   CloudFormation outputs from deployed stack
   ----------------------------------------------------------------------------------------------------------------------------------------------
   Outputs
   ----------------------------------------------------------------------------------------------------------------------------------------------
   Key                 HelloWorldFunctionIamRole
   Description         Implicit IAM Role created for Hello World function
   Value               arn:aws:iam::012345678910:role/sam-app-HelloWorldFunctionRole-15GLOUR9LMT1W
   
   Key                 HelloWorldApi
   Description         API Gateway endpoint URL for Prod stage for Hello World function
   Value               https://ets1gv8lxi.execute-api.us-west-2.amazonaws.com/Prod/hello/
   
   Key                 HelloWorldFunction
   Description         Hello World Lambda Function ARN
   Value               arn:aws:lambda:us-west-2:012345678910:function:sam-app-HelloWorldFunction-yQDNe17r9maD
   ----------------------------------------------------------------------------------------------------------------------------------------------
   
   
   Stack update succeeded. Sync infra completed.
   
   Infra sync completed.
   CodeTrigger not created as CodeUri or DefinitionUri is missing for ServerlessRestApi.
   ```

Successivamente, modificherai il codice della funzione Lambda. AWS SAMCLIRileverà automaticamente questa modifica e sincronizzerà l'applicazione con. Cloud AWS

**Per modificare e sincronizzare l'applicazione**

1. Apri il `sam-app/hello_world/app.py` file nel tuo IDE preferito.

1. Modifica `message` e salva il file. Di seguito è riportato un esempio:

   ```
   import json
   ...
   def lambda_handler(event, context):
       ...
       return {
           "statusCode": 200,
           "body": json.dumps({
               "message": "hello everyone!",
               ...
           }),
       }
   ```

1.  AWS SAMCLIRileva la modifica e sincronizza l'applicazione con. Cloud AWS Di seguito è riportato un esempio di output:

   ```
   Syncing Lambda Function HelloWorldFunction...
   Manifest is not changed for (HelloWorldFunction), running incremental build
   Building codeuri: /Users/.../Demo/sam-tutorial1/sam-app/hello_world runtime: python3.9 metadata: {} architecture: x86_64 functions: HelloWorldFunction
   Running PythonPipBuilder:CopySource
   Finished syncing Lambda Function HelloWorldFunction.
   ```

1. Per verificare la modifica, invia nuovamente una richiesta GET all'endpoint API.

   ```
   $ curl https://ets1gv8lxi.execute-api.us-west-2.amazonaws.com/Prod/hello/
   {"message": "hello everyone!"}
   ```

## Passaggio 7: (Facoltativo) Testa l'applicazione localmente
<a name="serverless-getting-started-hello-world-test"></a>

**Nota**  
Questa fase è facoltativa.

**Importante**  
Questo passaggio richiede un Docker computer locale. È necessario averlo Docker installato e configurato per utilizzarlo AWS SAMCLI per i test locali. Per ulteriori informazioni, consulta [Installazione di Docker](install-docker.md).

In questo passaggio, si utilizza il AWS SAMCLI **sam local** comando per testare l'applicazione localmente. A tale scopo, AWS SAMCLI crea un ambiente locale utilizzandoDocker. Questo ambiente locale emula l'ambiente di esecuzione basato sul cloud della funzione Lambda.

Si eseguiranno le operazioni indicate di seguito.

1. Crea un ambiente locale per la tua funzione Lambda e invocala.

1. Ospita l'endpoint dell'API HTTP localmente e usalo per richiamare la funzione Lambda.

**Per richiamare la funzione Lambda localmente**

1. Nella riga di comando, dalla directory del `sam-app` progetto, esegui quanto segue:

   ```
   $ sam local invoke
   ```

1.  AWS SAMCLICrea un Docker contenitore locale e richiama la tua funzione. Di seguito è riportato un esempio di output:

   ```
   $ sam local invoke
   Invoking app.lambda_handler (python3.9)
   Local image was not found.
   Removing rapid images for repo public.ecr.aws/sam/emulation-python3.9
   Building image.....................
   Using local image: public.ecr.aws/lambda/python:3.9-rapid-x86_64.
   
   Mounting /Users/.../Demo/sam-tutorial1/sam-app/.aws-sam/build/HelloWorldFunction as /var/task:ro,delegated inside runtime container
   START RequestId: b046db01-2a00-415d-af97-35f3a02e9eb6 Version: $LATEST
   END RequestId: b046db01-2a00-415d-af97-35f3a02e9eb6
   REPORT RequestId: b046db01-2a00-415d-af97-35f3a02e9eb6    Init Duration: 1.01 ms    Duration: 633.45 ms    Billed Duration: 634 ms    Memory Size: 128 MB    Max Memory Used: 128 MB
   {"statusCode": 200, "body": "{\"message\": \"hello world\"}"}
   ```

**Per ospitare la tua API localmente**

1. Nella riga di comando, dalla directory del `sam-app` progetto, esegui quanto segue:

   ```
   $ sam local start-api
   ```

1.  AWS SAMCLICrea un Docker contenitore locale per la tua funzione Lambda e crea un server HTTP locale per simulare l'endpoint dell'API. Di seguito è riportato un esempio di output:

   ```
   $ sam local start-api
   Initializing the lambda functions containers.
   Local image is up-to-date
   Using local image: public.ecr.aws/lambda/python:3.9-rapid-x86_64.
   
   Mounting /Users/.../Demo/sam-tutorial1/sam-app/.aws-sam/build/HelloWorldFunction as /var/task:ro,delegated inside runtime container
   Containers Initialization is done.
   Mounting HelloWorldFunction at http://127.0.0.1:3000/hello [GET]
   You can now browse to the above endpoints to invoke your functions. You do not need to restart/reload SAM CLI while working on your functions, changes will be reflected instantly/automatically. If you used sam build before running local commands, you will need to re-run sam build for the changes to be picked up. You only need to restart AWS SAM CLI if you update your AWS SAM template
   2023-03-15 14:25:21 WARNING: This is a development server. Do not use it in a production deployment. Use a production WSGI server instead.
    * Running on http://127.0.0.1:3000
   2023-03-15 14:25:21 Press CTRL+C to quit
   ```

1. Utilizzando il browser o la riga di comando, inviate una richiesta GET all'endpoint API locale. Di seguito è riportato un esempio di utilizzo del comando curl:

   ```
   $ curl http://127.0.0.1:3000/hello
   {"message": "hello world"}
   ```

## Fase 8: Eliminare l'applicazione dal Cloud AWS
<a name="serverless-getting-started-hello-world-delete"></a>

In questo passaggio, si utilizza il AWS SAMCLI **sam delete** comando per eliminare l'applicazione da Cloud AWS.

**Per eliminare l'applicazione da Cloud AWS**

1. Nella riga di comando, dalla directory del `sam-app` progetto, esegui quanto segue:

   ```
   $ sam delete
   ```

1. Ti AWS SAMCLI chiederà di confermare. Quindi, eliminerà il bucket e lo stack Amazon S3 dell'applicazione. CloudFormation Di seguito è riportato un esempio di output:

   ```
   $ sam delete
       Are you sure you want to delete the stack sam-app in the region us-west-2 ? [y/N]: y
       Are you sure you want to delete the folder sam-app in S3 which contains the artifacts? [y/N]: y
       - Deleting S3 object with key c6ce8fa8b5a97dd022ecd006536eb5a4
       - Deleting S3 object with key 5d513a459d062d644f3b7dd0c8b56a2a.template
       - Deleting S3 object with key sam-app/2bebf67c79f6a743cc5312f6dfc1efee.template
       - Deleting S3 object with key sam-app/6b208d0e42ad15d1cee77d967834784b.template
       - Deleting S3 object with key sam-app/da3c598813f1c2151579b73ad788cac8
       - Deleting S3 object with key sam-app/f798cdd93cee188a71d120f14a035b11
       - Deleting Cloudformation stack sam-app
   
   Deleted successfully
   ```

## Risoluzione dei problemi
<a name="serverless-getting-started-hello-world-troubleshoot"></a>

Per risolvere il problema AWS SAMCLI, vedere. [AWS SAMCLIrisoluzione dei problemi](sam-cli-troubleshooting.md)

## Ulteriori informazioni
<a name="serverless-getting-started-hello-world-learn"></a>

Per continuare a saperne di più AWS SAM, consulta le seguenti risorse:
+ **[Il AWS SAM workshop completo](https://s12d.com/sam-ws-en-intro)**: un workshop progettato per insegnarti molte delle principali funzionalità che AWS SAM offre.
+ **[Sessioni con SAM](https://www.youtube.com/playlist?list=PLJo-rJlep0ED198FJnTzhIB5Aut_1vDAd)** — Serie di video creata dal nostro team di AWS Serverless Developer Advocate sull'utilizzo. AWS SAM
+ **[Serverless Land](https://serverlessland.com/)**: sito che riunisce le informazioni, i blog, i video, il codice e le risorse di apprendimento più recenti per la tecnologia serverless. AWS 

# Conversione delle funzioni Lambda in applicazioni AWS SAM
<a name="convert-lambda-to-sam"></a>

Se hai una funzione nella console Lambda che desideri gestire in VS Code come infrastructure as code (IaC), puoi trasferirla su VS Code e convertirla in un modello. AWS SAM Con la funzione convertita in un AWS SAM modello, puoi controllare il controllo delle versioni dell'infrastruttura, automatizzare le distribuzioni, eseguire il debug delle funzioni in remoto e mantenere ambienti coerenti per tutto il ciclo di vita dello sviluppo. Con le funzionalità di debug locale e remoto, puoi anche risolvere i problemi in modo più efficace esaminando il codice, ispezionando le variabili e impostando i punti di interruzione sia localmente che nel cloud. AWS 

Per istruzioni su come spostare le funzioni dalla console e configurare lo sviluppo locale, consulta [Sviluppare le funzioni Lambda localmente con VS Code](https://docs.aws.amazon.com/lambda/latest/dg/foundation-iac-local-development.html) nella *AWS Lambda Developer* Guide. Segui queste istruzioni per spostare una funzione Lambda dalla console a VS Code e convertirla in un AWS SAM modello. Dopo averlo fatto, puoi:
+ **Esegui il debug remoto della tua funzione nel AWS cloud.** *Per i dettagli, consulta Eseguire il [debug remoto delle funzioni Lambda con VS Code](https://docs.aws.amazon.com/lambda/latest/dg/debugging.html) nella Guida per gli sviluppatori.AWS Lambda *
+ **Gestisci le risorse e le autorizzazioni associate come infrastruttura come codice.** *Per i dettagli, consulta [Using Lambda with infrastructure as code (IaC)](https://docs.aws.amazon.com/lambda/latest/dg/foundation-iac.html) nella Developer Guide AWS Lambda *
+ **Distribuisci e aggiorna la tua applicazione utilizzando. AWS SAMCLI** Per informazioni dettagliate, vedi [AWS SAM CLI](using-sam-cli.md).
+ **Progetta visivamente la tua architettura serverless utilizzando Infrastructure Composer.** Per i dettagli, consulta [la Infrastructure Composer](https://docs.aws.amazon.com/application-composer/latest/dg/what-is-composer.html) Developer Guide.

## Ulteriori informazioni
<a name="convert-lambda-to-sam-learn"></a>

Per continuare a saperne di più AWS SAM, consulta le seguenti risorse:
+ **[Il AWS SAM workshop completo](https://s12d.com/sam-ws-en-intro)**: un workshop progettato per insegnarti molte delle principali funzionalità che AWS SAM offre.
+ **[Sessioni con SAM](https://www.youtube.com/playlist?list=PLJo-rJlep0ED198FJnTzhIB5Aut_1vDAd)** — Serie di video creata dal nostro team di AWS Serverless Developer Advocate sull'utilizzo. AWS SAM
+ **[Serverless Land](https://serverlessland.com/)**: sito che riunisce le informazioni, i blog, i video, il codice e le risorse di apprendimento più recenti per la tecnologia serverless. AWS 