Annullamento dei contenuti inseriti nella cache

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 prima gcloud init per autenticarti.

  • Utilizza Cloud Shell, che include gcloud già installato.

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

Console

  1. Nella console Google Cloud, vai alla pagina Cloud CDN.

    Vai alla pagina Cloud CDN

  2. In Bilanciatori del carico associati, fai clic sul nome del bilanciatore del carico.
  3. Fai clic sulla scheda Invalidazione della cache.
  4. 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).
  5. Fai clic su Invalida.

gcloud

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-cache URL_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-cache URL_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.

API

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 Cloud
  • URL_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

Console

  1. Nella console Google Cloud, vai alla pagina Cloud CDN.

    Vai alla pagina Cloud CDN

  2. In Bilanciatori del carico associati, fai clic sul nome del bilanciatore del carico.
  3. Fai clic sulla scheda Invalidazione della cache.
  4. 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/*).
  5. Fai clic su Invalida.

gcloud

Utilizza il comando gcloud compute url-maps invalidate-cdn-cache.

gcloud compute url-maps invalidate-cdn-cache URL_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-cache URL_MAP_NAME \
    --host host1.com \
    --path "/images/*"

API

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 Cloud
  • URL_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

Console

L'utilizzo dei tag cache per l'invalidazione non è supportato nella console Google Cloud.

gcloud

Utilizza il comando gcloud beta compute url-maps invalidate-cdn-cache.

gcloud beta compute url-maps invalidate-cdn-cache URL_MAP_NAME \
    --tags=TAGS

Sostituisci quanto segue:

  • URL_MAP_NAME: il nome della mappa URL
  • TAGS: 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"

API

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 Cloud
  • URL_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

Console

  1. Nella console Google Cloud, vai alla pagina Cloud CDN.

    Vai alla pagina Cloud CDN

  2. In Bilanciatori del carico associati, fai clic sul nome del bilanciatore del carico.
  3. Fai clic sulla scheda Invalidazione della cache.
  4. 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/*).
  5. Fai clic su Invalida.

gcloud

Utilizza il comando gcloud compute url-maps invalidate-cdn-cache.

gcloud compute url-maps invalidate-cdn-cache URL_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-cache URL_MAP_NAME \
    --host host1.com \
    --path "/*"

API

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 Cloud
  • URL_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