AEM as a Cloud Serviceでの共有コンテンツのDispatcher キャッシュの無効化
キャッシュされたページで使用される共有コンテンツを更新する場合、共有アイテムを単独で公開しても、使用するすべてのページまたはCDN応答が新しいとは限りません。 Adobeでは、オーサーからのSling Content Distribution (SCD)による明示的なDispatcherの無効化を文書化しています。Adobeで管理されるCDNは、レスポンシブキャッシュヘッダーとTTLを別々に追います。 これを修正するには、影響を受けるページパスを特定し、実装の無効化またはTTL戦略を選択し、DispatcherとCDNの動作を個別にテストします。
説明 description
環境
DispatcherおよびAdobeで管理されるCDNを使用したAdobe Experience Manager as a Cloud Service パブリッシュ。
問題/症状
- エクスペリエンスフラグメント、コンテンツフラグメント、またはDAM アセットを公開すると、共有コンテンツを使用するページに古い出力が表示されます。
- ページ、共有リソース、またはCDN応答がキャッシュされたままかどうかを判断する必要があります。
- 製品エラーは報告されません。 問題は、キャッシュ無効化の動作とキャッシュの鮮度に関するものです。
原因
AEM as a Cloud Serviceでは、エクスペリエンスフラグメントに対してのみ、リバースリファレンスキャッシュの無効化を標準で提供しています。 コンテンツフラグメントとDAM Assetsの場合、共有コンテンツの更新時に参照ページが無効化されるようにするには、カスタム設定が必要です。
解決策 resolution
問題を解決するには、次の手順に従います。
-
すぐに使用できるキャッシュ無効化の動作を確認します。
- エクスペリエンスフラグメントを公開すると、AEM as a Cloud Serviceは、フラグメントを参照するすべてのページを自動的に解決し、使用するページの
.htmlパスごとにリソースのみのフラッシュを発行します。 カスタム設定は必要ありません。 - コンテンツフラグメントを公開すると、コンテンツフラグメントパスのみが無効になります。 コンテンツフラグメントを参照するページは、デフォルトではフラッシュされません。
- DAM アセットを公開すると、アセットとそのレンディションのみが無効になります。 アセットを参照するページは、デフォルトではフラッシュされません。
- ページを公開すると、ページパスのみがフラッシュされます。 参照先のエクスペリエンスフラグメント、コンテンツフラグメント、DAM アセットは、デフォルトではフラッシュされません。
/statfileslevel "2"が設定されている場合、ディレクトリの下のパスを無効にしても、サブツリー全体がフラッシュされません。 特定のパスとその親のstatfileのみが影響を受けます。
- エクスペリエンスフラグメントを公開すると、AEM as a Cloud Serviceは、フラグメントを参照するすべてのページを自動的に解決し、使用するページの
-
コンテンツフラグメントまたはDAM アセットの公開時に参照ページを無効にするには、次のいずれかのサポートされている方法を使用します。
- コンテンツフラグメントまたはアセットが公開され、ターゲット無効化が発行されたときに参照ページを解決するカスタム SCD INVALIDATE ハンドラーを実装します。
- ACS AEM Commons Dispatcher フラッシュルールを使用して、公開されたコンテンツと参照ページ間の正規表現ベースのマッピングを作成します。
- Sling Dynamic Includeを使用するなど、共有コンテンツを個別にキャッシュ可能なフラグメントとして配信します。
- 暫定的なソリューションとして、
cdn.yamlまたはDispatcherの応答ヘッダーを使用して、コンテンツフラグメントまたはアセットを使用するページに対して、制限されたTTL (有効期間)を設定します。
-
選択したアプローチを実装した後、共有コンテンツ項目を公開し、すべての参照ページに更新されたコンテンツが反映されていることを確認します。
recommendation-more-help
experience-cloud-kcs-help-kbarticles