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.clientlibs nã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:

  1. Configure as ações de cache do Dispatcher no pipeline do Cloud Manager:

    1. No Cloud Manager, edite o pipeline de implantação.

    2. Vá para a seção de configuração do Dispatcher e selecione Configurar.

    3. Adicione uma ação de cache com as seguintes configurações:

      1. Caminho: /etc.clientlibs/<your-project>/clientlibs/<your-clientlib>/*
      2. Tipo: Selecione Invalidar para marcar o conteúdo em cache como obsoleto ou Liberar para excluí-lo.
    4. Selecione Adicionar Caminho, Aplicar e salve a configuração do pipeline.

    5. Execute o pipeline para invalidar ou liberar os caminhos especificados.

  2. 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.
  3. 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 immutable do cabeçalho.
  4. 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.
  5. Verifique a atualização:

    1. Depois que a execução do pipeline for concluída, acesse o URL do recurso atualizado.
    2. Confirme se o recurso contém as alterações mais recentes.
    3. Revise os cabeçalhos de resposta para verificar o comportamento esperado de armazenamento em cache.
recommendation-more-help
experience-cloud-kcs-help-kbarticles