

# Sincronizzazione delle applicazioni AWS SAM tramite il AWS Toolkit for JetBrains
<a name="sam-sync"></a>

AWS Serverless Application Model (AWS SAM) `sam sync` è un processo di implementazione tramite comandi della CLI AWS SAM che identifica automaticamente le modifiche apportate alle applicazioni serverless, quindi sceglie il modo migliore per creare e implementare tali modifiche al Cloud AWS. Se hai apportato solo modifiche al codice dell'applicazione senza modificare l'infrastruttura, Sincronizzazione AWS SAM aggiorna la tua applicazione senza implementare nuovamente lo stack CloudFormation.

Per ulteriori informazioni sui comandi della CLI di `sam sync` e AWS SAM, consulta l'argomento [AWS SAM CLI command reference](https://docs.aws.amazon.com/serverless-application-model/latest/developerguide/serverless-sam-cli-command-reference.html) della *Guida per l'utente di AWS Serverless Application Model*.

Nelle sezioni seguenti sono fornite le istruzioni per iniziare a lavorare con la sincronizzazione AWS SAM.

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

Prima di utilizzare la sincronizzazione AWS SAM devono essere soddisfatti i seguenti prerequisiti:
+ Hai un'applicazione AWS SAM funzionante. Per ulteriori informazioni sulla creazione di un'applicazione AWS SAM, consulta l'argomento [Utilizzo di AWS SAM](https://docs.aws.amazon.com/toolkit-for-jetbrains/latest/userguide/key-tasks.html#key-tasks-sam-create) di questa Guida per l'utente.
+ Deve essere installata la versione 1.78.0 o successiva della CLI AWS SAM. Per ulteriori informazioni sull'installazione della CLI AWS SAM, consulta la pagina [Installing the AWS SAM CLI](https://docs.aws.amazon.com/serverless-application-model/latest/developerguide/install-sam-cli.html) della *Guida per l'utente di AWS Serverless Application Model*.
+ L'applicazione è in esecuzione in un ambiente di sviluppo.

**Nota**  
Per sincronizzare e implementare un'applicazione serverless che contenga una funzione AWS Lambda con proprietà non predefinite, le proprietà facoltative devono essere impostate in un file di modello AWS SAM associato alla funzione AWS Lambda prima dell'implementazione.  
Per ulteriori informazioni sulle proprietà di AWS Lambda, consulta la sezione [AWS::Serverless::Function](https://github.com/aws/serverless-application-model/blob/master/versions/2016-10-31.md#awsserverlessfunction) della *Guida per l'utente di AWS Serverless Application Model* su GitHub.

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

Per iniziare a lavorare con Sincronizzazione AWS SAM, completa la procedura seguente.

**Nota**  
Assicurati che la regione AWS sia impostata sulla posizione associata all'applicazione serverless.  
Per ulteriori informazioni su come modificare la regione AWS dal AWS Toolkit for JetBrains, consulta l'argomento [Passare da una regione AWS all'altra](https://docs.aws.amazon.com/toolkit-for-jetbrains/latest/userguide/key-tasks.html#key-tasks-switch-region) di questa Guida per l'utente.

1. Dal progetto dell'applicazione serverless, nella finestra degli strumenti di **Progetto**, apri il menu contestuale (con il pulsante destro del mouse) del file `template.yaml`.

1. Dal menu di scelta rapida `template.yaml`, scegli **Sincronizza applicazioni serverless (precedentemente Implementa)** per aprire la finestra di dialogo **Verifica stack di sviluppo**.

1. Verifica che stai lavorando da uno stack di sviluppo per aprire la finestra di dialogo **Sincronizza applicazioni serverless**.  
![\[Finestra di dialogo Verifica stack di sviluppo\]](http://docs.aws.amazon.com/it_it/toolkit-for-jetbrains/latest/userguide/images/sam-sync-dev-stack.png)

1. Completa i passaggi indicati nella finestra di dialogo **Sincronizza applicazioni serverless**, quindi scegli **Sincronizza** per iniziare il processo di sincronizzazione di AWS SAM. Per ulteriori informazioni sulla finestra di dialogo **Sincronizza applicazione serverless**, consulta la sezione [Finestra di dialogo Sincronizza applicazioni serverless](#sam-sync-serverless-app-dialog) di seguito.

1. Durante il processo di sincronizzazione, la **Run Window** del AWS Toolkit for JetBrains viene aggiornata con lo stato dell'implementazione.

1. Se l'esito della sincronizzazione è positivo, il nome dello stack CloudFormation viene aggiunto all'**Esploratore AWS**. 

   Se la sincronizzazione fallisce, i dettagli per la risoluzione dei problemi sono indicati nella **Run Window** di JetBrains o nel **log eventi** di CloudFormation. Per ulteriori informazioni sulla visualizzazione dei log eventi di CloudFormation, consulta l'argomento [Visualizzazione dei log di eventi per uno stack](https://docs.aws.amazon.com/toolkit-for-jetbrains/latest/userguide/key-tasks.html#key-tasks-cloudformation-logs) di questa Guida per l'utente.

## Finestra di dialogo Sincronizza applicazioni serverless
<a name="sam-sync-serverless-app-dialog"></a>

La **finestra di dialogo Sincronizza applicazioni serverless** ti assiste nel processo di sincronizzazione di AWS SAM. Le seguenti sezioni sono descrizioni e dettagli per ciascuno dei diversi componenti della finestra di dialogo.

### Crea stack o Aggiorna stack
<a name="w7aac13c40c11c13b5"></a>

**Obbligatorio:** per creare e configurare un nuovo stack CloudFormation di implementazione di applicazioni serverless, inserisci un nome nel campo fornito. 

In alternativa, per eseguire l'implementazione su uno stack CloudFormation esistente, seleziona il nome dello stack dall'elenco degli stack associati al tuo account AWS che viene compilato automaticamente.

### Parametri del modello
<a name="w7aac13c40c11c13b7"></a>

**Facoltativo:** viene compilato con un elenco di parametri rilevati dal file `template.yaml` di progetto. Per specificare i valori dei parametri, inserisci un nuovo valore di parametro nell'apposito campo di testo situato nella colonna **valore**.

### Bucket S3
<a name="w7aac13c40c11c13b9"></a>

**Obbligatorio:** per scegliere un bucket Amazon Simple Storage Service (Amazon S3) per archiviare il modello CloudFormation, selezionalo dall'elenco.

Per creare un nuovo bucket Amazon S3 e utilizzarlo per l'archiviazione, scegli **Crea** e segui le istruzioni.

### Repository ECR
<a name="w7aac13c40c11c13c11"></a>

**Obbligatorio, visibile solo quando si lavora con un tipo di pacchetto Immagine:** scegli l'URI di un repository Amazon Elastic Container Registry (Amazon ECR) esistente per l'implementazione dell'applicazione serverless.

Per ulteriori informazioni sulla differenza tra i tipi di pacchetto AWS Lambda, consulta la pagina [Generating sample event payloads](https://docs.aws.amazon.com/lambda/latest/dg/gettingstarted-package.html) della *Guida per gli sviluppatori di AWS Lambda*.

### Funzionalità di CloudFormation
<a name="w7aac13c40c11c13c13"></a>

**Obbligatorio:** scegli le funzionalità che CloudFormation è autorizzato a utilizzare durante la creazione di stack.

### Tag
<a name="w7aac13c40c11c13c15"></a>

**Facoltativo:** inserisci i tag preferiti nei campi di testo forniti per etichettare un parametro.

### Funzione build all'interno di un container
<a name="w7aac13c40c11c13c17"></a>

**Facoltativo, Docker richiesto:** la selezione di queste opzioni consente di creare le funzioni delle applicazioni serverless all'interno di un container Docker locale prima dell'implementazione. Questa opzione è utile se la funzione dipende da pacchetti con dipendenze o programmi compilati in modo nativo.

Per ulteriori informazioni, consulta l'argomento [Building applications](https://docs.aws.amazon.com/serverless-application-model/latest/developerguide/serverless-sam-cli-using-build.html) della *Guida per gli sviluppatori di AWS Serverless Application Model*.