L'annullamento della convalida della cache, a volte chiamato eliminazione definitiva della cache, è il processo di dichiarare i contenuti memorizzati nella cache non validi. In questo modo, la voce viene rimossa dalla cache e poi riempita caricandola dal server di origine la volta successiva che i contenuti vengono richiesti.
Media CDN supporta diversi modi per selezionare i contenuti da invalidare, come segue:
- Host e percorso dell'URL
- Prefisso URL (jolly)
- Tag della cache, inclusi i tag integrati per
status,originecontent-type
Puoi combinare questi parametri di annullamento della convalida per individuare specifiche risposte memorizzate nella cache e ridurre al minimo il carico sull'origine durante il successivo riempimento della cache.
Sintassi di invalidazione supportata
La sintassi di invalidazione supportata è la seguente:
| Tipo | Sintassi | Esempio |
|---|---|---|
| Annullamento della convalida dell'host | Invalida le risposte memorizzate nella cache per l'host specificato. |
gcloud edge-cache services invalidate-cache
SERVICE_NAME \
|
| Invalidamento del percorso | Annulla la convalida delle risposte memorizzate nella cache per il percorso o il prefisso percorso specificato. |
gcloud edge-cache services invalidate-cache
SERVICE_NAME \
gcloud edge-cache services invalidate-cache
SERVICE_NAME \
|
| Invalidazione del tag della cache in base al codice di stato HTTP, al nome dell'origine o al tipo MIME |
Annulla la convalida delle risposte memorizzate nella cache con un tag corrispondente. Più tag vengono
trattati come un OR booleano.
|
gcloud edge-cache services invalidate-cache
SERVICE_NAME \
gcloud edge-cache services invalidate-cache
SERVICE_NAME \
|
Note:
- È possibile specificare fino a 10 tag della cache in una singola richiesta di annullamento della convalida.
- Puoi combinare
host,pathetagsin un'unica richiesta di annullamento della convalida. Vengono trattati come un valore booleanoAND. - Quando vengono specificati più tag cache, questi vengono trattati come un
ORbooleano. Ad esempio, se specifichi--tags="status=404,origin=staging-origin", vengono invalidate tutte le risposte con un tag della cachestatus=404, così come tutte le risposte con un tag della cacheorigin=staging-origin.
Tag della cache
I tag della cache (o chiavi surrogate) consentono di invalidare contenuti in base a metadati arbitrari.
Questi tag sono definiti da quanto segue:
- Impostazione dell'intestazione HTTP
Cache-Tagin una risposta di origine, con i tag specificati come elenco separato da virgole di valori. - Tag integrati basati sul codice di stato HTTP della risposta, sul tipo MIME
dell'intestazione della risposta HTTP
Content-Typeo sul nome dell'origine da cui è stata recuperata la risposta.
Quando in una singola richiesta di annullamento della convalida vengono specificati più tag, questi vengono trattati come un OR booleano.
Considera l'esempio seguente:
Hai i seguenti oggetti memorizzati nella cache:
- Oggetto memorizzato nella cache n. 1 con i tag
status=200,content-type=video/mp4 - Oggetto memorizzato nella cache n. 2 con i tag
status=404,content-type=text/plain - Oggetto memorizzato nella cache n. 3 con i tag
status=200,content-type=application/x-mpegurl
- Oggetto memorizzato nella cache n. 1 con i tag
Invii una richiesta di annullamento della convalida degli oggetti con
tags="status=200,content-type=text/plain"Risultato: tutti e tre gli oggetti memorizzati nella cache vengono invalidati contemporaneamente. In questo modo non è necessario specificare tutte le possibili combinazioni di tag, alcune delle quali potrebbero essere sconosciute.
Note:
- I tag cache predefiniti non sono inclusi nella risposta visibile al client perché riflettono intestazioni esistenti (come la riga di stato o Content-Type) o dettagli di configurazione interni.
- I tag della cache inviati dall'origine nell'intestazione della risposta HTTP
Cache-Tagvengono inviati al client. Se vuoi impedire che vengano inviati al client, utilizza la funzionalitàresponseHeadersToRemovesu unrouteRuleper rimuovere l'intestazioneCache-Tag. Per esempi, consulta la documentazione relativa alle intestazioni personalizzate.
Tag integrati
Alle risposte vengono applicati automaticamente i seguenti tag cache per supportare l'invalidazione dei contenuti in base al codice di stato, al tipo MIME o all'origine da cui sono stati recuperati i contenuti. Non è necessario specificare questi tag nelle risposte dell'origine.
| Tag | Dettagli |
|---|---|
status=HTTP_STATUS_CODE
|
Il tag cache Ad esempio, puoi invalidare tutte le risposte HTTP 404 memorizzate nella cache specificando |
content-type=MIME_TYPE
|
Il tag della cache Ad esempio, il tipo MIME di una playlist HLS è
In questo modo, puoi invalidare tipi specifici di contenuti. |
origin=ORIGIN_NAME
|
Il tag cache Il valore |
Limitazioni dei tag della cache
I tag della cache presentano le seguenti limitazioni:
- Non devono superare i 120 byte per tag
- Non è possibile superare i 4 KiB (4096 byte) di nomi di tag totali per oggetto memorizzato nella cache
- Non è possibile superare i 50 tag per oggetto, esclusi i tag predefiniti aggiunti da Media CDN
- Deve essere un nome token HTTP valido, come definito nella sezione 3.2.6 della RFC 7230 HTTP
- Non deve includere i prefissi integrati
status=,origin=ocontent-type=(che vengono ignorati).
I tag che non rientrano in questi limiti o non soddisfano questi requisiti vengono ignorati. In alcuni casi (ad esempio quando le intestazioni della risposta sono troppo grandi), la risposta non va a buon fine e non viene memorizzata nella cache.
Autorizzazioni
L'autorizzazione networkservices.EdgeCacheServices.invalidateCache
controlla l'accesso all'API invalidateCache.
Questa autorizzazione è inclusa nei ruoli Identity and Access Management networkservices.edgeCacheAdmin e networkservices.edgeCacheUser.
Esempi
I seguenti esempi mostrano come invalidare le risposte memorizzate nella cache per un servizio Media CDN.
Puoi combinare i campi host, path e tags
in un'unica richiesta di annullamento della convalida per annullare la convalida di un insieme specifico di contenuti.
Annulla la convalida in base all'host
Console
- Nella console Google Cloud , vai alla pagina Media CDN.
- Fai clic sulla scheda Services (Servizi).
- Fai clic su un servizio.
- Fai clic sulla scheda Annullamento convalida cache.
- Per invalidare la cache per host, in Host, specifica un nome host, a meno che tu non voglia invalidare il percorso per tutti i nomi host.
Il nome host non può includere
*. - Fai clic su Invalida e poi su Conferma per indicare che Media CDN deve annullare la convalida dei contenuti corrispondenti all'host.
gcloud
gcloud edge-cache services invalidate-cache SERVICE_NAME \
--host=HOST
Sostituisci quanto segue:
SERVICE_NAMEcon il nome del servizio Edge Cache.HOSTcon il nome host completo della voce della cache da invalidare.
Ad esempio:
gcloud edge-cache services invalidate-cache SERVICE_NAME \
--host="media.example.com"
L'annullamento di tutti i contenuti associati a un host può essere rischioso e influire sulle prestazioni. Valuta la possibilità di ridurre l'ambito dell'invalidazione fornendo un percorso specifico o tag cache pertinenti.
Annulla la convalida in base al percorso
Console
- Nella console Google Cloud , vai alla pagina Media CDN.
- Fai clic sulla scheda Services (Servizi).
- Fai clic su un servizio.
- Fai clic sulla scheda Annullamento convalida cache.
- Per invalidare la cache per percorso, in Percorso specifica il percorso e il
nome file, ad esempio
/videos/funny.mp4o/segments/e94a6b1f731/*. - Fai clic su Invalida.
gcloud
gcloud edge-cache services invalidate-cache SERVICE_NAME \
--path=PREFIX
Sostituisci quanto segue:
SERVICE_NAMEcon il nome del servizio Edge Cache.HOSTcon il nome host delle voci della cache da invalidare. Per trovare la corrispondenza con qualsiasi nome host, ometti il flag host.PREFIXcon un prefisso percorso che termina con "*" che corrisponde alle voci della cache da invalidare.
Ad esempio:
gcloud edge-cache services invalidate-cache SERVICE_NAME \
--path="/segments/e94a6b1f731/*"
Puoi anche invalidare un percorso esatto omettendo il carattere *
finale. Il passaggio di --path="/videos/funny.mp4" invalida la
risposta memorizzata nella cache (se presente) corrispondente a quel percorso.
Annulla la convalida in base al tag della cache
Console
- Nella console Google Cloud , vai alla pagina Media CDN.
- Fai clic sulla scheda Services (Servizi).
- Fai clic su un servizio.
- Fai clic sulla scheda Annullamento convalida cache.
- Per convalidare la cache in base ai tag, in Tag della cache, specifica uno o più tag per invalidare la cache. Utilizza spazi o virgole per separare i tag. Puoi aggiungere un massimo di 10 tag della cache per l'annullamento della convalida.
- Fai clic su Invalida.
gcloud
gcloud edge-cache services invalidate-cache SERVICE_NAME \
--tags=TAGS
Sostituisci quanto segue:
SERVICE_NAMEcon il nome del servizio Edge Cache.TAGScon un elenco di tag separati da virgole.
Ad esempio:
gcloud edge-cache services invalidate-cache SERVICE_NAME \
--tags="status=404,content-type=text/plain"
Latenza di annullamento della convalida
L'annullamento della convalida della cache nelle migliaia di località di Media CDN viene in genere completato entro un minuto a livello globale.
In alcuni casi, l'annullamento può richiedere più tempo, a seconda del carico del sistema, della connettività e del volume dei contenuti da annullare.
Logging
Se i log di controllo sono abilitati, le chiamate di invalidazione vengono registrate in Cloud Logging.
Limitazioni
L'annullamento della convalida è soggetto a limitazione di frequenza. Se superi il limite di frequenza delle invalidazioni,
ricevi un messaggio di errore HTTP 429 con lo stato RESOURCE_EXHAUSTED.
L'invalidazione può essere di qualsiasi dimensione. Ad esempio, l'annullamento della convalida di /images/my-image.png conta come un annullamento della convalida. L'annullamento della convalida di /images/*
viene conteggiato come un annullamento.