

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

# Tutorial: crea una funzione semplice con CloudFront Functions
<a name="functions-tutorial"></a>

Questo tutorial mostra come iniziare a usare CloudFront Functions. Puoi creare una semplice funzione che reindirizza il visualizzatore a un URL diverso e che restituisce anche un’intestazione di risposta personalizzata.

**Contents**
+ [

## Prerequisiti
](#functions-tutorial-prerequisites)
+ [

## Creazione della funzione
](#functions-tutorial-create)
+ [

## Verifica della funzione
](#functions-tutorial-verify)

## Prerequisiti
<a name="functions-tutorial-prerequisites"></a>

Per usare CloudFront Functions, è necessaria una CloudFront distribuzione. Se non disponi di un account, consulta [Inizia con una distribuzione CloudFront standard](GettingStarted.SimpleDistribution.md).

## Creazione della funzione
<a name="functions-tutorial-create"></a>

Puoi utilizzare la CloudFront console per creare una semplice funzione che reindirizza il visualizzatore a un URL diverso e restituisce anche un'intestazione di risposta personalizzata. 

**Per creare una funzione CloudFront**

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

1. Nel riquadro di navigazione, scegli **Funzioni**, quindi seleziona **Crea funzione**. 

1. Nella pagina **Crea funzione**, in **Nome**, inserisci il nome di una funzione come*MyFunctionName*.

1. (Facoltativo) In **Descrizione**, immetti una descrizione per la funzione, ad esempio **Simple test function**.

1. Per **Runtime**, mantieni la JavaScript versione selezionata di default.

1. Scegli **Crea funzione**.

1. Copia il codice funzione riportato di seguito. Questo codice funzione reindirizza il visualizzatore a un URL diverso e restituisce anche un'intestazione di risposta personalizzata.

   ```
   function handler(event) {
       // NOTE: This example function is for a viewer request event trigger. 
       // Choose viewer request for event trigger when you associate this function with a distribution. 
       var response = {
           statusCode: 302,
           statusDescription: 'Found',
           headers: {
               'cloudfront-functions': { value: 'generated-by-CloudFront-Functions' },
               'location': { value: 'https://aws.amazon.com/cloudfront/' }
           }
       };
       return response;
   }
   ```

1. Per **Codice funzione**, incolla il codice nell’editor di codice per sostituire il codice predefinito.

1. Scegli **Save changes** (Salva modifiche).

1. (Facoltativo) Puoi testare la funzione prima di pubblicarla. In questo tutorial non viene descritto come testare una funzione. Per ulteriori informazioni, consulta [Test delle funzioni](test-function.md).

1. Scegli la scheda **Pubblica**, quindi seleziona **funzione Pubblica**. È *necessario* pubblicare la funzione prima di poterla associare alla CloudFront distribuzione.

1. Quindi, puoi associare la funzione a una distribuzione e al comportamento cache. Nella *MyFunctionName* pagina, scegli la scheda **Pubblica**. 
**avvertimento**  
Nella procedura seguente, seleziona una distribuzione o un comportamento cache utilizzati per il test. Non associare questa funzione di test a una distribuzione o comportamento cache utilizzati in produzione.

1. Scegliere **Add Association (Aggiungi associazione)**. 

1. Nella finestra di dialogo **Associa**, seleziona una distribuzione e/o un comportamento cache. Per **Tipo di evento**, mantieni il valore predefinito.

1. Scegliere **Add Association (Aggiungi associazione)**.

   La tabella **Distribuzione associata** mostra la distribuzione associata. 

1. Attendere alcuni minuti affinché la distribuzione associata finisca la distribuzione. Per verificare lo stato della distribuzione, selezionala nella tabella **Distribuzioni associate** e scegli **Visualizza distribuzione**.

   Quando lo stato della distribuzione è **Distribuito**, sarà possibile verificare che la funzione funziona.

## Verifica della funzione
<a name="functions-tutorial-verify"></a>

Dopo aver distribuito la funzione, puoi verificare che funzioni correttamente per la distribuzione.

**Come verificare la funzione**

1. Nel browser web, vai al nome di dominio della distribuzione (ad esempio, `https://d111111abcdef8.cloudfront.net`).

   La funzione restituisce un reindirizzamento al browser, quindi il browser passa automaticamente a `https://aws.amazon.com/cloudfront/`.

1. In una finestra della riga di comando, puoi utilizzare uno strumento come **curl** per inviare una richiesta al nome di dominio della distribuzione.

   ```
   curl -v https://d111111abcdef8.cloudfront.net/
   ```

   Nella risposta, vengono visualizzati la risposta di reindirizzamento (`302 Found`) e le intestazioni di risposta personalizzate aggiunte dalla funzione. L’aspetto della risposta potrebbe essere simile a quella del seguente esempio.  
**Example**  

   ```
   curl -v https://d111111abcdef8.cloudfront.net/
   > GET / HTTP/1.1
   > Host: d111111abcdef8.cloudfront.net
   > User-Agent: curl/7.64.1
   > Accept: */*
   >
   < HTTP/1.1 302 Found
   < Server: CloudFront
   < Date: Tue, 16 Mar 2021 18:50:48 GMT
   < Content-Length: 0
   < Connection: keep-alive
   < Location: https://aws.amazon.com/cloudfront/
   < Cloudfront-Functions: generated-by-CloudFront-Functions
   < X-Cache: FunctionGeneratedResponse from cloudfront
   < Via: 1.1 3035b31bddaf14eded329f8d22cf188c.cloudfront.net (CloudFront)
   < X-Amz-Cf-Pop: PHX50-C2
   < X-Amz-Cf-Id: ULZdIz6j43uGBlXyob_JctF9x7CCbwpNniiMlmNbmwzH1YWP9FsEHg==
   ```