O que você precisa saber ao invalidar arquivos - Amazon CloudFront

O que você precisa saber ao invalidar arquivos

Ao especificar um arquivo para invalidar, consulte as seguintes informações:

Diferenciação de letras maiúsculas e minúsculas

Os caminhos de invalidação diferenciam letras maiúsculas de minúsculas. Por exemplo, /images/image.jpg e /images/Image.jpg especificam dois arquivos diferentes.

Alterar o URI usando uma função do Lambda

Se a distribuição do CloudFront acionar uma função do Lambda nos eventos de solicitação do visualizador, e se a função alterar o URI do arquivo solicitado, recomendamos invalidar os dois URIs para remover o arquivo dos caches de borda do CloudFront:

  • O URI na solicitação do visualizador

  • O URI após a alteração pela função

exemplo Exemplo

Suponha que a função do Lambda altere o URI de um arquivo de:

https://d111111abcdef8.cloudfront.net/index.html

Para um URI que inclui um diretório de linguagem:

https://d111111abcdef8.cloudfront.net/en/index.html

Para invalidar o arquivo, é necessário especificar os seguintes caminhos:

  • /index.html

  • /en/index.html

Para obter mais informações, consulte Invalidation paths.

Objeto raiz padrão

Para invalidar o objeto raiz padrão (arquivo), especifique o caminho da mesma forma que especificaria o caminho de qualquer outro arquivo. Para obter mais informações, consulte Como funciona o objeto raiz padrão.

Encaminhamento de cookies

Se você configurou o CloudFront para encaminhar cookies para a origem, os caches de borda do CloudFront poderão conter várias versões do arquivo. Ao invalidar um arquivo, o CloudFront invalida cada versão do arquivo armazenada em cache, independentemente de seus cookies associados. Você não pode invalidar seletivamente algumas versões, mas não outras, com base nos cookies associados. Para obter mais informações, consulte Conteúdo em cache com base em cookies.

Encaminhamento de cabeçalhos

Se você configurar o CloudFront para encaminhar uma lista de cabeçalhos para a origem e armazenar em cache com base nos valores dos cabeçalhos, os caches de borda do CloudFront poderão conter várias versões do arquivo. Ao invalidar um arquivo, o CloudFront invalida cada versão do arquivo armazenada em cache, independentemente dos valores de cabeçalho. Você não pode invalidar seletivamente algumas versões, mas não outras, com base nos valores de cabeçalho. (Se você configurar o CloudFront para encaminhar todos os cabeçalhos para a origem, o CloudFront não armazenará seus arquivos em cache.) Para obter mais informações, consulte Conteúdo em cache com base nos cabeçalhos de solicitação.

Encaminhamento de query strings

Se você configurar o CloudFront para encaminhar strings de consulta para a origem, deverá inclui-las ao invalidar arquivos, como mostrado nestes exemplos:

  • /images/image.jpg?parameter1=a

  • /images/image.jpg?parameter1=b

Se as solicitações do cliente incluírem cinco query strings diferentes para o mesmo arquivo, você poderá invalidar o arquivo cinco vezes, uma vez para cada query string, ou usar o curinga "*" no caminho de invalidação, como mostrado neste exemplo:

/images/image.jpg*

Para obter mais informações sobre como usar curingas no caminho de invalidação, consulte Invalidation paths.

Para obter mais informações sobre query strings, consulte Conteúdo em cache com base em parâmetros de string de consulta.

Para determinar quais strings de consulta estão em uso, habilite o registro em log no CloudFront. Para obter mais informações, consulte Configurar e usar logs padrão (logs de acesso).

Máximo permitido

Consulte mais informações sobre o número máximo de invalidações permitidas em Máximo de solicitações de invalidação simultâneas.

Arquivos do Microsoft Smooth Streaming

Não será possível invalidar arquivos de mídia no formato Microsoft Smooth Streaming se o Smooth Streaming estiver habilitado para o comportamento de cache correspondente.

Caracteres não ASCII ou não seguros no caminho

Se o caminho incluir caracteres não ASCII ou não seguros, conforme definido na RFC 1738, codifique-os por URL. Não codifique em URL outros caracteres do caminho; caso contrário, o CloudFront não invalidará a versão antiga do arquivo atualizado.

Caminhos de invalidação

O caminho é relativo à distribuição. Por exemplo, para invalidar o arquivo em https://d111111abcdef8.cloudfront.net/images/image2.jpg, seria necessário especificar /images/image2.jpg.

nota

No Console do CloudFront, é possível omitir a barra à esquerda no caminho, da seguinte forma: images/image2.jpg. Ao usar a API do CloudFront diretamente, os caminhos de invalidação devem começar com uma barra à esquerda.

Você também pode invalidar vários arquivos simultaneamente usando o curinga *. O *, que substitui 0 ou mais caracteres, deve ser o último caractere no caminho de invalidação.

Se você usar a AWS Command Line Interface (AWS CLI) para invalidar arquivos e especificar um caminho que inclua o curinga *, será necessário colocar o caminho entre aspas ("), como "/*".

exemplo Exemplo: caminhos de invalidação
  • Para invalidar todos os arquivos em um diretório:

    /directory-path/*

  • Para invalidar um diretório, todos os respectivos subdiretórios e todos os arquivos no diretório e nos subdiretórios:

    /directory-path*

  • Para invalidar todos os arquivos com o mesmo nome, mas com diferentes extensões de nome de arquivo, como logo.jpg, logo.png e logo.gif:

    /directory-path/file-name.*

  • Para invalidar todos os arquivos de um diretório com nome de arquivo começando com os mesmos caracteres (como todos os arquivos de um vídeo no formato HLS), independentemente da extensão do nome do arquivo:

    /directory-path/initial-characters-in-file-name*

  • Ao configurar o CloudFront para armazenamento em cache com base nos parâmetros da string de consulta e você quiser invalidar todas as versões de um arquivo:

    /directory-path/file-name.file-name-extension*

  • Para invalidar todos os arquivos em uma distribuição:

    /*

O tamanho máximo de um caminho é 4.000 caracteres. Não é possível usar um caractere curinga no caminho. Ele só pode ser adicionado ao final do caminho.

Para obter informações sobre a invalidação de arquivos ao usar uma função do Lambda para alterar o URI, consulte Changing the URI Using a Lambda Function.

Se o caminho de invalidação for um diretório e você não padronizou um método para especificar os diretórios (com ou sem uma barra (/) no final), recomendamos invalidar o diretório com e sem a barra no final, por exemplo, /images e /images/.

Signed URLs

Se você estiver usando URLs assinados, invalide um arquivo incluindo apenas a parte do URL antes do ponto de interrogação (?).