Questa pagina descrive come invalidare i contenuti memorizzati nella cache di Cloud CDN.
Ad esempio, se un file situato in /images/file.jpg
è stato memorizzato nella cache e deve essere invalidato, puoi utilizzare diversi metodi per farlo, a seconda che tu voglia influire solo su quel file o su un ambito più ampio. In ogni caso, puoi annullare la convalida per tutti i nomi host o per un solo nome host.
Per scoprire di più sull'invalidazione della cache, consulta la Panoramica dell'invalidazione della cache.
Prima di iniziare
Puoi utilizzare Google Cloud CLI o la console Google Cloud per eseguire le invalidazioni.
Puoi accedere a Google Cloud CLI in due modi:
Installa Google Cloud CLI seguendo le istruzioni riportate in Installazione con
apt-get
. Se non hai mai utilizzato Google Cloud CLI, esegui primagcloud init
per autenticarti.Utilizza Cloud Shell, che include
gcloud
già installato.
Autorizzazioni richieste per questa attività
Per eseguire questa attività, devi disporre delle seguenti autorizzazioni o dei seguenti ruoli IAM.
Autorizzazioni
compute.urlMaps.get
compute.urlMaps.invalidateCache
Ruoli
roles/compute.networkAdmin
roles/compute.loadBalancerAdmin
Per creare un ruolo personalizzato con le autorizzazioni richieste, consulta Creare e gestire i ruoli personalizzati.
Per aggiungere un ruolo predefinito, utilizza la guida introduttiva IAM.
Annullare la validità di un solo file
- Nella console Google Cloud, vai alla pagina Cloud CDN.
- In Bilanciatori del carico associati, fai clic sul nome del bilanciatore del carico.
- Fai clic sulla scheda Invalidazione della cache.
- Inserisci il percorso del file.
- Se vuoi invalidare un percorso per tutti i nomi host, inserisci solo il percorso (ad esempio:
/images/file.jpg
). - Se vuoi invalidare un percorso per un solo nome host, specifica il nome host come parte del percorso (ad esempio
host1.com/images/file.jpg
).
- Se vuoi invalidare un percorso per tutti i nomi host, inserisci solo il percorso (ad esempio:
- Fai clic su Invalida.
Utilizza il
comando gcloud compute url-maps invalidate-cdn-cache
.
Per specificare un solo file da invalidare, utilizza il flag --path
con il nome del file.
gcloud compute url-maps invalidate-cdn-cacheURL_MAP_NAME \ --path "/images/file.jpg"
Sostituisci URL_MAP_NAME
con il nome della mappa di URL. Per elencare le mappe URL, utilizza il comando gcloud compute url-maps list
.
Per annullare l'autenticazione per un solo host, aggiungi il flag --host
, ad esempio --host host1.com
.
gcloud compute url-maps invalidate-cdn-cacheURL_MAP_NAME \ --host host1.com \ --path "/images/file.jpg"
Per impostazione predefinita, Google Cloud CLI attende il completamento dell'invalidazione. Per eseguire l'invalidazione in background, aggiungi --async
alla riga di comando.
Utilizza la chiamata API del
metodo urlMaps.invalidateCache
.
POST https://compute.googleapis.com/compute/v1/projects/PROJECT_ID /global/urlMaps/URL_MAP_NAME /invalidateCache
Sostituisci quanto segue:
PROJECT_ID
: il tuoID progetto della console Google CloudURL_MAP_NAME
: il nome della mappa URL
Per specificare un file da invalidare, utilizza il seguente corpo della richiesta JSON di esempio:
{ "path": "/images/file.jpg" }
Per invalidare il file per un solo host, utilizza il seguente corpo della richiesta JSON di esempio:
{ "host": "host1.com", "path": "/images/file.jpg" }
Annullare l'intera directory
- Nella console Google Cloud, vai alla pagina Cloud CDN.
- In Bilanciatori del carico associati, fai clic sul nome del bilanciatore del carico.
- Fai clic sulla scheda Invalidazione della cache.
- Inserisci il percorso della directory e il carattere jolly (
/path/to/file/*
).- Se vuoi invalidare l'intera directory per tutti i nomi host, inserisci solo il percorso e il carattere jolly (ad esempio:
/images/*
). - Se vuoi invalidare l'intera directory per un solo nome host,
specifica il nome host come parte del percorso
(ad esempio:
host1.com/images/*
).
- Se vuoi invalidare l'intera directory per tutti i nomi host, inserisci solo il percorso e il carattere jolly (ad esempio:
- Fai clic su Invalida.
Utilizza il
comando gcloud compute url-maps invalidate-cdn-cache
.
gcloud compute url-maps invalidate-cdn-cacheURL_MAP_NAME \ --path "/images/*"
Sostituisci URL_MAP_NAME
con il nome della mappa di URL.
Per annullare l'autenticazione per un solo host, aggiungi il flag --host
, ad esempio --host host1.com
.
gcloud compute url-maps invalidate-cdn-cacheURL_MAP_NAME \ --host host1.com \ --path "/images/*"
Utilizza la chiamata API del
metodo urlMaps.invalidateCache
.
POST https://compute.googleapis.com/compute/v1/projects/PROJECT_ID /global/urlMaps/URL_MAP_NAME /invalidateCache
Sostituisci quanto segue:
PROJECT_ID
: il tuoID progetto della console Google CloudURL_MAP_NAME
: il nome della mappa URL
Per specificare una directory da invalidare, utilizza il seguente corpo della richiesta JSON di esempio:
{ "path": "/images/*" }
Per invalidare una directory solo per un host, utilizza il seguente corpo della richiesta JSON di esempio:
{ "host": "host1.com", "path": "/images/*" }
Annullamento della convalida per tag della cache
L'utilizzo dei tag cache per l'invalidazione non è supportato nella console Google Cloud.
Utilizza il
comando gcloud beta compute url-maps invalidate-cdn-cache
.
gcloud beta compute url-maps invalidate-cdn-cacheURL_MAP_NAME \ --tags=TAGS
Sostituisci quanto segue:
URL_MAP_NAME
: il nome della mappa URLTAGS
: un tag o un elenco di tag separati da virgole. In alternativa, puoi specificare questo flag fino a 10 volte
Ad esempio, se la risposta del backend include un'intestazione Cache-Tag
con un ID utente opaco, ad esempio un UUID4 o un'altra forma di GUID, puoi invalidare tutti i contenuti per un utente specifico utilizzando il flag tag
.
Inoltre, per invalidare i contenuti per un solo host, ad esempio per il tuo ambiente di staging, aggiungi il flag --host
.
gcloud beta compute url-maps invalidate-cdn-cache url_map_1 \ --tags="1115b8f4-f804-4861-9629-8cb9aecdeeb3" \ --host="host1.com"
Utilizza la chiamata API del
metodo urlMaps.invalidateCache
.
POST https://compute.googleapis.com/compute/beta/projects/PROJECT_ID /global/urlMaps/URL_MAP_NAME /invalidateCache
Sostituisci quanto segue:
PROJECT_ID
: il tuoID progetto della console Google CloudURL_MAP_NAME
: il nome della mappa URL
Per specificare i tag cache per l'invalidazione, utilizza il seguente corpo della richiesta JSON di esempio:
{ "tags": "tag1,tag2" }
Puoi specificare un singolo tag o un elenco di tag separati da virgole.
Per annullare l'aggiornamento in base ai tag cache per un solo host, utilizza il seguente corpo della richiesta JSON di esempio:
{ "host": "host1.com", "path": "tag1,tag2" }
Invalida tutto
- Nella console Google Cloud, vai alla pagina Cloud CDN.
- In Bilanciatori del carico associati, fai clic sul nome del bilanciatore del carico.
- Fai clic sulla scheda Invalidazione della cache.
- Inserisci solo la radice e il carattere jolly (
/*
).- Se vuoi invalidare tutto per tutti i nomi host, inserisci solo
/*
nel campo. - Se vuoi invalidare tutto per un solo nome host,
specifica il nome host come parte del percorso (ad esempio:
host1.com/*
).
- Se vuoi invalidare tutto per tutti i nomi host, inserisci solo
- Fai clic su Invalida.
Utilizza il
comando gcloud compute url-maps invalidate-cdn-cache
.
gcloud compute url-maps invalidate-cdn-cacheURL_MAP_NAME \ --path "/* "
Sostituisci quanto segue:
URL_MAP_NAME
: il nome della mappa URL/*
: il percorso dell'URL che vuoi invalidare; non include il nome host; il percorso può utilizzare un nome file esplicito o un carattere jolly
Per annullare l'autenticazione per un solo host, aggiungi il flag --host
, ad esempio --host host1.com
.
gcloud compute url-maps invalidate-cdn-cacheURL_MAP_NAME \ --host host1.com \ --path "/* "
Utilizza la chiamata API del
metodo urlMaps.invalidateCache
.
POST https://compute.googleapis.com/compute/v1/projects/PROJECT_ID /global/urlMaps/URL_MAP_NAME /invalidateCache
Sostituisci quanto segue:
PROJECT_ID
: il tuoID progetto della console Google CloudURL_MAP_NAME
: il nome della mappa URL
Per specificare un percorso dell'URL per l'invalidazione, utilizza il seguente corpo della richiesta JSON di esempio:
{ "path": "/*" }
Per invalidare il percorso dell'URL per un solo host, utilizza il seguente corpo della richiesta JSON di esempio:
{ "host": "host1.com", "path": "/*" }
Visualizzare lo stato della richiesta di annullamento
Cloud CDN emette due righe di log per annullamento, una quando l'annullamento viene accettato e l'altra quando è completato. Il primo contiene le informazioni sull'host e sul percorso.
Per visualizzare lo stato della richiesta di invalidazione o trovare un elenco definitivo delle richieste inviate di recente, puoi utilizzare Cloud Logging o Cloud Monitoring.
Di seguito è riportato un comando di esempio che utilizza il logging:
gcloud logging read 'protoPayload.methodName="v1.compute.urlMaps.invalidateCache"' \ --limit=10
Di seguito è riportata una query di esempio che utilizza il monitoraggio:
protoPayload.serviceName="compute.googleapis.com" protoPayload.methodName="v1.compute.urlMaps.invalidateCache"
Passaggi successivi
- Per verificare se Cloud CDN sta pubblicando risposte dalla cache, consulta Visualizzazione dei log.
- Per scoprire quali contenuti sono memorizzabili nella cache o meno, consulta la Panoramica della memorizzazione nella cache.