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à.
Associa le funzioni alle distribuzioni
Per utilizzare una funzione con una distribuzione, è necessario associare la funzione a uno o più comportamenti della cache nella distribuzione. Puoi associare una funzione a più comportamenti della cache in più distribuzioni.
Puoi associare una funzione con uno qualsiasi di questi elementi:
-
Un comportamento di cache esistente
-
Un nuovo comportamento della cache in una distribuzione esistente
-
Un nuovo comportamento della cache in una nuova distribuzione
Quando associ una funzione a un comportamento di cache, è necessario scegliere un tipo di evento. Il tipo di evento determina quando CloudFront viene eseguita la funzione.
È possibile scegliere i seguenti tipi di eventi:
-
Richiesta del visualizzatore: la funzione viene eseguita quando CloudFront riceve una richiesta da un visualizzatore.
-
Risposta del visualizzatore: la funzione viene eseguita prima di CloudFront restituire una risposta al visualizzatore.
Non è possibile utilizzare tipi di eventi rivolti all'origine (richiesta di origine e risposta all'origine) con CloudFront Functions. Puoi invece usare Lambda @Edge. Per ulteriori informazioni, consulta CloudFront eventi che possono attivare una funzione Lambda @Edge.
Prima di associare una funzione, è necessario pubblicarla nella fase LIVE
.
È possibile associare una funzione a una distribuzione nella CloudFront console o alla AWS Command Line Interface
(AWS CLI). Nella procedura seguente viene illustrato come associare una funzione a un comportamento della cache esistente.
- Console
-
Per associare una funzione a un comportamento della cache esistente
-
Accedi alla CloudFront console all'indirizzo https://console.aws.amazon.com/cloudfront/v4/home#/functions e scegli la pagina Funzioni.
-
Scegli la funzione che desideri associare.
-
Nella pagina Funzione, scegliete la scheda Pubblica.
-
Scegliete la funzione Pubblica.
-
Scegliere Add Association (Aggiungi associazione). Nella finestra di dialogo che appare, scegli una distribuzione, un tipo di evento e/o un comportamento nella cache.
Per il tipo di evento, scegli quando eseguire questa funzione:
-
Per salvare la configurazione, scegli Aggiungi associazione.
CloudFront associa la distribuzione alla funzione. Attendere alcuni minuti affinché la distribuzione associata finisca la distribuzione. Puoi scegliere Visualizza distribuzione nella pagina dei dettagli della funzione per controllare lo stato di avanzamento.
- CLI
-
Per associare una funzione a un comportamento della cache esistente
-
Aprire una finestra a riga di comando.
-
Immettete il comando seguente per salvare la configurazione di distribuzione per la distribuzione di cui desiderate associare il comportamento della cache a una funzione. Questo comando salva la configurazione di distribuzione in un file denominato dist-config.yaml
. Per utilizzare questo comando, effettua le seguenti operazioni:
aws cloudfront get-distribution-config \
--id DistributionID
\
--output yaml > dist-config.yaml
Quando il comando ha successo, non AWS CLI restituisce alcun output.
-
Apri il file con il nome dist-config.yaml
che hai creato. Modifica il file per apportare le modifiche seguenti.
-
Rinominare il campo ETag
in IfMatch
, ma non modificare il valore del campo.
-
Nel comportamento della cache, trova l'oggetto denominato FunctionAssociations
. Aggiorna questo oggetto per aggiungere un'associazione di funzioni. La sintassi YAML per un'associazione di funzioni è simile all'esempio seguente.
-
L'esempio seguente mostra un oggetto evento Richiesta visualizzatore (trigger). Per utilizzare un tipo di evento Risposta del visualizzatore, sostituisci viewer-request
con viewer-response
.
-
Sostituisci arn:aws:cloudfront::111122223333:function/ExampleFunction
con il nome della risorsa Amazon (ARN) della funzione che stai associando a questo comportamento della cache. Per ottenere l’ARN della funzione, puoi utilizzare il comando aws cloudfront
list-functions.
FunctionAssociations:
Items:
- EventType: viewer-request
FunctionARN: arn:aws:cloudfront::111122223333:function/ExampleFunction
Quantity: 1
-
Dopo aver apportato queste modifiche, salva il file.
-
Utilizza il comando seguente per aggiornare la distribuzione, aggiungendo l'associazione di funzioni. Per utilizzare questo comando, effettua le seguenti operazioni:
aws cloudfront update-distribution \
--id DistributionID
\
--cli-input-yaml file://dist-config.yaml
Se il comando ha esito positivo, viene visualizzato un output simile al seguente che descrive la distribuzione appena aggiornata con l'associazione di funzioni. L'output di esempio seguente è stato troncato per una maggiore leggibilità.
Distribution:
ARN: arn:aws:cloudfront::111122223333:distribution/EBEDLT3BGRBBW
... truncated ...
DistributionConfig:
... truncated ...
DefaultCacheBehavior:
... truncated ...
FunctionAssociations:
Items:
- EventType: viewer-request
FunctionARN: arn:aws:cloudfront::111122223333:function/ExampleFunction
Quantity: 1
... truncated ...
DomainName: d111111abcdef8.cloudfront.net
Id: EDFDVBD6EXAMPLE
LastModifiedTime: '2021-04-19T22:39:09.158000+00:00'
Status: InProgress
ETag: E2VJGGQEG1JT8S
Lo Status
della distribuzione cambia in InProgress
mentre la distribuzione viene ridistribuita. Quando la nuova configurazione di distribuzione raggiunge una posizione CloudFront periferica, tale posizione inizia a utilizzare la funzione associata. Quando la distribuzione è completamente distribuita, Status
torna aDeployed
. Ciò indica che la CloudFront funzione associata è attiva in tutte le CloudFront edge location del mondo. In genere sono necessari pochi minuti.