---
name: azion-purgue-paginas-quando-a-origem-publica-uma-mudanca
description: >-
  Envie um purge pelo seu sistema de publicação quando o conteúdo muda: por URL a cada salvamento e por wildcard só quando imagens mudam.
---

# Purgue páginas quando a origem publica uma mudança

Você faz um sistema de publicação, como um CMS, uma plataforma de e-commerce ou um pipeline de build, purgar as páginas que ele muda pela Azion API ou pela Azion CLI, e envia o mesmo purge manualmente pelo Azion Console. Para um purge avulso de qualquer tipo, consulte [Purgue conteúdo em cache](/pt-br/documentacao/guias/performance-e-confiabilidade/cache-e-purge/purgar-conteudo-em-cache/).

Uma mudança publicada só chega aos visitantes depois que a cópia em cache sai do cache. O sistema de publicação sabe quais páginas mudaram, então ele envia o purge no momento em que as salva, e o TTL do cache fica como um limite de segurança para um purge que não for enviado.

```mermaid
%%{init: {"layout": "dagre", "themeVariables": {"fontSize": "13px"}, "flowchart": {"nodeSpacing": 12, "rankSpacing": 12, "padding": 6, "wrappingWidth": 70, "minNodeWidth": 40, "useMaxWidth": true}}}%%
flowchart TD
  Save["A origem salva uma mudança"] --> Url["Purge por URL: a página e as páginas que a listam"]
  Save --> Images{"As imagens mudaram?"}
  Images -->|"sim"| Wild["Purge por wildcard: todos os tamanhos e formatos das imagens"]
  Images -->|"não"| Skip["Nenhum purge de imagem"]
  Url --> History["O purge aparece no histórico de purges"]
  Wild --> History
  History --> Miss["A requisição seguinte carrega x-cache: MISS"]
```

1. A cada salvamento, o sistema de publicação envia um purge por URL da página alterada e das páginas que a listam.
2. Só quando o salvamento muda imagens, ele também envia um purge por wildcard de todos os tamanhos e formatos dessas imagens.
3. Cada purge aparece no histórico de purges quando termina, e a requisição seguinte por cada objeto chega à origem.

---

## Pré-requisitos

- Um domínio que pertença à sua conta, servido por uma aplicação. Um purge de qualquer outro domínio é rejeitado com o erro `30003`.
- Um [personal token](/pt-br/documentacao/guias/plataforma/conta-e-billing/personal-tokens/) para a API e a CLI. Um token expira 1 dia depois de criado, a menos que você escolha uma expiração maior, então defina uma que cubra o tempo em que o sistema de publicação roda e substitua o token antes que ele expire.
- A [Azion CLI](/pt-br/documentacao/devtools/cli/) instalada e autorizada, para o procedimento pela CLI.
- Acesso ao Azion Console, para o procedimento pelo Console. Consulte [Acesse o Azion Console](/pt-br/documentacao/guias/plataforma/conta-e-billing/como-acessar-o-azion-console/).

Os exemplos purgam a página de produto `https://www.example.com/products/blue-shirt`, a sua página de categoria `https://www.example.com/category/shirts` e as imagens em `www.example.com/media/blue-shirt`. Substitua-os pelos objetos que o seu salvamento muda.

---

## Purgue as páginas alteradas a cada salvamento

Um purge por URL remove as URLs exatas que lista. Ele não é recursivo, então liste cada página que a mudança afeta: a própria página e cada página que mostra o conteúdo alterado, como uma página de categoria ou uma página inicial. Uma requisição carrega até 50 URLs. Uma URL sem esquema purga as cópias HTTP e HTTPS.

**Console**

Para enviar o purge por URL manualmente:

1. **Abra o Real-Time Purge**

   Acesse [Azion Console](https://console.azion.com/) > **Products Menu** > **Real-Time Purge**.

2. **Selecione New Purge**

3. **Escolha o tipo de purge por URL e a camada Cache**

4. **Insira as URLs**

   Insira uma URL por item: `https://www.example.com/products/blue-shirt` e `https://www.example.com/category/shirts`.

5. **Selecione Purge**

Uma mensagem confirma a criação, e a Azion coloca o purge na fila.

**API**

Para enviar o purge por URL pelo sistema de publicação, chame o caminho de purge `url` com o token:

```bash
curl --request POST \
  --url https://api.azion.com/v4/workspace/purge/url \
  --header 'Authorization: Token <personal-token>' \
  --header 'Content-Type: application/json' \
  --data '{"items":["https://www.example.com/products/blue-shirt","https://www.example.com/category/shirts"],"layer":"cache"}'
```

A API responde com HTTP `201` e `state` igual a `executed`:

```json
{"state":"executed","data":{"items":["https://www.example.com/products/blue-shirt","https://www.example.com/category/shirts"],"layer":"cache"}}
```

**CLI**

Para enviar o purge por URL a partir de um script, passe as URLs em uma lista separada por vírgulas:

```bash
azion purge --urls "https://www.example.com/products/blue-shirt,https://www.example.com/category/shirts"
```

O comando imprime uma linha:

```text
Purge carried out successfully
```

As páginas listadas saem do cache quando o purge se propaga. Um purge por URL não alcança as cópias que variam por cookie, device group ou formato de imagem, e a próxima seção trata desse caso para imagens.

---

## Purgue as variações de imagem quando uma imagem muda

O Image Processor guarda em cache uma cópia de uma imagem por tamanho e por formato, e um purge por URL não alcança nenhuma dessas cópias. Um purge por wildcard terminado em `*` alcança todas. Envie-o só quando o salvamento muda uma imagem: a Azion aceita 2.000 requisições de purge por wildcard em um intervalo de 24 horas, e um wildcard a cada salvamento de um catálogo grande pode chegar a esse limite. Uma requisição carrega uma expressão de até 256 caracteres.

**Console**

Para enviar o purge por wildcard manualmente:

1. **Abra o Real-Time Purge**

   Acesse [Azion Console](https://console.azion.com/) > **Products Menu** > **Real-Time Purge**.

2. **Selecione New Purge**

3. **Escolha o tipo de purge por wildcard e a camada Cache**

4. **Insira a expressão**

   Insira `www.example.com/media/blue-shirt*`.

5. **Selecione Purge**

Uma mensagem confirma a criação, e a Azion coloca o purge na fila.

**API**

Para enviar o purge por wildcard, chame o caminho de purge `wildcard` com uma expressão:

```bash
curl --request POST \
  --url https://api.azion.com/v4/workspace/purge/wildcard \
  --header 'Authorization: Token <personal-token>' \
  --header 'Content-Type: application/json' \
  --data '{"items":["www.example.com/media/blue-shirt*"]}'
```

A API responde com HTTP `201` e, sem `layer`, purga `cache`:

```json
{"state":"executed","data":{"items":["www.example.com/media/blue-shirt*"],"layer":"cache"}}
```

**CLI**

Para enviar o purge por wildcard a partir de um script:

```bash
azion purge --wildcard "www.example.com/media/blue-shirt*"
```

O comando imprime uma linha:

```text
Purge carried out successfully
```

Todos os tamanhos e formatos das imagens alteradas saem do cache. Quando o sistema de publicação conhece as variações exatas que serve, um purge por cache key que lista cada key faz o mesmo trabalho sem contar no limite de wildcard. Uma key carrega os argumentos de processamento depois de `?` e o formato depois de `@@`, como em `httpswww.example.com/media/blue-shirt.jpg?ims=400x@@webp`. Para o formato, consulte [Cache keys](/pt-br/documentacao/plataforma/applications/cache/cache-keys/).

> **Atenção**
>
> Purges por URL e por wildcard limpam só a camada do Cache. Em uma aplicação cuja cache setting tem o [Tiered Cache](/pt-br/documentacao/plataforma/applications/cache/tiered-cache/) ativado, purgue primeiro a camada do Tiered Cache com um purge por cache key e depois a camada do Cache, para que o cache não seja preenchido de novo a partir de uma cópia desatualizada. Para os passos, consulte [Purgue conteúdo em cache](/pt-br/documentacao/guias/performance-e-confiabilidade/cache-e-purge/purgar-conteudo-em-cache/#escolha-o-tipo-de-purge).

---

## Confirme que o purge terminou

Um `201` da API significa que o purge foi aceito, não que ele se propagou. A Azion lista um purge no histórico de purges quando ele termina. Para confirmar:

1. **Abra o Real-Time Purge**

   Acesse [Azion Console](https://console.azion.com/) > **Products Menu** > **Real-Time Purge**.

2. **Encontre o purge no histórico**

   O histórico lista cada purge concluído e pode ser filtrado pelo usuário que o fez, pelo horário, pela lista de argumentos, pelo tipo de purge e pelo método. Filtre pela lista de argumentos para encontrar a URL ou a expressão que você enviou.

3. **Requisite a página com o header de debug**

   ```bash
   curl -sI -H "Pragma: azion-debug-cache" https://www.example.com/products/blue-shirt
   ```

4. **Leia o status de cache**

   A resposta carrega `MISS`, porque a Azion buscou a página na origem de novo:

   ```http
   x-cache: MISS from 192.0.2.10 with HTTP/2.0
   ```

O purge está no histórico, e a página servida depois dele é a versão que a origem publicou. A requisição seguinte volta a carregar `HIT`.

> **nota**
>
> Um sistema de publicação que salva muitos objetos de uma vez, como uma importação de catálogo, envia as URLs em lotes de 50 ou menos. A Azion aceita 10.000 objetos de URL e de cache key a cada 60 segundos. Para todos os limites de purge, consulte [Limites do Real-Time Purge](/pt-br/documentacao/plataforma/applications/cache/real-time-purge/#limites).

---

## Próximos passos

- [Purgue conteúdo em cache](/pt-br/documentacao/guias/performance-e-confiabilidade/cache-e-purge/purgar-conteudo-em-cache.md): Purgue por cache key, purgue a camada do Tiered Cache e purgue objetos que variam.
- [Real-Time Purge](/pt-br/documentacao/plataforma/applications/cache/real-time-purge.md): Todos os tipos de purge, as variações que cada um alcança, os erros e os limites.
- [Criar vitrines de e-commerce](/pt-br/documentacao/casos-de-uso/construir-e-executar-aplicacoes/criar-vitrines-de-e-commerce.md): Uma vitrine que purga páginas de produto pela plataforma de e-commerce a cada salvamento.
- [Azion CLI purge](/pt-br/documentacao/devtools/cli/purge.md): Todas as flags do comando azion purge.
