

# Invalidar arquivos para remover conteúdo
<a name="Invalidation"></a>

Se você precisar remover um arquivo de caches de borda do CloudFront antes de ele expirar, poderá executar uma das seguintes ações:
+ Invalidar o arquivo dos pontos de presença de caches. Na próxima vez que um visualizador solicitar o arquivo, o CloudFront recorrerá à origem para obter a versão mais recente do arquivo.
+ Usar o versionamento de arquivos para fornecer uma versão diferente do arquivo com um nome diferente. Para obter mais informações, consulte [Atualizar arquivos existentes usando nomes de arquivos com versão](UpdatingExistingObjects.md#ReplacingObjects).

**Topics**
+ [

## Escolher entre invalidar arquivos e usar nomes de arquivos com versionamento
](#Invalidation_Expiration)
+ [

# Determinar quais arquivos invalidar
](invalidation-access-logs.md)
+ [

# O que você precisa saber ao invalidar arquivos
](invalidation-specifying-objects.md)
+ [

# Invalidar arquivos
](Invalidation_Requests.md)
+ [

# Máximo de solicitações de invalidação simultâneas
](InvalidationLimits.md)
+ [

# Pagar pela invalidação de arquivos
](PayingForInvalidation.md)

## Escolher entre invalidar arquivos e usar nomes de arquivos com versionamento
<a name="Invalidation_Expiration"></a>

Para controlar as versões de arquivos fornecidos da distribuição, você pode invalidá-los ou dar a eles nomes de arquivo com versão. Se quiser atualizar os arquivos com frequência, recomendamos dar preferência ao versionamento de arquivos, pelos seguintes motivos:
+ O versionamento possibilita controlar o arquivo retornado por uma solicitação mesmo quando o usuário tem uma versão armazenada em cache localmente ou atrás de um proxy de armazenamento em cache corporativo. Se você invalidar o arquivo, o usuário continuará vendo a versão antiga até ela expirar desses caches.
+ Os logs de acesso do CloudFront incluem os nomes dos arquivos, portanto, o versionamento facilita a análise dos resultados de alterações nos arquivos.
+ O versionamento é uma maneira de fornecer diferentes versões de arquivos para diferentes usuários.
+ O versionamento simplifica o uso de versões mais antigas e mais recentes de revisões de arquivo.
+ O versionamento é menos caro. Você precisa pagar para o CloudFront transferir novas versões de seus arquivos para pontos de presença, mas não pela invalidação de arquivos. 

Para obter mais informações sobre versionamento de arquivo, consulte [Atualizar arquivos existentes usando nomes de arquivos com versão](UpdatingExistingObjects.md#ReplacingObjects).

# Determinar quais arquivos invalidar
<a name="invalidation-access-logs"></a>

Se você quiser invalidar vários arquivos, como todos os arquivos de um diretório ou cujos nomes começam com os mesmos caracteres, inclua o curinga `*` no final do caminho de invalidação. Para obter mais informações sobre como usar o curinga `*`, consulte [Invalidation paths](invalidation-specifying-objects.md#invalidation-specifying-objects-paths).

Para invalidar arquivo, você pode especificar o caminho de cada arquivo ou um caminho que termine com o curinga `*`, que pode se aplicar a um ou vários arquivos, como mostrado nestes exemplos:
+ `/images/image1.jpg`
+ `/images/image*`
+ `/images/*`

Para invalidar arquivos selecionados, mas os usuários não necessariamente acessam todos os arquivos na origem, determine quais arquivos os visualizadores solicitaram do CloudFront e invalide-os. Para determinar quais arquivos os visualizadores solicitaram, habilite o registro em log de acesso do CloudFront. Para obter mais informações sobre os logs de acesso, consulte [Logs de acesso (logs padrão)](AccessLogs.md).

# O que você precisa saber ao invalidar arquivos
<a name="invalidation-specifying-objects"></a>

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

**Diferencia maiúsculas de 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

**Example 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](#invalidation-specifying-objects-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](DefaultRootObject.md#DefaultRootObjectHow).

 **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](Cookies.md).

 **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](header-caching.md).

 **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 "\$1" 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](#invalidation-specifying-objects-paths).   
Para obter mais informações sobre query strings, consulte [Conteúdo em cache com base em parâmetros de string de consulta](QueryStringParameters.md).   
Para determinar quais strings de consulta estão em uso, habilite o registro em log no CloudFront. Para obter mais informações, consulte [Logs de acesso (logs padrão)](AccessLogs.md).

**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](InvalidationLimits.md).

 **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](https://tools.ietf.org/html/rfc1738), 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.  
Não use o caractere `~` no caminho. O CloudFront não aceita esse caractere para invalidações, seja ele codificado em URL ou não.

 **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`.  
No [Console do CloudFront](https://console.aws.amazon.com/cloudfront/v4/home), é 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.   
Para usar curingas (\$1) na invalidação, é necessário colocá-los no final do caminho. Os asteriscos (\$1) inseridos em qualquer outro lugar são tratados como uma correspondência literal de caracteres em vez de uma invalidação de curingas.
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 `"/*"`.  
O tamanho máximo de um caminho é 4.000 caracteres.  

**Example 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:

  `/*`
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](#invalidation-lambda-at-edge).  
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 (?). 

# Invalidar arquivos
<a name="Invalidation_Requests"></a>

É possível usar o console do CloudFront para criar e executar uma invalidação, exibir uma lista das invalidações enviadas anteriormente e exibir informações detalhadas sobre uma invalidação específica. Você também pode copiar uma invalidação existente, editar a lista de caminhos de arquivos e executar a invalidação editada. Você não pode remover invalidações da lista.

**Contents**
+ [

## Invalidar arquivos
](#invalidating-objects-console)
+ [

## Copiar, editar e executar novamente uma invalidação existente
](#invalidating-objects-copy-console)
+ [

## Cancelar invalidações
](#canceling-invalidations)
+ [

## Listar invalidações
](#listing-invalidations-console)
+ [

## Exibir informações sobre uma invalidação
](#invalidation-details-console)

## Invalidar arquivos
<a name="invalidating-objects-console"></a>

Para invalidar arquivos usando o console do CloudFront, siga o procedimento a seguir.

------
#### [ Console ]<a name="invalidating-objects-console-procedure"></a>

**Como invalidar arquivos (console)**

1. Faça login no Console de gerenciamento da AWS e abra o console do CloudFront em [https://console.aws.amazon.com/cloudfront/v4/home](https://console.aws.amazon.com/cloudfront/v4/home).

1. Escolha a distribuição para a qual você deseja invalidar arquivos.

1. Escolha a guia **Invalidations**.

1. Escolha **Criar invalidação**.

1. Para os arquivos que você deseja invalidar, insira um caminho de invalidação por linha. Para obter informações sobre como especificar caminhos de invalidação, consulte [O que você precisa saber ao invalidar arquivos](invalidation-specifying-objects.md). 
**Importante**  
Especifique cuidadosamente os caminhos de arquivos. Você não pode cancelar uma solicitação de invalidação depois de iniciá-la.

1. Escolha **Criar invalidação**.

------
#### [ CloudFront API ]

Para saber mais sobre como invalidar objetos e exibir informações sobre invalidações, consulte os seguintes tópicos da *Referência da API do Amazon CloudFront*:
+ [CreateInvalidation](https://docs.aws.amazon.com/cloudfront/latest/APIReference/API_CreateInvalidation.html) 
+ [ListInvalidations](https://docs.aws.amazon.com/cloudfront/latest/APIReference/API_ListInvalidations.html)
+ [GetInvalidation](https://docs.aws.amazon.com/cloudfront/latest/APIReference/API_GetInvalidation.html)

**nota**  
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 o seguinte exemplo:   

```
aws cloudfront create-invalidation --distribution-id distribution_ID --paths "/*"
```

------

## Copiar, editar e executar novamente uma invalidação existente
<a name="invalidating-objects-copy-console"></a>

Você pode copiar uma invalidação criada anteriormente, atualize a lista de caminhos de invalidação e executar a invalidação atualizada. Não é possível copiar uma invalidação existente, atualizar os caminhos de invalidação e salvar a invalidação atualizada sem a executar.

**Importante**  
Se você copiar uma invalidação que ainda está em andamento, atualizar a lista de caminhos de invalidação e executar a invalidação atualizada, o CloudFront não interromperá nem excluirá a invalidação copiada. Se qualquer caminho de invalidação for exibido no original e na cópia, o CloudFront tentará invalidar os arquivos duas vezes, e as duas invalidações serão contabilizadas no número máximo de invalidações gratuitas para o mês. Se você já tiver atingido o número máximo de invalidações gratuitas, as invalidações de cada arquivo serão cobradas. Para obter mais informações, consulte [Máximo de solicitações de invalidação simultâneas](InvalidationLimits.md).<a name="invalidating-objects-copy-console-procedure"></a>

**Para copiar, editar e reexecutar uma invalidação existente**

1. Faça login no Console de gerenciamento da AWS e abra o console do CloudFront em [https://console.aws.amazon.com/cloudfront/v4/home](https://console.aws.amazon.com/cloudfront/v4/home).

1. Selecione a distribuição que contém a invalidação que deseja copiar.

1. Escolha a guia **Invalidations**.

1. Escolha a invalidação que você deseja copiar.

   Se não tiver certeza de qual invalidação deseja copiar, escolha uma invalidação e selecione **Visualizar detalhes** para exibir informações detalhadas sobre ela.

1. Escolha **Copiar para novo**.

1. Atualize a lista de caminhos de invalidação, se aplicável.

1. Escolha **Criar invalidação**.

## Cancelar invalidações
<a name="canceling-invalidations"></a>

Ao enviar uma solicitação de invalidação ao CloudFront, o CloudFront encaminhará a solicitação a todos os pontos de presença em alguns segundos, e cada ponto de presença iniciará o processamento da invalidação imediatamente. Consequentemente, não é possível cancelar uma invalidação após o envio.

## Listar invalidações
<a name="listing-invalidations-console"></a>

É possível exibir uma lista das últimas 100 invalidações criadas e executadas para uma distribuição usando o console do CloudFront. Se quiser obter uma lista com mais de 100 invalidações, use a operação de API `ListInvalidations`. Para obter mais informações, consulte [ListInvalidations](https://docs.aws.amazon.com/cloudfront/latest/APIReference/API_ListInvalidations.html) na *Referência da API do Amazon CloudFront*.<a name="listing-invalidations-console-procedure"></a>

**Para listar invalidações**

1. Faça login no Console de gerenciamento da AWS e abra o console do CloudFront em [https://console.aws.amazon.com/cloudfront/v4/home](https://console.aws.amazon.com/cloudfront/v4/home).

1. Selecione a distribuição para a qual deseja exibir uma lista de invalidações.

1. Escolha a guia **Invalidations**.

**nota**  
Você não pode remover invalidações da lista.

## Exibir informações sobre uma invalidação
<a name="invalidation-details-console"></a>

Você pode exibir informações detalhadas sobre uma invalidação, inclusive o ID da distribuição, ID da invalidação, status da invalidação, data e hora de criação da invalidação e uma lista completa dos caminhos de invalidação. <a name="invalidation-details-console-procedure"></a>

**Para exibir informações sobre uma invalidação**

1. Faça login no Console de gerenciamento da AWS e abra o console do CloudFront em [https://console.aws.amazon.com/cloudfront/v4/home](https://console.aws.amazon.com/cloudfront/v4/home).

1. Selecione a distribuição que contém a invalidação cujas informações detalhadas você deseja exibir.

1. Escolha a guia **Invalidations**.

1. Escolha o ID de invalidação aplicável ou o ID de invalidação e selecione **Visualizar detalhes**.

# Máximo de solicitações de invalidação simultâneas
<a name="InvalidationLimits"></a>

Se você estiver invalidando arquivos individualmente, poderá ter solicitações de invalidação de até 3.000 arquivos por distribuição em andamento ao mesmo tempo. Isso pode ser uma solicitação de invalidação para até 3.000 arquivos, até 3.000 solicitações para um arquivo ou qualquer outra combinação que não ultrapasse 3.000 arquivos. Por exemplo, você pode enviar 30 solicitações de invalidação de 100 arquivos cada. Enquanto as 30 solicitações de invalidação estiverem em andamento, não será possível enviar mais solicitações de invalidação. Se você exceder o número máximo, o CloudFront retornará uma mensagem de erro.

Se estiver usando o curinga “\$1”, poderá ter solicitações de até 15 caminhos de invalidação em andamento ao mesmo tempo. Você também pode ter solicitações de invalidação de até 3.000 arquivos individuais por distribuição em andamento ao mesmo tempo. O máximo de solicitações de invalidação de curinga não depende do máximo de arquivos de invalidação individuais.

# Pagar pela invalidação de arquivos
<a name="PayingForInvalidation"></a>

Os 1.000 primeiros caminhos de invalidação enviados por mês são gratuitos. Você paga por caminho de invalidação que ultrapassar esse número em um mês. Um caminho de invalidação que pode ser para um único arquivo (como `/images/logo.jpg`) ou para vários arquivos (como `/images/*`). Um caminho que inclui o curinga `*` conta como um caminho, mesmo que ele faça com que o CloudFront invalide milhares de arquivos.

O máximo de 1.000 caminhos de invalidação gratuitos por mês se aplica ao número total de caminhos de invalidação em todas as distribuições criadas com uma conta da Conta da AWS. Por exemplo, se você usar a Conta da AWS `john@example.com` para criar 3 distribuições e enviar 600 caminhos de invalidação para *cada distribuição* em um mês (para um total de 1.800 caminhos de invalidação), a AWS cobrará a diferença entre o total de caminhos de invalidação e o limite gratuito de 1.000. Neste exemplo, a AWS cobraria por 800 caminhos de invalidação no mês em questão.

A cobrança para enviar um caminho de invalidação é a mesma, independentemente do número de arquivos sendo invalidados: um único arquivo (`/images/logo.jpg`) ou todos os arquivos associados a uma distribuição (`/*`). Como a cobrança é feita por caminho na solicitação de invalidação, mesmo que você agrupe vários caminhos em uma única solicitação, cada um deles ainda assim será contabilizado individualmente para fins de cobrança. 

Consulte mais informações sobre o preço de invalidação em [Preço do Amazon CloudFront](https://aws.amazon.com/cloudfront/pricing/). Para obter mais informações sobre os caminhos de invalidação, consulte [Invalidation paths](invalidation-specifying-objects.md#invalidation-specifying-objects-paths).