Esta página descreve como 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, será possível usar vários métodos para invalidá-lo, dependendo
de você querer afetar apenas esse arquivo ou 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 do Google Cloud 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 tiver usado a CLI do Google Cloud, primeiro executegcloud init
para autenticar.Use o Cloud Shell, que já vem com o
gcloud
instalado.
Para criar um papel personalizado com as permissões necessárias, consulte Como criar e gerenciar funções personalizadas.
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 Cloud CDN.
Clique em uma origem.
Clique na guia Invalidação de cache.
Em Balanceadores de carga associados, selecione o balanceador de carga.
Em Especificar objetos por invalidar, faça o seguinte:
- Em Host, especifique um nome do host, a menos que você queira invalidar o caminho para todos os nomes de host.
- Em Caminho, especifique o caminho e o nome do arquivo, por exemplo,
/images/file.jpg
.
Clique em Invalidar.
gcloud
Use o
comando gcloud compute url-maps invalidate-cdn-cache
.
Para especificar apenas um arquivo para invalidação, use a sinalização --path
com o
nome de arquivo.
gcloud compute url-maps invalidate-cdn-cache URL_MAP_NAME \ --path "/images/file.jpg"
Substitua URL_MAP_NAME
pelo nome do
mapa de URL. Para listar seus os mapas de URLs, use o
comando gcloud compute url-maps list
.
Para fazer a invalidação em apenas um host, adicione a sinalização --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 CLI do Google Cloud aguarda a conclusão da
invalidação. Para realizar a invalidação em segundo plano, anexe --async
à linha de comando.
API
Use o 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 CloudURL_MAP_NAME
: o nome do mapa de URL.
Para especificar um arquivo para invalidação, use o seguinte exemplo de corpo da solicitação JSON:
{ "path": "/images/file.jpg" }
Para invalidar o arquivo em 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 Cloud CDN.
Clique em uma origem.
Clique na guia Invalidação de cache.
Em Balanceadores de carga associados, selecione o balanceador de carga.
Em Especificar objetos por invalidar, faça o seguinte:
- Em Host, especifique um nome do host, a menos que você queira invalidar o caminho para todos os nomes de host.
- Em Caminho, especifique o caminho e um asterisco como
caractere curinga, por exemplo,
/images/*
.
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
mapa de URL.
Para fazer a invalidação em apenas um host, adicione a sinalização --host
. Por
exemplo, --host host1.com
.
gcloud compute url-maps invalidate-cdn-cache URL_MAP_NAME \ --host host1.com \ --path "/images/*"
API
Use o 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 CloudURL_MAP_NAME
: o nome do mapa de URL.
Para especificar um diretório para invalidação, use o seguinte exemplo de corpo da solicitação JSON:
{ "path": "/images/*" }
Para invalidar um diretório em apenas um host, use o seguinte exemplo de corpo da solicitação JSON:
{ "host": "host1.com", "path": "/images/*" }
Invalidar por tags de cache
Console
No console do Google Cloud , acesse a página Cloud CDN.
Clique em uma origem.
Clique na guia Invalidação de cache.
Em Balanceadores de carga associados, selecione o balanceador de carga.
Em Especificar objetos para invalidar, em Tags de cache, especifique uma ou mais tags para invalidar. Use espaços ou vírgulas para separar as tags.
Clique em Invalidar.
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 URL.TAGS
: uma tag ou uma lista separada por vírgulas de tags. Também é possível especificar essa sinalização até 10 vezes.
Por exemplo, se a resposta do back-end incluir um cabeçalho Cache-Tag
com um
ID do usuário opaco, como um UUID4 ou outra forma de GUID, você poderá
invalidar todo o conteúdo de um usuário específico usando a sinalização tag
.
Além disso, para invalidar o conteúdo de apenas um host, como seu
ambiente de teste, adicione a sinalização --host
.
gcloud beta compute url-maps invalidate-cdn-cache url_map_1 \ --tags="1115b8f4-f804-4861-9629-8cb9aecdeeb3" \ --host="host1.com"
API
Use o 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 CloudURL_MAP_NAME
: o nome do mapa de URL.
Para especificar tags de cache para invalidação, use o seguinte exemplo de corpo da solicitação JSON:
{ "cacheTags": [ "tag1", "tag2" ] }
É possível especificar uma única tag ou uma lista separada por vírgulas de tags.
Para invalidar por tags de cache apenas para um host, use o seguinte exemplo de corpo da solicitação JSON:
{ "host": "host1.com", "path": "tag1,tag2" }
Invalidar tudo
Embora seja possível invalidar tudo, isso pode ser arriscado. Avalie seus requisitos com atenção antes de continuar.
Console
No console do Google Cloud , acesse a página Cloud CDN.
Clique em uma origem.
Clique na guia Invalidação de cache.
Em Balanceadores de carga associados, selecione o balanceador de carga.
Em Especificar objetos por invalidar, faça o seguinte:
- Em Host, especifique um nome do host, a menos que você queira invalidar o caminho para todos os nomes de host.
- Em Caminho, use um asterisco, por exemplo,
/*
.
Clique em Invalidar e em Confirmar para indicar que você quer que Cloud CDN invalide tudo.
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 asterisco como caractere curinga
Para fazer a invalidação em apenas um host, adicione a sinalização --host
. Por
exemplo, --host host1.com
.
gcloud compute url-maps invalidate-cdn-cache URL_MAP_NAME \ --host host1.com \ --path "/*"
API
Use o 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 CloudURL_MAP_NAME
: o nome do mapa de URL.
Para especificar um caminho do URL para invalidação, use o seguinte exemplo de corpo da solicitação JSON:
{ "path": "/*" }
Para invalidar um caminho do URL de apenas um host, use o seguinte exemplo de corpo da solicitação JSON:
{ "host": "host1.com", "path": "/*" }
Visualize 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 visualizar 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.
Console
No console do Google Cloud , acesse a página Cloud CDN.
Clique em uma origem.
Clique na guia Invalidação de cache.
Para visualizar o status e os resultados da solicitação de invalidação, clique em Acessar o Cloud Logging.
gcloud
Confira a seguir um exemplo de comando que usa o Cloud Logging:
gcloud logging read 'protoPayload.methodName="v1.compute.urlMaps.invalidateCache"' \ --limit=10
Confira a seguir um exemplo de consulta que usa o Monitoring:
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 aprender mais sobre que conteúdo é armazenável em cache ou não, consulte Visão geral do armazenamento em cache.