Invalidar o cache do Dispatcher para recursos atualizados do /etc.clientlibs no AEM as a Cloud Service
Este artigo explica como garantir que os recursos estáticos atualizados em /etc.clientlibs sejam fornecidos após a implantação no Adobe Experience Manager as a Cloud Service, configurando as ações de cache do Dispatcher e usando técnicas de impedimento de cache.
Descrição description
Ambiente
Adobe Experience Manager as a Cloud Service (AEMaaCS) (todas as versões)
Sintomas
- Os recursos estáticos atualizados, como arquivos JavaScript, em
/etc.clientlibsnão aparecem imediatamente após a implantação. - Navegadores, o Dispatcher ou o CDN continuam a fornecer versões anteriores dos arquivos.
Causa
Os caches do Dispatcher e do CDN retêm recursos estáticos com cabeçalhos de cache de longa duração, a menos que você os invalide ou limpe. As implantações do Cloud Manager não limpam automaticamente esses caches para /etc.clientlibs, a menos que você configure ações de cache. Para propagar atualizações imediatamente, use o armazenamento temporário baseado em URL.
Resolução resolution
Siga estas etapas para resolver o problema:
-
Configure as ações de cache do Dispatcher no pipeline do Cloud Manager:
-
No Cloud Manager, edite o pipeline de implantação.
-
Vá para a seção de configuração do Dispatcher e selecione Configurar.
-
Adicione uma ação de cache com as seguintes configurações:
- Caminho:
/etc.clientlibs/<your-project>/clientlibs/<your-clientlib>/* - Tipo: Selecione Invalidar para marcar o conteúdo em cache como obsoleto ou Liberar para excluí-lo.
- Caminho:
-
Selecione Adicionar Caminho, Aplicar e salve a configuração do pipeline.
-
Execute o pipeline para invalidar ou liberar os caminhos especificados.
-
-
Usar eliminação de cache com base em URL para recursos estáticos:
- Ao atualizar arquivos estáticos JavaScript ou CSS, use nomes de arquivo com versão, como
swiper-bundle-v14.min.js. - Como alternativa, anexe um parâmetro de consulta, como
swiper-bundle.min.js?v=20240819. - Alterar o URL garante que o Dispatcher e o CDN tratem o arquivo atualizado como um novo recurso.
- Ao atualizar arquivos estáticos JavaScript ou CSS, use nomes de arquivo com versão, como
-
Revise os cabeçalhos
Cache-Control:- Se você usar TTLs de longa duração, como
max-age=31536000, immutable, crie a versão das URLs do recurso. - Se você não tiver versões de URLs, use TTLs mais curtas e remova
immutabledo cabeçalho.
- Se você usar TTLs de longa duração, como
-
Atender bibliotecas de clientes por meio do proxy:
- Atender JavaScript e CSS por meio de bibliotecas de clientes AEM com
allowProxy=true. - Evite codificar URLs brutas, como
/etc.clientlibs/.../resources/*.js.
- Atender JavaScript e CSS por meio de bibliotecas de clientes AEM com
-
Verifique a atualização:
- Depois que a execução do pipeline for concluída, acesse o URL do recurso atualizado.
- Confirme se o recurso contém as alterações mais recentes.
- Revise os cabeçalhos de resposta para verificar o comportamento esperado de armazenamento em cache.