Nesta página, você aprenderá a invalidar conteúdo armazenado em cache no Cloud CDN.
Por exemplo, se um arquivo localizado em /images/file.jpg
tiver sido armazenado em cache e precisar ser invalidado, você poderá usar vários métodos para invalidá-lo, dependendo de você querer afetar apenas esse arquivo ou tiver um escopo mais amplo. Em cada caso, é possível executar a invalidação para todos os nomes do host ou apenas um.
Para saber mais sobre a invalidação de cache, consulte Visão geral da invalidação de cache.
Antes de começar
Use a CLI ou o console do Google Cloud para realizar invalidações.
É possível acessar a CLI do Google Cloud de duas maneiras:
Instale a CLI do Google Cloud seguindo as instruções em Como instalar com
apt-get
. Se você nunca usou a CLI do Google Cloud, primeiro executegcloud init
para autenticar.Use o Google Cloud Shell, que já vem com a
gcloud
instalada.
Para criar um papel personalizado com a permissão necessária, consulte Como criar e gerenciar papéis personalizados.
Para adicionar um papel predefinido, use o guia de início rápido do IAM.
Invalidar apenas um arquivo
Console
- No console do Google Cloud, acesse a página do Cloud CDN.
- Em Balanceadores de carga associados, clique no nome do balanceador de carga.
- Clique na guia Invalidação de cache.
- Insira o caminho do arquivo.
- Se quiser invalidar o caminho para todos os nomes de host, insira somente o caminho, por exemplo:
/images/file.jpg
. - Se você quiser invalidar um caminho para apenas um nome de host, especifique o nome do host como parte do caminho (por exemplo:
host1.com/images/file.jpg
).
- Se quiser invalidar o caminho para todos os nomes de host, insira somente o caminho, por exemplo:
- Clique em Invalidar.
gcloud
Use o
comando gcloud compute url-maps invalidate-cdn-cache
.
Para especificar apenas um arquivo para invalidação, use a flag --path
com o
nome do arquivo.
gcloud compute url-maps invalidate-cdn-cache URL_MAP_NAME \ --path "/images/file.jpg"
Substitua URL_MAP_NAME
pelo nome do seu mapa de URL. Para listar seus mapas de URL, use o comando gcloud compute url-maps list
.
Para invalidar apenas um host, adicione a flag --host
, por
exemplo, --host host1.com
.
gcloud compute url-maps invalidate-cdn-cache URL_MAP_NAME \ --host host1.com \ --path "/images/file.jpg"
Por padrão, a Google Cloud CLI aguarda a conclusão da
invalidação. Para realizar a invalidação em segundo plano, anexe --async
à linha de comando.
API
Use a
chamada de API do
método urlMaps.invalidateCache
.
POST https://compute.googleapis.com/compute/v1/projects/PROJECT_ID/global/urlMaps/URL_MAP_NAME/invalidateCache
Substitua:
PROJECT_ID
: o ID do projeto do console do Google Cloud.URL_MAP_NAME
: o nome do mapa de URL
Para especificar um arquivo para invalidação, use o seguinte exemplo de corpo de solicitação JSON:
{ "path": "/images/file.jpg" }
Para invalidar o arquivo de apenas um host, use o seguinte exemplo de corpo da solicitação JSON:
{ "host": "host1.com", "path": "/images/file.jpg" }
Invalidar o diretório inteiro
Console
- No console do Google Cloud, acesse a página do Cloud CDN.
- Em Balanceadores de carga associados, clique no nome do balanceador de carga.
- Clique na guia Invalidação de cache.
- Insira o caminho do diretório e o caractere curinga (
/path/to/file/*
).- Se você quiser invalidar o diretório inteiro para todos os nomes de host, digite apenas o caminho e o caractere curinga (por exemplo:
/images/*
). - Se quiser invalidar o diretório inteiro para apenas um nome de host, especifique o nome desse host como parte do caminho, por exemplo,
host1.com/images/*
.
- Se você quiser invalidar o diretório inteiro para todos os nomes de host, digite apenas o caminho e o caractere curinga (por exemplo:
- Clique em Invalidar.
gcloud
Use o
comando gcloud compute url-maps invalidate-cdn-cache
.
gcloud compute url-maps invalidate-cdn-cache URL_MAP_NAME \ --path "/images/*"
Substitua URL_MAP_NAME
pelo nome do seu mapa de URL.
Para invalidar apenas um host, adicione a flag --host
, por
exemplo, --host host1.com
.
gcloud compute url-maps invalidate-cdn-cache URL_MAP_NAME \ --host host1.com \ --path "/images/*"
API
Use a
chamada de API do
método urlMaps.invalidateCache
.
POST https://compute.googleapis.com/compute/v1/projects/PROJECT_ID/global/urlMaps/URL_MAP_NAME/invalidateCache
Substitua:
PROJECT_ID
: o ID do projeto do console do Google Cloud.URL_MAP_NAME
: o nome do mapa de URL
Para especificar um diretório para invalidação, use o seguinte exemplo de corpo de solicitação JSON:
{ "path": "/images/*" }
Para invalidar um diretório para apenas um host, use o seguinte exemplo de corpo de solicitação JSON:
{ "host": "host1.com", "path": "/images/*" }
Invalidar por tags de cache
Console
O uso de tags de cache para invalidação não é aceito no console do Google Cloud.
gcloud
Use o
comando gcloud beta compute url-maps invalidate-cdn-cache
.
gcloud beta compute url-maps invalidate-cdn-cache URL_MAP_NAME \ --tags=TAGS
Substitua:
URL_MAP_NAME
: o nome do mapa de URLTAGS
: uma tag ou uma lista de tags separadas por vírgulas. Como alternativa, é possível especificar essa flag até 10 vezes.
Por exemplo, se a resposta do back-end incluir um cabeçalho Cache-Tag
com um
ID de usuário opaco, como um UUID4 ou outra forma de GUID, é possível
invalidar todo o conteúdo de um usuário específico usando a flag tag
.
Além disso, para invalidar o conteúdo de apenas um host, como o
ambiente de preparo, adicione a flag --host
.
gcloud beta compute url-maps invalidate-cdn-cache url_map_1 \ --tags="1115b8f4-f804-4861-9629-8cb9aecdeeb3" \ --host="host1.com"
API
Use a
chamada de API do
método urlMaps.invalidateCache
.
POST https://compute.googleapis.com/compute/beta/projects/PROJECT_ID/global/urlMaps/URL_MAP_NAME/invalidateCache
Substitua:
PROJECT_ID
: o ID do projeto do console do Google Cloud.URL_MAP_NAME
: o nome do mapa de URL
Para especificar tags de cache para invalidação, use o seguinte exemplo de corpo de solicitação JSON:
{ "tags": "tag1,tag2" }
É possível especificar uma única tag ou uma lista de tags separadas por vírgulas.
Para invalidar por tags de cache de apenas um host, use o seguinte exemplo de corpo de solicitação JSON:
{ "host": "host1.com", "path": "tag1,tag2" }
Invalidar tudo
Console
- No console do Google Cloud, acesse a página do Cloud CDN.
- Em Balanceadores de carga associados, clique no nome do balanceador de carga.
- Clique na guia Invalidação de cache.
- Insira apenas a raiz e o caractere curinga (
/*
).- Se quiser invalidar tudo para todos os nomes de host, insira somente
/*
no campo. - Se quiser invalidar tudo para um único nome de host, especifique o nome do host como parte do caminho, por exemplo,
host1.com/*
.
- Se quiser invalidar tudo para todos os nomes de host, insira somente
- Clique em Invalidar.
gcloud
Use o
comando gcloud compute url-maps invalidate-cdn-cache
.
gcloud compute url-maps invalidate-cdn-cache URL_MAP_NAME \ --path "/*"
Substitua:
URL_MAP_NAME
: o nome do mapa de URL/*
: o caminho do URL que você quer invalidar; não inclua o nome do host; o caminho pode usar um nome de arquivo explícito ou um caractere curinga
Para invalidar apenas um host, adicione a flag --host
, por
exemplo, --host host1.com
.
gcloud compute url-maps invalidate-cdn-cache URL_MAP_NAME \ --host host1.com \ --path "/*"
API
Use a
chamada de API do
método urlMaps.invalidateCache
.
POST https://compute.googleapis.com/compute/v1/projects/PROJECT_ID/global/urlMaps/URL_MAP_NAME/invalidateCache
Substitua:
PROJECT_ID
: o ID do projeto do console do Google Cloud.URL_MAP_NAME
: o nome do mapa de URL
Para especificar um caminho de URL para invalidação, use o seguinte exemplo de corpo de solicitação JSON:
{ "path": "/*" }
Para invalidar o caminho do URL de apenas um host, use o seguinte exemplo de corpo da solicitação JSON:
{ "host": "host1.com", "path": "/*" }
Conferir o status da sua solicitação de invalidação
O Cloud CDN emite duas linhas de registro por invalidação, uma quando a invalidação é aceita e outra quando ela é concluída. A primeira tem as informações de host e caminho.
Para conferir o status da solicitação de invalidação ou encontrar uma lista definitiva de solicitações enviadas recentemente, use o Cloud Logging ou o Cloud Monitoring.
Confira a seguir um exemplo de comando que usa a geração de registros:
gcloud logging read 'protoPayload.methodName="v1.compute.urlMaps.invalidateCache"' \ --limit=10
Confira a seguir um exemplo de consulta que usa a Monitoração:
protoPayload.serviceName="compute.googleapis.com" protoPayload.methodName="v1.compute.urlMaps.invalidateCache"
A seguir
- Para verificar se o Cloud CDN está exibindo respostas a partir do cache, consulte Como visualizar registros.
- Para saber qual conteúdo é armazenável em cache ou não, consulte Visão geral do armazenamento em cache.