

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

# Scrivere e creare una funzione Lambda@Edge
<a name="lambda-edge-create-function"></a>

Per usare Lambda@Edge, *scrivi* il codice per la funzione AWS Lambda . Per aiutarti a scrivere funzioni Lambda@Edge, consulta le seguenti risorse:
+  [Struttura dell'evento Lambda@Edge](lambda-event-structure.md): comprendere la struttura degli eventi da utilizzare con Lambda@Edge.
+ [Esempi di funzioni Lambda@Edge](lambda-examples.md)— Funzioni di esempio, come il A/B test e la generazione di un reindirizzamento HTTP.

Il modello di programmazione per l’utilizzo di Node.js o Python con Lambda@Edge corrisponde a quello relativo all’utilizzo di Lambda in una Regione AWS. Per ulteriori informazioni, consulta [Creazione di funzioni Lambda con Node.js](https://docs.aws.amazon.com/lambda/latest/dg/lambda-nodejs.html) o [Creazione di funzioni Lambda con Python](https://docs.aws.amazon.com/lambda/latest/dg/lambda-python.html) nella *Guida per gli sviluppatori di AWS Lambda *.

Nella funzione Lambda@Edge, includi il parametro `callback` e restituisci l’oggetto applicabile per gli eventi di richiesta o di risposta:
+ **Eventi di richiesta** - È necessario includere l'oggetto `cf.request` nella risposta.

  Se si sta generando una risposta, includere l'oggetto `cf.response` nella risposta. Per ulteriori informazioni, consulta [Generazione di risposte HTTP in trigger di richiesta](lambda-generating-http-responses.md#lambda-generating-http-responses-in-requests). 
+ **Eventi di risposta** - È necessario includere l'oggetto `cf.response` nella risposta.

Dopo aver scritto il codice personalizzato o aver utilizzato uno degli esempi, crea la funzione in Lambda. Per creare una funzione o modificarne una esistente, consulta i seguenti argomenti:

**Topics**
+ [Creazione di una funzione Lambda@Edge](lambda-edge-create-in-lambda-console.md)
+ [Modifica di una funzione Lambda](lambda-edge-edit-function.md)

 *Dopo aver creato la funzione in Lambda, configuri Lambda per eseguire la funzione in base a CloudFront eventi specifici, chiamati trigger.* Per ulteriori informazioni, consulta [Aggiunta di trigger per una funzione Lambda@Edge](lambda-edge-add-triggers.md).

# Creazione di una funzione Lambda@Edge
<a name="lambda-edge-create-in-lambda-console"></a>

 AWS Lambda Per configurare l'esecuzione di funzioni Lambda basate su CloudFront eventi, segui questa procedura.<a name="lambda-edge-create-function-procedure"></a>

**Per creare una funzione Lambda@Edge**

1. Accedi a Console di gestione AWS e apri la AWS Lambda console all'indirizzo [https://console.aws.amazon.com/lambda/](https://console.aws.amazon.com/lambda/).

1. Se si dispone già di una o più funzioni Lambda, selezionare **Create function (Crea funzione)**.

   Se non si dispone di funzioni, selezionare **Get Started Now (Inizia subito)**.

1. Nell'elenco Regione nella parte superiore della pagina, scegliere **Stati Uniti orientali (Virginia settentrionale)**.

1. Creare una funzione utilizzando il proprio codice o creare una funzione iniziando con un piano CloudFront .
   + Per creare una funzione utilizzando il proprio codice, selezionare **Author from scratch (Crea da zero)**. 
   + **Per visualizzare un elenco di progetti per CloudFront, inserisci **cloudfront** nel campo del filtro, quindi scegli Invio.**

     Se si individua un piano che si desidera utilizzare, scegliere il nome del piano.

1. Nella sezione **Basic information** (Informazioni di base), specificare i seguenti valori:

   1. **Nome**: immetti un nome per la funzione.

   1. **Ruolo**: per iniziare rapidamente, scegli **Crea nuovo ruolo dai modelli**. Puoi anche scegliere **Scegli un ruolo esistente** o **Crea un ruolo personalizzato**, quindi segui i prompt per completare le informazioni di questa sezione.

   1. **Nome ruolo**: immetti un nome per il ruolo.

   1. **Modelli di policy**: scegli le **autorizzazioni Lambda Edge di base**.

1. Se nella fase 4 si è scelto **Author from scratch (Crea da zero)**, passare alla fase 7.

   Se hai scelto un blueprint nel passaggio 4, la sezione **cloudfront** ti consente di creare un trigger, che associa questa funzione a una cache in una distribuzione e in un evento. CloudFront CloudFront A questo punto è consigliabile selezionare **Remove (Rimuovi)** in modo che non sia disponibile un trigger per la funzione al momento della creazione. È possibile aggiungere trigger in un secondo momento. 
**Suggerimento**  
Prima di aggiungere trigger, ti consigliamo di eseguire il test e il debugging della funzione. Se aggiungi ora un trigger, la funzione verrà eseguita non appena creerai la funzione e terminerà la replica in diverse AWS località del mondo e verrà distribuita la distribuzione corrispondente.

1. Selezionare **Create function (Crea funzione)**.

   Lambda crea due versioni della funzione: \$1LATEST e Version 1 (Versione 1). È possibile modificare solo la versione \$1LATEST, ma inizialmente nella console viene visualizzata l'opzione Version 1 (Versione 1).

1. Per modificare la funzione, selezionare **Version 1** (Versione 1) vicino alla parte superiore della pagina, sotto l'ARN per la funzione. Quindi, nella scheda **Versions** (Versioni), selezionare **\$1LATEST**. Se si torna alla funzione in un secondo momento, l'etichetta del pulsante è **Qualifiers** (Qualificatori).

1. Nella scheda **Configuration** (Configurazione), selezionare l'opzione di **Code entry type** (Tipo di immissione codice) applicabile. Quindi, seguire le istruzioni per modificare o caricare il codice.

1. Per **Runtime**, scegliere il valore in base al codice della funzione.

1. Nella sezione **Tags** (Tag), aggiungere gli eventuali tag applicabili.

1. Selezionare **Actions** (Operazioni), quindi **Publish new version** (Pubblica nuova versione).

1. Immetti una descrizione per la nuova versione della funzione.

1. Seleziona **Publish** (Pubblica).

1. Eseguire il test e il debugging della funzione. Per ulteriori informazioni sul test nella console Lambda, consulta [Invocare una funzione Lambda utilizzando la console](https://docs.aws.amazon.com/lambda/latest/dg/getting-started.html#get-started-invoke-manually) nella *Guida per gli sviluppatori di AWS Lambda *.

1. Quando sei pronto per l'esecuzione della funzione per CloudFront gli eventi, pubblica un'altra versione e modifica la funzione per aggiungere trigger. Per ulteriori informazioni, consulta [Aggiunta di trigger per una funzione Lambda@Edge](lambda-edge-add-triggers.md).

# Modifica di una funzione Lambda
<a name="lambda-edge-edit-function"></a>

Dopo aver creato una funzione Lambda@Edge, puoi utilizzare la console Lambda per modificarla.

**Note**  
La versione originale è contrassegnata con l'etichetta \$1LATEST.
È possibile modificare solo la versione \$1LATEST.
Ogni volta che si modifica la versione \$1LATEST, è necessario pubblicare una nuova versione numerata.
Non è possibile creare trigger per \$1LATEST.
Quando si pubblica una nuova versione di una funzione, Lambda non copia automaticamente i trigger dalla versione precedente in quella nuova. È necessario riprodurre i trigger per la nuova versione. 
Quando aggiungi un trigger per un CloudFront evento a una funzione, se esiste già un trigger per la stessa distribuzione, lo stesso comportamento della cache e lo stesso evento per una versione precedente della stessa funzione, Lambda elimina il trigger dalla versione precedente.
Dopo aver apportato aggiornamenti a una CloudFront distribuzione, ad esempio aggiungendo i trigger, è necessario attendere che le modifiche si propaghino nelle posizioni periferiche prima che le funzioni specificate nei trigger funzionino.<a name="lambda-edge-edit-function-procedure"></a>

**Come modificare una funzione Lambda**

1. Accedi Console di gestione AWS e apri la console all'indirizzo. AWS Lambda [https://console.aws.amazon.com/lambda/](https://console.aws.amazon.com/lambda/)

1. Nell'elenco Regione nella parte superiore della pagina, scegliere **Stati Uniti orientali (Virginia settentrionale)**.

1. Nell’elenco di funzioni, scegli il nome della funzione.

   Per default, nella console viene visualizzata la versione \$1LATEST. È possibile visualizzare le versioni precedenti selezionando **Qualifiers** (Qualificatori), ma è possibile modificare solo la versione \$1LATEST.

1. Nella scheda **Code (Codice)**, per **Code entry type (Tipo di immissione codice)**, scegliere di modificare il codice nel browser, caricare un file .zip o un file da Amazon S3.

1. Selezionare **Save (Salva)** o **Save and test (Salva ed esegui test)**.

1. Selezionare **Actions (Operazioni)**, quindi **Publish new version (Pubblica nuova versione)**. 

1. Nella finestra di dialogo **Publish new version from \$1LATEST** (Pubblica nuova versione da \$1LATEST), immettere una descrizione della nuova versione. Questa descrizione viene visualizzata nell'elenco di versioni, insieme a un numero di versione generato automaticamente. 

1. Seleziona **Publish** (Pubblica).

   La nuova versione diventa automaticamente la versione più recente. Il numero di versione viene visualizzato sulla **Versione** nell’angolo in alto a sinistra della pagina.
**Nota**  
Se non hai ancora aggiunto trigger per la funzione, consulta [Aggiunta di trigger per una funzione Lambda@Edge](lambda-edge-add-triggers.md). 

1. Selezionare la scheda **Triggers** (Trigger).

1. Selezionare **Add trigger** (Aggiungi trigger).

1. Nella finestra di dialogo **Add trigger (Aggiungi trigger)**, selezionare la casella punteggiata, quindi **CloudFront**.
**Nota**  
Se hai già creato uno o più trigger per una funzione, CloudFront è il servizio predefinito.

1. Specificare i seguenti valori per indicare quando si desidera che la funzione Lambda venga eseguita.

   1. **ID distribuzione**: scegli l’ID della distribuzione a cui aggiungere il trigger.

   1. **Comportamento cache**: scegli il comportamento cache che specifica gli oggetti sui quali eseguire la funzione.

   1. **CloudFront evento**: scegli l' CloudFront evento che causa l'esecuzione della funzione.

   1. **Attiva trigger e replica**: seleziona questa casella di controllo per fare in modo che Lambda replichi la funzione nelle Regioni AWS a livello globale.

1. Seleziona **Invia**.

1. Per aggiungere più trigger per questa funzione, ripetere le fasi da 10 a 13.

Per ulteriori informazioni sul test e il debug della funzione nella console Lambda, consulta [Invocare una funzione Lambda utilizzando la console](https://docs.aws.amazon.com/lambda/latest/dg/getting-started.html#get-started-invoke-manually) nella *Guida per gli sviluppatori di AWS Lambda *.

Quando sei pronto per l'esecuzione della funzione per CloudFront gli eventi, pubblica un'altra versione e modifica la funzione per aggiungere trigger. Per ulteriori informazioni, consulta [Aggiunta di trigger per una funzione Lambda@Edge](lambda-edge-add-triggers.md).