---
title: "SitecoreメディアライブラリCDNサポートに関する開発者の考慮事項"
slug: "developer-considerations-for-the-sitecore-media-library-cdn-support"
abstract: "メディアライブラリContent Delivery Network (CDN)サポートに関連する設定、パイプライン、詳細に関する情報Sitecore。"
---
# SitecoreメディアライブラリCDNサポートに関する開発者の考慮事項

このリファレンスには、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");
%>
<img src="https://doc.sitecore.com/api/markdown-image/xp/ja/developers/103/sitecore-experience-manager/%3C%=Sitecore.Resources.Media.MediaManager.GetMediaUrl(item)%%3E"/>

-   sc:Image タグ:アイテムに画像フィールドがある場合、sc:Imageタグを使って画像をレンダリングし、CDN対応のURLにできます。

<sc:Image ID="image1" Field="ImageFieldName" MaxWidth="100" runat="server" />

-   sc:Linkタグ:アイテムにImagefieldがある場合は、sc:Imagetagを使って画像をCDN対応のURLに表示できます。

<sc:Link ID="link1" Field="LinkFieldName" runat="server" />

-   sc:FieldRendererタグ:アイテムにLinkfieldやImagefieldがある場合、このタグを使ってリンクをCDN対応URLに表示できます。

<sc:FieldRenderer ID="image1" FieldName="ImageFieldName" Parameters="w=100" runat="server" />
<sc:FieldRenderer 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*に設定します*。