

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

# Aggiornamento delle funzioni
<a name="update-function"></a>

Puoi aggiornare una funzione in qualsiasi momento. Le modifiche vengono apportate solo alla versione della funzione che si trova nella fase `DEVELOPMENT`. Per copiare gli aggiornamenti dalla fase `DEVELOPMENT` in `LIVE`, devi [pubblicare la funzione](publish-function.md). 

Puoi aggiornare il codice di una funzione nella CloudFront console o con AWS Command Line Interface (AWS CLI).

------
#### [ Console ]

**Come aggiornare il codice della funzione**

1. Accedi alla CloudFront console all'indirizzo [https://console.aws.amazon.com/cloudfront/v4/home#/functions](https://console.aws.amazon.com/cloudfront/v4/home#/functions) e scegli la pagina **Funzioni**.

   Scegliere la funzione da aggiornare.

1. Scegli **Modifica** e apporta le modifiche seguenti:
   + Aggiorna gli eventuali campi nella sezione **Dettagli**.
   + Modifica o rimuovi l’archivio di valori delle chiavi associato. Per ulteriori informazioni sugli archivi di valori delle chiavi, consulta [Amazon CloudFront KeyValueStore](kvs-with-functions.md).
   + Modifica il codice funzione. Scegli la scheda **Compila**, apporta le modifiche, quindi seleziona **Salva modifiche** per salvare le modifiche al codice.

------
#### [ CLI ]

**Per aggiornare il codice della funzione**

1. Aprire una finestra a riga di comando.

1. Eseguire il seguente comando seguente.

   Questo esempio utilizza la notazione `fileb://` per passare il file. Include anche interruzioni di riga per rendere il comando più leggibile. 

   ```
   aws cloudfront update-function \
       --name MaxAge \
       --function-config '{"Comment":"Max Age 2 years","Runtime":"cloudfront-js-2.0","KeyValueStoreAssociations":{"Quantity":1,"Items":[{"KeyValueStoreARN":"arn:aws:cloudfront::111122223333:key-value-store/a1b2c3d4-5678-90ab-cdef-EXAMPLE11111"}]}}' \
       --function-code fileb://function-max-age-v1.js \
       --if-match ETVABCEXAMPLE
   ```
**Note**  
È possibile identificare la funzione sia dal nome che da ETag (nel `if-match` parametro). Assicurati di utilizzare la corrente ETag. È possibile ottenere questo valore dall'operazione [DescribeFunction](https://docs.aws.amazon.com/cloudfront/latest/APIReference/API_DescribeFunction.html)API.
È necessario includere `function-code`, anche se non intendi apportarvi modifiche.
Fai attenzione con `function-config`. Devi passare tutto ciò che vuoi mantenere nella configurazione. In particolare, gestisci l'archivio di valori delle chiavi come segue:   
Per mantenere l’associazione esistente con l’archivio di valori delle chiavi (se presente), specifica il nome dell’archivio *esistente*.
Per modificare l’associazione, specifica il nome del *nuovo* archivio di valori delle chiavi.
Per rimuovere l’associazione, ometti il parametro `KeyValueStoreAssociations`. 

   Se il comando viene eseguito correttamente, vedrai un output simile al seguente. 

   ```
   ETag: ETVXYZEXAMPLE
   FunctionSummary:
     FunctionConfig:
       Comment: Max Age 2 years \
       Runtime: cloudfront-js-2.0 \
       KeyValueStoreAssociations= \
         {Quantity=1, \
         Items=[{KeyValueStoreARN='arn:aws:cloudfront::111122223333:key-value-store/a1b2c3d4-5678-90ab-cdef-EXAMPLE11111'}]} \
     FunctionMetadata: \
       CreatedTime: '2021-04-18T20:38:56.915000+00:00' \
       FunctionARN: arn:aws:cloudfront::111122223333:function/MaxAge \
       LastModifiedTime: '2023-12-19T23:41:15.389000+00:00' \
       Stage: DEVELOPMENT \
     Name: MaxAge \
     Status: UNPUBLISHED
   ```

------

La maggior parte delle informazioni viene ripetuta dalla richiesta. Altre informazioni vengono aggiunte da CloudFront.

**Note**  
`ETag`: questo valore cambia a ogni modifica dell’archivio di valori delle chiavi.
`FunctionARN`— L'ARN per la tua CloudFront funzione.
`Stage`: la fase della funzione (`LIVE` o `DEVELOPMENT`). 
`Status`: lo stato della funzione (`PUBLISHED` o `UNPUBLISHED`).