SitecoreメディアライブラリCDNサポートに関する開発者の考慮事項

Version:
日本語翻訳に関する免責事項

このページの翻訳はAIによって自動的に行われました。可能な限り正確な翻訳を心掛けていますが、原文と異なる表現や解釈が含まれる場合があります。正確で公式な情報については、必ず英語の原文をご参照ください。

このリファレンスには、Sitecore Media Library Content Delivery Network (CDN)サポートに関連する設定、パイプライン、詳細に関する情報が含まれています。

CDN対応メディアアイテムURLを取得する方法

SitecoreメディアライブラリでCDNを使用する場合、ページのメディアアイテムURLは絶対的なURLでCDN URLで始まる必要があります。そうでなければ、Sitecore CDサーバーがすべてのリクエストに応答し、CDNサーバーだけに応答してしまいます。

メディアアイテムのURLがSitecoreメディアライブラリを尊重するようにするために、以下の表の設定を使ってメディアアイテムをアドレス指定できます。

  • 設定
  • MediaManager: MediaManager.GetMediaUrl を使って、そのアイテムのCDN対応URLを取得してください。

<% Sitecore.Data.Items.Item item = Sitecore.Context.Database.GetItem("path to media item"); %>

  • sc
    タグ
    、sc
    、CDN対応のURLにできます。

<sc

ID="image1" Field="ImageFieldName" MaxWidth="100" runat="server" />

  • sc:Linkタグ
    、sc

<sc

ID="link1" Field="LinkFieldName" runat="server" />

  • sc:FieldRendererタグ
    、このタグを使ってリンクをCDN対応URLに表示できます。

<sc

ID="image1" FieldName="ImageFieldName" Parameters="w=100" runat="server" /> <sc
ID="link1" FieldName="LinkFieldName" runat="server" />

  • RichTextフィールド内のメディア項目
    RichTextフィールドにMediaItemを挿入すると、実行時にCDN対応URLでメディアアイテムがレンダリングされます。

!注Sitecoreコンテンツエディターを使用していて、実行時にCDN対応URLでメディアアイテムをレンダリングしたい場合、上記の表の設定は使わないでください。代わりにリッチテキストエディタを使ってRichTextフィールドにMediaItemを挿入してください。

パイプラインとプロセッサ

パイプラインgetMediaUrlOptionsメディアアイテムURLの生成に影響を与え、getResponseCacheHeadersパイプラインはレスポンスキャッシュヘッダーの設定に影響を与えます。

!注他のモジュールは要件に応じてプロセッサを追加することがあります。

getMediaUrlOptions

このパイプラインを使えば、メディアURLを取得したり、メディアアイテムのURL生成方法を制御するプロセッサを追加できます。例えば、開発者がMediaManager.GetMediaUrlを呼び出すと、プロセッサ内のMediaUrlOptionsを操作できます。このパイプラインでは、以下のプロセッサがAlwaysIncludeServerUrlに影響を与えます:

  • SecurityProcessor - これはパイプラインの引数によって提供された MediaUrlOptions にセキュリティ上の懸念を適用します。項目が公開で読み取れない場合、 SecurityProcessorAlwaysIncludeServerUrl の値を falseに設定します。開発者コードや他のパイプラインによって明示的に割り当てられていない場合を除きます。
  • SiteModeProcessor - これはパイプラインの引数によって提供された MediaUrlOptionsにサイトモードの関心を適用します。サイトモードが正規でない場合、 AlwaysIncludeServerUrl を falseに設定します。

getResponseCacheHeaders

このパイプラインはレスポンスキャッシュヘッダーの提供を担当します。以下のプロセッサがメディア要求のキャッシュヘッダーに影響を与えます:

  • RequestTypeDetectionProcessor - リクエストタイプが指定されていない場合、このタイプはリクエストタイプを検出します。
  • MediaRequestArgsInitializerProcessor - これは、メディアリクエストに対してパイプライン引数によって提供されたもの getResponseCacheHeadersを初期化します。値は、 Sitecore.config ファイルのメディア応答構成Sitecoreによって決定されます。
  • PublishingProcessor - これはレスポンス作成時にキャッシュヘッダーに公開に関する懸念を適用します。このプロセッサは、アイテムの公開情報に基づいてキャッシュアビリティと有効期限を設定します。公開日の制限がなければ、有効期限と最大使用期限は Sitecore.config ファイルのSitecoreメディア応答設定によって決定されます。公開日制限がある場合、有効期限と最大使用年数は最大公開日を超えないように設定されます。
  • SecurityProcessor - これはレスポンス作成時にキャッシュヘッダーに公開に関する懸念を適用します。アイテムが公開読み取りできない場合、プロセッサはキャッシュアビリティをゼロに設定し、キャッシュをexpiredに設定します
この記事を改善するための提案がある場合は、 お知らせください!