Amazon Cloudfront: pulire la cache di un singolo file o url

In questo articolo dedicato ad Amazon Aws Cloudfront scopriamo come pulire la cache di un singolo file o url (purging)

Quando si inizia a usare per la prima volta Cloudfront –  il noto cdn di Amazon Web Services – ci si trova molto spesso spiazzati dal numero infinito di parametri e di risorse di questo (vastissimo) universo può offrire ai developers.

Uno dei primi dubbi che mi sono posto iniziando ad usare “nella pratica” di tutti i giorni Cloudfront è stato: Ok devo aggiornare un file js … che devo fare?

La risposta è piu difficile di quanto sembri all’inizio. Sovrascrivere semplicemente il file  potrebbe richiedere giorni per vedere la modifica effettivamente live per via della potente cache di Cloudfront. Per velocizzare questo processo è possibile effettuare un purging selettivo della cache per singoli file o url. In aws questo processo viene definito “invalidazione”.

Per creare un’invalidazione apriamo il nostro pannello di cloudfront. Entriamo dentro la nostra distribuzione e noterete un tag chiamato proprio “invalidations” . Come vedete qui:

cloudfront

A questo punto premete “Create invalidation” per aggiungere il vostro url (o pattern) da invalidare.

Una volta passata una richiesta di invalidazione, CloudFront torna dalla origin alla prossima richiesta che viene fatta per quel contenuto.

L’invalidazione si può far passare sia per specifico oggetto (url diretto), che per path usando * .

Ad esempio:

  • /images/image1.jpg –> invalida solo questa immagine
  • /images/image*  –> invalida image001, image002, imageXXX
  • /images/*  –> invalida tutto quello all’interno della cartella images.

ATTENZIONE: Le prime 1000 invalidazioni/mese sono comprese nel prezzo dopodichè dovrete pagare per ciascuna invalidazione successiva.

Proprio per il numero limitato di invalidations free la stessa amazon suggerisce di effettuare versioning (es. images/v2/NUOVE_IMMAGINI)  per poter ottimizzare il tutto e non dover ricorrere a questa pratica.

Photo credits: Gil C / Shutterstock.com

Lascia un commento

Il tuo indirizzo email non sarà pubblicato. I campi obbligatori sono contrassegnati *

Questo sito usa Akismet per ridurre lo spam. Scopri come i tuoi dati vengono elaborati.

angularjs2
Up Next:

Guida Angular2 italiano - Parte 2 - Creiamo un task engine dinamico

Guida Angular2 italiano - Parte 2 - Creiamo un task engine dinamico