

 AWS Cloud9 non è più disponibile per i nuovi clienti. I clienti esistenti di AWS Cloud9 possono continuare a utilizzare il servizio come di consueto. [Ulteriori informazioni](https://aws.amazon.com/blogs/devops/how-to-migrate-from-aws-cloud9-to-aws-ide-toolkits-or-aws-cloudshell/)

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

# Utilizzo AWS Lambda delle funzioni tramite il AWS Toolkit
<a name="lambda-toolkit"></a>

Il AWS Toolkit supporta [AWS Lambda](https://aws.amazon.com/lambda/)le funzioni. Il AWS Toolkit sostituisce la funzionalità precedentemente fornita dal plug-in Lambda. AWS Cloud9 Utilizzando il AWS Toolkit, puoi creare codice per funzioni Lambda che fanno parte [di](https://aws.amazon.com/serverless/) applicazioni serverless. Inoltre, puoi richiamare funzioni Lambda localmente o su AWS.

Lambda è un servizio di elaborazione gestito che esegue il codice in risposta a eventi generati dal codice personalizzato o da vari Servizi AWS, come Amazon Simple Storage Service (Amazon S3), Amazon DynamoDB, Amazon Kinesis, Servizio di notifica semplice Amazon (Amazon SNS) e Amazon Cognito.

**Importante**  
Se desideri costruire un'applicazione Lambda che utilizzi le risorse fornite da Serverless Application Model (SAM), consulta [Utilizzo del AWS Toolkit AWS SAM](serverless-apps-toolkit.md).

**Topics**
+ [Richiamo di funzioni Lambda remote](#remote-lambda)
+ [Download, caricamento ed eliminazione delle funzioni Lambda](#import-upload-delete-lambda)

## Richiamo di funzioni Lambda remote
<a name="remote-lambda"></a>

Utilizzando il AWS Toolkit è possibile interagire con [AWS Lambda](https://aws.amazon.com/lambda/)le funzioni in vari modi.

Per ulteriori informazioni su Lambda, consulta la [Guida per gli sviluppatori di AWS Lambda](https://docs.aws.amazon.com/lambda/latest/dg/). 

**Nota**  
Supponiamo di aver già creato funzioni Lambda utilizzando Console di gestione AWS o in altro modo. È possibile richiamarle dal Toolkit. AWS Per creare una nuova funzione con AWS Toolkit su cui eseguire la distribuzione AWS Lambda, è necessario innanzitutto [creare un'](serverless-apps-toolkit.md#sam-create)applicazione serverless.

### Prerequisiti
<a name="remote-lambda-prereq"></a>
+ Assicurati che le credenziali configurate includano l'accesso appropriato in lettura/scrittura al servizio. AWS Lambda Se in **AWS Explorer**, in **Lambda**, compare un messaggio simile a "Errore durante il caricamento delle risorse Lambda", controlla le autorizzazioni associate a tali credenziali. Le modifiche apportate alle autorizzazioni richiedono alcuni minuti per essere applicate ad **AWS Explorer** in Kit di strumenti AWS .

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

**Importante**  
La chiamata ai metodi API utilizzando il AWS Toolkit potrebbe comportare modifiche alle risorse che non possono essere annullate. Ad esempio, se chiami un metodo `POST`, le risorse delle API vengono aggiornate se la chiamata ha esito positivo. 

È possibile richiamare una funzione Lambda utilizzando AWS il AWS Toolkit.

****

1. In **AWS Explorer**, scegli il nome della funzione Lambda da richiamare, quindi apri il relativo menu contestuale.

1. **Scegli Invoke on. AWS**

1. Nella finestra **Invoke function** (Invoca funzione) che viene visualizzata, scegli un'opzione per il payload di cui hai bisogno la funzione Lambda. (Il payload è il codice JSON che vuoi fornire come input alla funzione Lambda). Puoi scegliere **Browse** (Sfoglia) per selezionare un file da utilizzare come payload o puoi utilizzare il campo a tendina per selezionare un modello per il payload. In questo caso, la funzione Lambda potrebbe presentarsi sotto forma di stringa come input, come mostrato nella casella di testo.

Scegli **Invoke** (Richiama) per chiamare Lambda e inoltrare il payload.

L'output della funzione Lambda viene visualizzato nella AWS Lambda scheda.

## Download, caricamento ed eliminazione delle funzioni Lambda
<a name="import-upload-delete-lambda"></a>

Il AWS Toolkit fornisce le opzioni per importare e caricare le funzioni Lambda in IDE. AWS Cloud9 

### Download di una funzione Lambda
<a name="w2aac28c32c13b5"></a>

Scaricando una funzione Lambda, scarichi anche i file di progetto che descrivono la funzione dal AWS Cloud e li utilizzi nell' AWS Cloud9 IDE.

### Per scaricare una funzione Lambda


1. In **AWS Explorer**, nel nodo Lambda, apri il menu contestuale (pulsante destro del mouse) per la funzione e quindi seleziona **Download** (Scarica).

1. Quando viene richiesto di **selezionare una cartella dell'area di lavoro per il nuovo progetto**, puoi effettuare una delle seguenti operazioni:
   + Scegliere la cartella consigliata per creare una sottocartella con lo stesso nome del progetto Lambda.
   + Scegliere di **selezionare una cartella diversa** per aprire una finestra di dialogo in cui cercare e selezionare una cartella padre diversa per la sottocartella del progetto. 

   L'IDE apre una nuova finestra dell'editor.

### Configurazione di una funzione Lambda scaricata per l'esecuzione e il debug
<a name="w2aac28c32c13b7"></a>

Per eseguire a funzione Lambda scaricata come applicazione serverless ed eseguirne il debug, è necessario definire una configurazione di avvio nel file `launch.json`. Una funzione Lambda creata in Console di gestione AWS potrebbe non essere inclusa in una configurazione di avvio. quindi potrebbe essere necessario aggiungerla manualmente.

### Per aggiungere la funzione Lambda alla configurazione di avvio


1. Dopo aver scaricato la funzione Lambda, apri la finestra **Environment** (Ambiente) per vedere le cartelle e i file.

1. Controllare quindi che la funzione Lambda sia inclusa in un file `/home/ec2-user/.c9/launch.json`. Se non è presente, fai quanto segue per aggiungere un CodeLens link al codice della tua funzione:

   1. Apri il file di codice sorgente che definisce la funzione Lambda (ad esempio un file `.js` o `.py`). Quindi, controlla se c'è un CodeLens link che puoi usare per aggiungere la tua funzione lambda a un `launch.json` file. A CodeLens appare sopra la funzione e include il `Add Debug Config` collegamento.

   1. Scegli **Go** (Vai) (l'icona della lente d'ingrandimento) a sinistra dell'IDE e digita "sam hint" per visualizzare il comando `AWS: Toggle SAM hints in source files`. Scegliere il comando per l'esecuzione. 

   1. Chiudere il file del codice sorgente Lambda e quindi riaprilo.

   1. Se CodeLens è disponibile nel codice sorgente dopo la riapertura del file, scegli di `Add Debug Config` aggiungere la configurazione di avvio.

1. Se non riesci ad aggiungere un comando CodeLens anche dopo aver attivato l'opzione di suggerimento SAM, procedi come segue per aggiungere la configurazione di avvio:

   1. Scegliere **Go** (l'icona della lente d'ingrandimento) a sinistra dell'IDE e digitare "config" per visualizzare il comando `AWS: SAM Debug Configuration Editor`. Scegliere il comando per l'esecuzione.

   1. Viene visualizzato **SAM Debug Configuration Editor**. Puoi utilizzare questo editor per definire le proprietà della configurazione di avvio. Per ulteriori informazioni, consulta le fasi di [configuring launch properties](serverless-apps-toolkit.md#properties) in [Utilizzo di modelli SAM per l'esecuzione e il debug di applicazioni serverless](serverless-apps-toolkit.md#sam-run-debug-template). 
**Nota**  
Se la funzione Lambda non dispone di un `template.yaml` per le applicazioni SAM, devi aggiungerne uno. Per ulteriori informazioni, consulta [Creazione del modello AWS SAM](https://docs.aws.amazon.com/codedeploy/latest/userguide/tutorial-lambda-sam-template.html).

   1. Dopo aver completato l'inserimento delle informazioni di configurazione richieste nell'editor, la configurazione di avvio viene aggiunta al file **launch.json**.

Dopo aver definito una configurazione di avvio per la funzione Lambda, puoi eseguirla procedendo in questo modo:

1. Nella parte superiore dell'IDE, scegliere la freccia accanto ad **Auto** e selezionare la configurazione di avvio pertinente.

1. Quindi, scegliere **Run** (Esegui).

### Caricamento di una funzione Lambda
<a name="w2aac28c32c13b9"></a>

Puoi aggiornare le funzioni Lambda esistenti con il codice locale. L'aggiornamento del codice in questo modo non utilizza la AWS Serverless Application Model CLI per la distribuzione e non crea uno AWS CloudFormation stack. In questo modo, puoi caricare una funzione Lambda con qualsiasi runtime supportato da Lambda. 

Esistono diverse opzioni di interfaccia per caricare le funzioni Lambda utilizzando AWS il Toolkit. 

#### Caricamento dalla finestra **Environment** (Ambiente) o da **Command pane** (Riquadro dei comandi)
<a name="upload-lambda-from-environment"></a>

1. In **Environment window** (Finestra ambiente) dei file di progetto, scegli il menu contestuale (pulsante destro del mouse) per il `template.yaml` dell'applicazione Lambda da caricare e scegli **Upload Lambda** (Carica Lambda).

   In alternativa, premi **CTRL\$1P** per aprire il riquadro **Go to Anything** (Vai ovunque) e digita "lambda" per accedere al comando **AWS Upload Lambda**, quindi sceglilo per avviare il processo di caricamento.

1. Quindi, seleziona Regione AWS quello su cui vuoi caricare.

1. Scegliere ora un'opzione per caricare la funzione Lambda:

   **Caricamento di un archivio in formato zip**

   1. Scegli **ZIP Archive** (Archivio ZIP) dal menu.

   1. Scegli un file.zip dal tuo AWS Cloud9 file system e scegli **Apri**.

   **Caricamento di una directory così com'è**

   1. Scegli **Directory** dal menu.

   1. Scegli una directory dal tuo AWS Cloud9 file system e scegli **Apri**.

1. Specificare il gestore della funzione Lambda che elabora gli eventi. Quando viene richiamata la funzione, Lambda esegue questo metodo del gestore.
**Nota**  
Quando si seleziona la funzione Lambda, è possibile selezionarla dall'elenco visualizzato. Se non sai quale funzione scegliere, puoi inserire l'ARN (Amazon Resource Number) di una funzione Lambda disponibile nel Kit di strumenti. 

   Viene visualizzata una finestra di dialogo che richiede se si desidera che questo codice venga pubblicato come l'ultima versione della funzione Lambda. Scegliere **Yes** (Sì) per confermare la pubblicazione.
**Nota**  
Puoi caricare applicazioni Lambda aprendo il menu contestuale (pulsante destro del mouse) per la cartella padre e selezionando **Upload Lambda** (Carica Lambda). La cartella padre viene selezionata automaticamente per il caricamento.

#### Caricamento da **AWS Explorer**
<a name="upload-lambda-from-explorer"></a>

1. In **AWS Explorer**, apri il menu contestuale (pulsante destro del mouse) per il nome della funzione Lambda che desideri importare.

1. Scegliere **Upload Lambda** (Carica Lambda)

1. Scegli una delle tre opzioni per caricare la funzione Lambda.

   **Caricamento di un archivio in formato zip predefinito**

   1. Scegli **ZIP Archive** (Archivio ZIP) dal menu.

   1. Scegli un file.zip dal tuo AWS Cloud9 file system e scegli **Apri**.

   1. Conferma il caricamento con la finestra di dialogo modale. In tal modo il file in formato zip viene caricato e Lambda viene aggiornato subito dopo l'implementazione.

   **Caricamento di una directory così com'è**

   1. Scegli **Directory** dal menu.

   1. Scegli una directory dal tuo AWS Cloud9 file system e scegli **Apri**.

   1. Scegli **No** quando viene richiesto di costruire la directory.

   1. Conferma il caricamento con la finestra di dialogo modale. In tal modo la directory così com'è viene caricata e Lambda viene aggiornato subito dopo l'implementazione.

   **Costruzione e caricamento di una directory**

   1. Scegli **Directory** dal menu.

   1. Scegliete una directory dal vostro AWS Cloud9 file system e scegliete **Apri**.

   1. Scegli **Yes** (Sì) quando viene richiesto di costruire la directory.

   1. Conferma il caricamento con la finestra di dialogo modale. Questo crea il codice nella directory utilizzando il comando AWS SAM `sam build` CLI e aggiorna immediatamente la Lambda dopo la distribuzione.

### Implementazione di una funzione Lambda per l'accesso remoto
<a name="w2aac28c32c13c11"></a>

È possibile rendere disponibili le funzioni locali in remoto implementandole come applicazioni SAM serverless.

### Per implementare una funzione Lambda come applicazione SAM


1. In **AWS Explorer**, apri il menu contestuale (pulsante destro del mouse) del nodo **Lambda** e scegli **Deploy SAM Application** (Implementa applicazione SAM).

1. Nel riquadro dei comandi, seleziona il [modello YAML](https://docs.aws.amazon.com/serverless-application-model/latest/developerguide/sam-specification-template-anatomy.html) che definisce la funzione come applicazione serverless.

1. Quindi, seleziona un bucket Amazon S3 per l'implementazione Lambda. È inoltre possibile scegliere di creare un bucket per l'implementazione.

1. Ora inserisci il nome di uno CloudFormation stack in cui stai distribuendo. Se si specifica uno stack esistente, il comando aggiorna lo stack. Se si specifica un nuovo stack, il comando lo crea.

   Dopo aver inserito il nome dello stack, la funzione Lambda inizia a essere implementata come applicazione SAM. Se l'implementazione avviene correttamente, l'applicazione SAM Lambda è disponibile in remoto. In questo modo, puoi scaricarlo o richiamarlo da altri AWS Cloud9 ambienti di sviluppo. 

Se si desidera creare una funzione Lambda da zero, si consiglia di seguire i passaggi per [Crea un'applicazione serverless con il Toolkit AWS](serverless-apps-toolkit.md#create-serverless-app).

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

Puoi utilizzare lo stesso menu contestuale (pulsante destro del mouse) anche per eliminare una funzione Lambda.

**avvertimento**  
Non utilizzare questa procedura per eliminare le funzioni Lambda associate a [CloudFormation](https://docs.aws.amazon.com/cloudformation/). Ad esempio, non eliminare la funzione Lambda creata precedentemente durante [la creazione di un'applicazione serverless](serverless-apps-toolkit.md#sam-create) in questa guida. Queste funzioni devono essere eliminate attraverso la pila CloudFormation .

****

1. In **AWS Explorer**, scegli il nome della funzione Lambda da eliminare e apri il relativo menu contestuale (pulsante destro del mouse).

1. Scegli **Delete** (Elimina).

1. Nel messaggio visualizzato, scegliere **Yes (Sì)** per confermare l'eliminazione.

Dopo la sua eliminazione, la funzione non è più elencata nella vista di **AWS Explorer**.