Esta página descreve como invalidar o conteúdo em cache da RFC na nuvem.
Por exemplo, se um ficheiro localizado em /images/file.jpg
tiver sido colocado em cache e precisar de ser invalidado, pode usar vários métodos para o invalidar, consoante queira afetar apenas esse ficheiro ou um âmbito mais amplo. Em cada caso,
pode invalidar para todos os nomes de anfitriões ou apenas para um nome de anfitrião.
Para saber mais sobre a invalidação de cache, consulte o artigo Vista geral da invalidação de cache.
Antes de começar
Pode usar a Google Cloud CLI ou a Google Cloud consola para fazer invalidações.
Pode aceder à CLI gcloud de duas formas:
Instale a CLI Google Cloud seguindo as instruções em Instalar com o
apt-get
. Se não tiver usado a CLI do Google Cloud anteriormente, execute primeiro o comandogcloud init
para fazer a autenticação.Use o Cloud Shell, que já tem o
gcloud
instalado.
Para criar uma função personalizada com as autorizações necessárias, consulte o artigo Crie e faça a gestão de funções personalizadas.
Para adicionar uma função predefinida, use o início rápido do IAM.
Invalide apenas um ficheiro
Consola
Na Google Cloud consola, aceda à página Cloud CDN.
Clique numa origem.
Clique no separador Invalidação da cache.
Para Balanceadores de carga associados, selecione o balanceador de carga.
Em Especifique objetos a invalidar, faça o seguinte:
- Para Anfitrião, a menos que queira invalidar o caminho para todos os nomes de anfitrião, especifique um nome de anfitrião.
- Para Caminho, especifique o caminho e o nome do ficheiro, por exemplo:
/images/file.jpg
.
Clique em Anular.
gcloud
Use o comando
gcloud compute url-maps invalidate-cdn-cache
.
Para especificar apenas um ficheiro para invalidação, use a flag --path
com o nome do ficheiro.
gcloud compute url-maps invalidate-cdn-cache URL_MAP_NAME \ --path "/images/file.jpg"
Substitua URL_MAP_NAME
pelo nome do seu mapa de URLs. Para apresentar uma lista dos seus mapeamentos de URLs, use o comando gcloud compute url-maps list
.
Para invalidar apenas um anfitrião, 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 predefinição, a CLI gcloud aguarda até que a invalidação esteja concluída. Para realizar a invalidação em segundo plano, anexe --async
à linha de comandos.
API
Use o
urlMaps.invalidateCache
método.
POST https://compute.googleapis.com/compute/v1/projects/PROJECT_ID/global/urlMaps/URL_MAP_NAME/invalidateCache
Substitua o seguinte:
PROJECT_ID
: o Google Cloud ID do projeto da consolaURL_MAP_NAME
: o nome do mapa de URLs
Para especificar um ficheiro para invalidação, use o seguinte exemplo de corpo do pedido JSON:
{ "path": "/images/file.jpg" }
Para invalidar o ficheiro apenas para um anfitrião, use o seguinte exemplo de corpo do pedido JSON:
{ "host": "host1.com", "path": "/images/file.jpg" }
Invalidar todo o diretório
Consola
Na Google Cloud consola, aceda à página Cloud CDN.
Clique numa origem.
Clique no separador Invalidação da cache.
Para Balanceadores de carga associados, selecione o balanceador de carga.
Em Especifique objetos a invalidar, faça o seguinte:
- Para Anfitrião, a menos que queira invalidar o caminho para todos os nomes de anfitrião, especifique um nome de anfitrião.
- Para Caminho, especifique o caminho e um asterisco como um caráter universal, por exemplo,
/images/*
.
Clique em Anular.
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 URLs.
Para invalidar apenas um anfitrião, 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 o
urlMaps.invalidateCache
método.
POST https://compute.googleapis.com/compute/v1/projects/PROJECT_ID/global/urlMaps/URL_MAP_NAME/invalidateCache
Substitua o seguinte:
PROJECT_ID
: o Google Cloud ID do projeto da consolaURL_MAP_NAME
: o nome do mapa de URLs
Para especificar um diretório para invalidação, use o seguinte exemplo de corpo do pedido JSON:
{ "path": "/images/*" }
Para invalidar um diretório para apenas um anfitrião, use o seguinte corpo do pedido JSON de exemplo:
{ "host": "host1.com", "path": "/images/*" }
Invalide por etiquetas de cache
Consola
Na Google Cloud consola, aceda à página Cloud CDN.
Clique numa origem.
Clique no separador Invalidação da cache.
Para Balanceadores de carga associados, selecione o balanceador de carga.
Em Especificar objetos a invalidar, para Etiquetas de cache, especifique uma ou mais etiquetas a invalidar. Use espaços ou vírgulas para separar etiquetas.
Clique em Anular.
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 o seguinte:
URL_MAP_NAME
: o nome do mapa de URLsTAGS
: uma etiqueta ou uma lista de etiquetas separadas por vírgulas; em alternativa, pode especificar esta flag até 10 vezes
Por exemplo, se a resposta do back-end incluir um cabeçalho Cache-Tag
com um ID do utilizador opaco, como um UUID4 ou outra forma de GUID, pode invalidar todo o conteúdo de um utilizador específico através da flag tag
.
Além disso, para invalidar conteúdo apenas para um anfitrião, como o seu ambiente de teste, 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 o
urlMaps.invalidateCache
método.
POST https://compute.googleapis.com/compute/beta/projects/PROJECT_ID/global/urlMaps/URL_MAP_NAME/invalidateCache
Substitua o seguinte:
PROJECT_ID
: o Google Cloud ID do projeto da consolaURL_MAP_NAME
: o nome do mapa de URLs
Para especificar etiquetas de cache para invalidação, use o seguinte exemplo de corpo do pedido JSON:
{ "cacheTags": [ "tag1", "tag2" ] }
Pode especificar uma única etiqueta ou uma lista de etiquetas separadas por vírgulas.
Para invalidar por etiquetas de cache apenas para um anfitrião, use o seguinte corpo do pedido JSON de exemplo:
{ "host": "host1.com", "path": "tag1,tag2" }
Invalidar tudo
Embora possa invalidar tudo, esta ação é potencialmente arriscada. Avalie cuidadosamente os seus requisitos antes de continuar.
Consola
Na Google Cloud consola, aceda à página Cloud CDN.
Clique numa origem.
Clique no separador Invalidação da cache.
Para Balanceadores de carga associados, selecione o balanceador de carga.
Em Especifique objetos a invalidar, faça o seguinte:
- Para Anfitrião, a menos que queira invalidar o caminho para todos os nomes de anfitrião, especifique um nome de anfitrião.
- Para Caminho, use um asterisco, por exemplo,
/*
.
Clique em Anular e, de seguida, em Confirmar para indicar que quer que o Cloud CDN anule tudo.
gcloud
Use o comando
gcloud compute url-maps invalidate-cdn-cache
.
gcloud compute url-maps invalidate-cdn-cache URL_MAP_NAME \ --path "/*"
Substitua o seguinte:
URL_MAP_NAME
: o nome do mapa de URLs/*
: o caminho do URL que quer invalidar; não inclui o nome do anfitrião; o caminho pode usar um nome de ficheiro explícito ou um asterisco como caráter universal
Para invalidar apenas um anfitrião, 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 o
urlMaps.invalidateCache
método.
POST https://compute.googleapis.com/compute/v1/projects/PROJECT_ID/global/urlMaps/URL_MAP_NAME/invalidateCache
Substitua o seguinte:
PROJECT_ID
: o Google Cloud ID do projeto da consolaURL_MAP_NAME
: o nome do mapa de URLs
Para especificar um caminho de URL para a invalidação, use o seguinte exemplo de corpo do pedido JSON:
{ "path": "/*" }
Para invalidar o caminho de URL apenas para um anfitrião, use o seguinte corpo do pedido JSON de exemplo:
{ "host": "host1.com", "path": "/*" }
Veja o estado do seu pedido de invalidação
A RFC na nuvem emite duas linhas de registo por invalidação, uma quando a invalidação é aceite e outra quando está concluída. O primeiro tem as informações do anfitrião e do caminho.
Para ver o estado do seu pedido de invalidação ou encontrar uma lista definitiva de pedidos enviados recentemente, pode usar o Cloud Logging ou o Cloud Monitoring.
Consola
Na Google Cloud consola, aceda à página Cloud CDN.
Clique numa origem.
Clique no separador Invalidação da cache.
Para ver o estado e os resultados do pedido de invalidação, clique em Aceder ao Cloud Logging.
gcloud
Segue-se um exemplo de comando que usa o Logging:
gcloud logging read 'protoPayload.methodName="v1.compute.urlMaps.invalidateCache"' \ --limit=10
Segue-se um exemplo de consulta que usa a monitorização:
protoPayload.serviceName="compute.googleapis.com" protoPayload.methodName="v1.compute.urlMaps.invalidateCache"
O que se segue?
- Para verificar se o Cloud CDN está a enviar respostas da cache, consulte a secção Ver registos.
- Para saber que conteúdo é armazenável em cache ou não, consulte o artigo Vista geral da colocação em cache.