中央管理配置に関する Cisco ACNS ソフトウェア コンフィギュレーション ガイド Release 5.5
マニフェスト ファイルの作成
マニフェスト ファイルの作成
発行日;2012/02/02 | ドキュメントご利用ガイド | ダウンロード ; この章pdf , ドキュメント全体pdf (PDF - 10MB) | フィードバック

目次

マニフェスト ファイルの作成

マニフェスト ファイルのユーザ ガイドライン

概要

クイック スタート

XML タグの作成

重要なマニフェスト タグ

単一項目 HTTP マニフェスト ファイルの作成

単一項目 FTP マニフェスト ファイルの作成

FTP クローラー マニフェスト ファイルの作成

HTTPS クローラー マニフェスト ファイルの作成

マニフェスト ファイルの検証

ACNS 4.x ソフトウェアから ACNS 5.x ソフトウェアへのマイグレーション

マニフェスト ファイルによる動作

単一コンテンツ項目の指定

クロール ジョブの指定

一般的な正規表現の作成

コンテンツ取得のスケジュール

共有属性の指定

クローラー フィルタの指定

コンテンツの優先順位の指定

再生サーバ リストの生成

コンテンツ サービスに対する属性の指定

コンテンツ サービスのメタデータ指定

マニフェスト ファイルにおける時刻値の指定

コンテンツの更新と削除

ライブ コンテンツの指定

その他のサンプル マニフェスト ファイル

サンプル 1

サンプル 2

サンプル 3

サンプル 4

サンプル 5

サンプル マニフェスト ファイルのダウンロード

Manifest Validator ユーティリティ

Manifest Validator ユーティリティの実行

マニフェスト ファイル検証ユーティリティ出力の要約説明

マニフェスト ファイル構文の修正

マニフェスト ファイルの解説

マニフェスト ファイルの構造と構文

CdnManifest

playServerTable

playServer

options

server

host

proxyServer

item

crawler

item-group

matchRule

match

contains

http-meta-data

事前配信コンテンツのフレッシュネスの設定

XML スキーマ

マニフェスト XML スキーマ

PlayServerTable XML スキーマ

デフォルトの PlayServerTable スキーマ

マニフェスト ファイルの時間帯テーブル

マニフェスト ファイルの自動化スクリプト

ワークステーションへの Perl のインストール

Perl スクリプトの取得

Spider スクリプトを使用した Web サイト コンテンツのリスト

Manifest スクリプトを使用したライブ コンテンツと事前配信コンテンツの選択

Spider スクリプトと Manifest スクリプト用のルール ファイルの作成

ACNS Manifest Generator ツールの使用

サポートされるプラットフォーム

ACNS Manifest Generator のインストレーション

ACNS Manifest Generator のユーザ インターフェイスの概要

ACNS Manifest Generator を使用した基本マニフェスト ファイルの作成

ACNS Manifest Generator でサポートされない要素とタグ

マニフェスト ファイルの作成

この付録では、ACNS ソフトウェア リリース 5.0.3 と、それ以降のリリースでコンテンツの取得と配信に使用されるマニフェスト ファイルの作成プロセスを解説します(マニフェスト ファイルは、ACNS ソフトウェア リリース 5.0 でも使用されますが、この章では、ACNS 5.0 ソフトウェアで使用されていないマニフェストの新規情報および変更された情報を説明します)。この章は、次の 3 つの主なセクションから構成されています。

「マニフェスト ファイルのユーザ ガイドライン」

このセクションの構成は、次のとおりです。

Cisco ACNS ネットワークのコンテキストにおけるマニフェスト ファイルの概要と目的

迅速に稼働させるためのクイック スタート セクション

便利なサンプル マニフェスト ファイル

構文検証ユーティリティ

ライブ コンテンツ配信の説明

「マニフェスト ファイルの解説」

このセクションの構成は、次のとおりです。

マニフェスト ファイルの構造と構文の詳細

XML スキーマ

自動化マニフェスト ファイル スクリプトの実行

マニフェスト ファイルの時間帯テーブル

「ACNS Manifest Generator ツールの使用」

このセクションでは、ACNS ソフトウェア GUI ベースのマニフェスト ファイル ツールを使用して、基本マニフェスト ファイルを作成する方法について説明します。

マニフェスト ファイルのユーザ ガイドライン

ここでは、次のトピックについて説明します。

「概要」

「クイック スタート」

「マニフェスト ファイルによる動作」

「その他のサンプル マニフェスト ファイル」

「Manifest Validator ユーティリティ」

概要

Cisco ACNS 5.x ソフトウェアは、マニフェスト ファイルと呼ばれている XML(Extensible Markup Language)ベースの参照ファイルを使用して、事前配信コンテンツの取得と配信を管理します。マニフェスト ファイルは、Cisco ACNS ネットワーク上に登録されている Content Engine へ配信されるコンテンツを表示します。各チャネルごとに 1 つのマニフェスト ファイルが必要です。

マニフェスト ファイルは、オリジン サーバに置かれ、固有の URL で識別されます。マニフェスト ファイルのロケーションは、Content Distribution Manager GUI の Modifying Channel ウィンドウでマニフェスト ファイル URL を入力して指定します。Cisco ACNS 4.x ソフトウェアでのコンテンツの処理とは異なり、ACNS 5.x ソフトウェアでは、事前配信コンテンツを Content Distribution Manager に保存せずに、チャネルに割り当てられているルート Content Engine から指定のある Content Engine へオリジン サーバから取得した事前配信コンテンツを配信します。

Content Distribution Manager は、ACNS ネットワークの各ルート Content Engine へマニフェスト ファイルの URL を配信します。次に、ルート Content Engine はこのファイルを解析し、新しい情報または異なる情報がないかどうかを調べます。ルート Content Engine は、どのコンテンツが新しいかを判別したあと、指定された事前配信コンテンツまたはライブ コンテンツの中から、新しいコンテンツだけを 1 つまたは複数のオリジン サーバから取得します。

マニフェスト ファイルの特性は、次のとおりです。

管理者およびコンテンツ プロバイダーは、オリジン サーバ上にコンテンツを用意します。

HTTP、HTTPS、または FTP を介してファイルをインポートする一方、要求されたファイルを再生するために指定されたメディア再生サーバのタイプに基づいて、別のストリーミング プロトコルを使用して処理します。

コンテンツの取得と配信は、事前にスケジュールされたコンテンツの利用可能日時を設定することによって制御できます。マニフェスト ファイル内で、2 つのコンテンツ取得方法を設定できます。1 つの方法では、単一の <item> の取得を指定します。もう 1 つの方法では、<crawler> 機能を使用して Web サイトまたは FTP サーバをクロールし、コンテンツ取得を指定します。どちらの方法も、取得の開始時期、およびコンテンツに対する更新チェックの頻度をスケジュールできます。

クイック スタート

ここでは、コンテンツを取得するマニフェスト ファイルを迅速に作成する方法を説明します。この章の他の項を参照し、マニフェスト ファイルを細かくカスタマイズするために、有効な属性の指定方法を習得し、正しいマニフェスト ファイル構文の詳細情報を入手してください。


) Content Distribution Manager GUI の Creating New Channel ウィンドウまたは Modifying Channel ウィンドウ(Channels > Channels > Basic Settings > Definition)で指定されたユーザ名とパスワードは、マニフェスト ファイルの取得だけに使用されます。実際のコンテンツ取得プロセスでは、このユーザ名とパスワードは使用しません。実際にコンテンツを取得するには、<server> <host> タグでユーザ名とパスワードを指定する必要があります。


XML タグの作成

マニフェスト ファイルは、XML 形式で記述されたテキスト ファイルです。XML テキスト ファイルは、一連の XML タグから構成されます。単純な XML タグの例は、次のとおりです。

<item attr1="value1" attr2="value2" />
 

前述の例で、「item」は XML タグの名前であるので、このタグを「item」タグといいます。タグには、複数の属性があり、name="value" の形式で表わされます。value フィールドは、二重引用符で囲む必要があります。この例で示されている「item」タグ内には、2 つの属性があります。「attr1」という最初の属性には、「value1」という値があります。「attr2」という 2 つめの属性には、「value2」という値があります。

通常、タグは「<」(左不等号カッコ)から始まり、「/>」(スラッシュと右不等号カッコ)で終わりますが、「<」で始まり、「>」で終わることもあります。タグが「>」で終わる場合、そのスコープはまだ完了していません。スコープを完了するには、「tag-name」というタグは「</tag-name>」で終わらせます。次に例を示します。

<server name="name" >
<host name="name" />
</server>
 

この例の最初の行では、<server> タグは「>」で終わりますが、そのスコープは最初の行で終わりません。スコープは、タグ </server> のある 3 行めで終わります。<host> タグは <server> タグの内部にあるので、<host> タグは <server> タグのサブタグといいます。<server> タグは、<host> タグの親タグとみなされます。

XML タグ間には、タグ関係が 2 つ存在します。ピアとサブタグです。次の例では、2 つの「item」タグの関係はピアです。

<item src="url1" />
<item src="url2" />
 

ピア関係を識別する手掛かりは、2 番めのタグが開始する前に、最初のタグが「/>」で終わることです。次の例では、<server> タグと <host> タグの関係はサブタグです。

<server name="cisco">
<host name="url" />
</server>
 

サブタグ関係を識別する手掛かりは、2 番めのタグが開始する前に、最初のタグが「/>」で終わることです。<host> タグは <server> タグのサブタグです。つまり、<server> タグは <host> タグの親です。

重要なマニフェスト タグ

ここでは、重要なマニフェスト タグをリストし、それらのタグについて簡単に説明します。

<CdnManifest> タグ

<CdnManifest> </CdnManifest> タグ セットは、ACNS 5.x ソフトウェアのマニフェスト ファイルで最高レベルのタグでなければなりません。このタグ セットは必須であり、マニフェスト ファイルの内容の先頭と末尾をマークします。各 <CdnManifest> タグ セットには取得され、保存されるコンテンツ オブジェクトが少なくとも 1 つ入っていなければなりません。次に例を示します。

<CdnManifest>
...
</CdnManifest>
 

<item> タグ

<item> タグは、事前配信される 1 つのファイルを指定するのに使用します。

src 属性

src 属性は、URL の指定に必要です。URL は、次の形式で示されているように、絶対 URL が使用できます。

protocol://username:password@/domain-name:port/file-path/file-name

src 属性は、相対 URL も使用できますが、プロトコル、ドメイン、ユーザ名、およびパスワードを指定するために、<server><host> タグを使用する必要があります。

<crawler> タグ

<crawler> タグは、クロール ジョブを指定するのに使用します。<crawler> タグを使用すると、FTP ディレクトリとそのサブディレクトリをクロールしたり、HTTP ディレクトリ索引を使用してディレクトリをクロールできます。

クロール ディレクトリ

組み込み Web サーバ ディレクトリ索引付け機能をイネーブルにして、HTTP を使用して、所定のディレクトリ内のファイルを取得するためにディレクトリをクロールします。このディレクトリ索引付け機能がイネーブルになっているときに、URL がディレクトリを指す場合、Web サーバは、動的に HTML ページを生成し、すべてのファイルとサブディレクトリを一覧表示します。ACNS ソフトウェアは、この HTML ページを解析することによって、その特定ディレクトリから取得できるファイルを識別できます。

start-url 属性

start-url 属性は、クロール用の開始 URL の指定に必要です。絶対 URL または相対 URL が使用できます(<item> タグ の説明を参照)。

depth 属性

crawler depth 属性は、Web クロールのディレクトリの深さを指定します。 depth 値 0 は、開始 URL ページのクロールだけを許可します。 depth 値 1 は、開始 URL ページとそのリンクのクロールを許可します。

単一項目 HTTP マニフェスト ファイルの作成

次の例では、HTTP プロトコルを使用してコンテンツを取得するマニフェスト ファイルを作成する、最も簡単な方法を示します。

<CdnManifest>
<item src="http://www.my-server.com/project-one.html" />
<item src="http://www.my-server.com/my-eng-group/project-two.html" />
<item src="http://www.my-server.com/project-three.html" />
</CdnManifest>
 

<CdnManifest> タグ セットは、マニフェスト ファイルの指定に必要です。前述のマニフェスト ファイル例では、実行後に HTTP プロトコルを使用して次の項目を取得するように、ACNS ソフトウェアに指示します。

http://www.my-server.com/project-one.html

http://www.my-server.com/my-eng-group/project-two.html

http://www.my-server.com/project-three.html

単一項目 FTP マニフェスト ファイルの作成

次の例では、FTP プロトコルを使用してコンテンツを取得するマニフェスト ファイルを作成する、最も簡単な方法を示します。

<CdnManifest>
<item src="ftp://johnw:my-pass-word@myftp.cisco.com/file1.txt" />
<item src="ftp://johnw:my-pass-word@myftp.cisco.com//full-path/file2.txt" />
</CdnManifest>
 

最初の URL には、FTP サーバ名「myftp.cisco.com」のあとに 1 つのスラッシュ([/])だけがあり、2 番めの URL には 2 つのスラッシュ([//])があることに注目してください。最初のファイル パス「file1.txt」は、相対ファイル名であり、FTP ユーザ ログインのホーム ディレクトリを基準にします。2 番めのファイル パス「/full-path/file2.txt」は絶対パスです。

FTP クローラー マニフェスト ファイルの作成

次の例では、FTP プロトコルを使用してコンテンツを取得するクローラー マニフェスト ファイルを作成する、最も簡単な方法を示します。

<CdnManifest>
<crawler start-url="ftp://ftp-server/folder/" depth="10" ttl = "10" />
</CdnManifest>
 

前述のマニフェスト ファイル例では、ACNS ソフトウェアに指示して、ftp://ftp-server/folder から 10 のディレクトリ レベルの深さまでのクロールを開始し、更新が行われていないか 10 分ごとにそれらのディレクトリを調べます。

<crawler> タグは、クロール タスクを指定します。 start-url 属性は、Web クローラーがどこからクロールを開始するかを指定します。 depth 属性 10 は、必要なコンテンツを取得するためにクローラーが調べるサブディレクトリのレベル数を指定します。 ttl 属性は、更新がないかどうかファイルが調べられる頻度を指定します。 ttl 属性は、単一項目マニフェスト ファイル内の属性としても指定できます。

HTTPS クローラー マニフェスト ファイルの作成

次のマニフェスト ファイル例では、ACNS ソフトウェアに指示し、https://www.cisco.com/jobs/eng/ から開始して 5 レベルの深さまでクロールするようにします。

<CdnManifest>
<crawler start-url="https://www.cisco.com/jobs/eng/" depth="5" />
</CdnManifest>
 

単一項目マニフェスト ファイルと同じように、<CdnManifest> タグ セットは、マニフェスト ファイルの指定に必要です。jobs/eng ディレクトリとそのサブディレクトリに対してディレクトリ索引付け機能が使用可能である場合、クローラーは、5 ディレクトリ レベルの深さまで進んでファイルを取得します。オリジン サーバが HTTP または HTTPS サービスを実行する場合、これらのディレクトリに対してディレクトリ索引付け機能がイネーブルになってなければなりません。ディレクトリ索引付け機能をイネーブルにすると、ACNS 5.x ソフトウェアは、ディレクトリをクロールし、ファイルのリストを戻すことができます。

マニフェスト ファイルの検証

マニフェスト ファイルの作成後にマニフェスト ファイルを検証する場合は、Manifest Validator ユーティリティの使用を推奨します。詳細は、「Manifest Validator ユーティリティ」を参照してください。

ACNS 4.x ソフトウェアから ACNS 5.x ソフトウェアへのマイグレーション

ACNS 4.2 ソフトウェアとは異なり、ACNS 5.x ソフトウェアには、コンテンツの事前配信のためにソース ファイルを保存する 1 つまたは複数のオリジン サーバが必要です。これらのオリジン サーバでは、ACNS ネットワーク デバイスが事前配信ファイルを取得できるように、HTTP、FTP、または HTTPS サービスをサポートするリモート アクセス サーバをインストールする必要があります。

特定のチャネルに関連付けられているファイルは、一般にオリジン サーバ上の同じディレクトリまたはサブディレクトリに保存されます。オリジン サーバが HTTP または HTTPS サービスを実行する場合、これらのディレクトリに対してディレクトリ索引付け機能がイネーブルになってなければなりません。ディレクトリ索引付け機能をイネーブルにすると、ACNS 5.x ソフトウェアは、ディレクトリをクロールし、ファイルのリストを戻すことができます。

コンテンツが適切なオリジン サーバにアップロードされ使用可能になると、次の単純なマニフェスト ファイルを使用して、コンテンツの取得が指定できます。

<CdnManifest>
<crawler start-url="http://my-server/my-path/" ttl="10" />
</CdnManifest>
 

前述の例では、更新が行われていないか「my-path」ディレクトリを 10 分ごとに調べるために、関連付けられているチャネルに対してクロール ジョブが指定されます。このセットアップが完了したあと、このチャネルに関連付けられているルート Content Engine は、このディレクトリをモニタして、新しいファイルまたは更新されたファイルがあるかどうかを判別してから、それらのファイルを自動的に取得します。

前述のマニフェスト ファイル例を使用することは、5.0 より前の ACNS ソフトウェア リリースでユーザが事前配信ファイルを Content Distribution Manager のインポート フォルダにコピーするのと同じことです。ただし、マニフェスト ファイルを使用する方法は、Content Distribution Manager のインポート機能よりも強力です。たとえば、コンテンツを別々のロケーションに保存するにもかかわらず、そのコンテンツを同じチャネルを介して配信する必要がある場合、マニフェスト ファイル内で複数のクロール ジョブを作成し、これらのロケーションをモニタできます。次のマニフェスト ファイル例では、別々のロケーションをモニタできます。

<CdnManifest>
<crawler start-url="http://my-server/my-path-http/" ttl="10" />
<crawler start-url="ftp://my-server/my-path-ftp/" ttl="10" />
</CdnManifest>
 

HTTP サーバの「my-path-http」ディレクトリ、および FTP サーバの「my-path-ftp」ディレクトリをモニタします。

マニフェスト ファイルによる動作

ここでは、特定のタスクを実行するためのサンプル マニフェスト ファイルについて説明します。各サンプルには、その目的と機能に関連する説明があります。マニフェスト ファイルは、1 つのコンテンツ オブジェクト、Web サイト クローラー ジョブ、または FTP サーバ クローラー ジョブを指定し、エッジ Content Engine に配信される事前配信コンテンツまたはライブ コンテンツをあとで取得します。

単一コンテンツ項目の指定

次のマニフェスト ファイル例では、単一コンテンツ項目を指定します。

<CdnManifest>
<item src="http://www.my-server/test.html" />
<item src="test.html" />
<server name="my-origin-server-one"> <host name="http://www.my-server-one.com/eng/" /> </server>
<server name="my-origin-server-two"> <host name="http://www.my-server-two.com/eng/" /> </server>
<item src="project-two.html" />
<item server="my-origin-server-one" src="project-one.html" />
</CdnManifest>
 

単一項目の場合は、項目 URL を src 属性で指定することが重要です。項目 URL の指定には、次の 2 通りの方法があります。

次の形式を使用して、絶対 URL で src 属性を指定する方法

proto://username:password@/domain-name:port/file-path/file-name

最初の <item> タグは、フルパスを使用します。

<server><host> タグを使用してオリジン サーバ情報を指定し、 src 属性を使用して相対パスだけを指定する方法

上記の例では、最初のタグを除くすべての <item> タグが、相対パスを使用しています。2 番めの <item> タグはマニフェスト サーバを使用し、test.html はマニフェスト ファイル URL を基準にします。2 番めの <item> タグ「project-two.html」は、「my-origin-server-two」を使用します。3 番めの <item> タグ「project-one.html」は、「my-origin-server-one」を使用します。

単一のコンテンツ項目、オブジェクト、または URL を指定するには、<item> タグを使用してください。必須属性 src は、URL の相対パス部分を指定するのに使用します。 server name 属性を省略した場合、このタグ以前で最後に指定した <server> タグ内の server name 属性が使用されます。マニフェスト ファイル内の近くに <server> タグがない場合、マニフェスト ファイルをホストするサーバが使用されます。つまり、相対 URL は、マニフェスト ファイル URL を基準にします。


) コンテンツを取得する前に、マニフェスト ファイルのロケーションを定義する URL を Content Distribution Manager GUI(Services > Web > Channel > Channel Content の順に選択)内で、入力する必要があります。マニフェスト ファイルの設定値を定義するのは、マニフェスト ファイルのロケーション URL、存続可能時間(TTL)、ユーザ名、およびマニフェスト ファイルへのアクセスに必要なパスワード(ロケーションがパスワードで保護されている場合)です。( チャネルのマニフェスト ファイルとプロキシに関する情報の設定を参照)。


クロール ジョブの指定

Web クローラー アプリケーションは、受け入れ可能な Web サイトを系統的かつ自動的に検索し、あとの処理のためにアクセスしたページのコピーを作成します。Web クローラーは、アクセスする URL のリストから開始し、ページ内のすべての Web リンクを識別して、アクセスする URL のリストにこれらのリンクを追加します。このプロセスは、次の条件の 1 つまたは複数のものに適合すると終了します。

指定された深さまでリンクがたどられた

最大数のオブジェクトが取得された

最大サイズのコンテンツが取得された

存続可能時間(または ttl) 属性を使用して一定の間隔でサイトをクロールすると、これらのリンクとそれに関連したコンテンツが定期的に更新され、コンテンツが最新のものに保たれます。 ttl 属性の詳細については、「コンテンツの更新と削除」を参照してください。

Web サイトまたは FTP サーバのクローラー属性を指定するには、<crawler> タグを使用してください。 表A-1 では、属性をリストし、これらの属性が必須であるか、任意であるかを記述し、その機能について説明します。

 

表A-1 Web サイトまたは FTP サーバのクローラー ジョブ属性

属性
説明

start-url

(必須)指定されたクロール ジョブに対して、開始点である URL を定義します。これは、フルパスまたは相対パスにできます。相対パスである場合、オリジン サーバ情報の指定に <server><host> タグが必要です。

depth (0, 1,-1)

(任意)指定された Web サイトをクロールする深度レベルを定義します。

深度は、Web サイトの URL リンクまたは FTP サーバのディレクトリのレベルとして定義されます。0 は、クローラー ジョブを開始する URL またはディレクトリです。

0 = 開始 URL だけを取得する
1, 2, 3,...= 開始 URL、および指定された深度まで参照ファイルを取得する
-1 = 無限、または深さの制限なし

深度を指定しない場合、デフォルトは 20 です。


) 深度 -1 の指定は、大規模な Web サイトがあるとクロールに長時間かかり、特定の Web サイト上のすべてのコンテンツを必要とする場合を除き無駄になるので、推奨しません。


prefix

(任意)<server> 値からのホスト名とこのフィールドとを結合して、完全なプレフィクスを作成します。URL が完全なプレフィクスと一致するコンテンツのみが取得されます。次に例を示します。

<server name="xx"> <host name="www.cisco.com" proto="https" port=433/> </server>
 

<crawler> タグでは、次のとおりです。

prefix="marketing/eng/"
 

完全なプレフィクスは「https://www.cisco.com:433/marketing/eng/」になります。このプレフィクスと一致する URL だけがクロールされます。Web ページが .../marketing/ops を参照する場合、marketing/ops ページとその子(children)は取得されません。

プレフィクスを省略した場合、クローラーは、サーバからの URL のホスト名部分であるデフォルトの完全プレフィクスを調べます。前述の例では、デフォルトの完全プレフィクスは「https://www.cisco.com:433」です。

accept

(任意)受け入れ可能な URL をプレフィクスと一致させるほか、クロールするための受け入れ可能な URL を定義する正規表現を使用します。たとえば、accept=“stock” は、URL がプレフィクスと一致すること、および正規表現ストリング「stock」が含まれていることの 2 つの条件を満たす URL だけが、クロールされることを意味します。

reject

(任意)正規表現を使用して、URL が正規表現と一致する場合、その URL を拒否します。URL は、想定されるプレフィクスとの一致を調べられたあと、reject 正規表現との一致を調べられます。URL がプレフィクスと一致しない場合、ただちに拒否されます。URL がプレフィクスと reject 正規表現の両方と一致する場合、その条件式によって拒否されます。

max-number

(任意)取得可能なクローラー ジョブ オブジェクトの最大数を指定します

max-size-in-B
max-size-in-KB
max-size-in-MB

(任意)このクローラー ジョブが取得できるコンテンツの最大サイズを指定します。このサイズは、バイト数(B)、キロバイト数(KB)、またはメガバイト数(MB)で表すことができます。


) 取得されるファイルのサイズは、このファイルを保存するために必要なディスク容量よりも小さいはずです。保存すると、ファイルには、そのチャネルに対して使用されるディスク容量に合わせたオーバーヘッドが含まれます。このオーバーヘッドは、ファイルごとに約 20 KB です。チャネル ディスク割当量を設定する場合は、ファイル サイズと保存に関するオーバーヘッドを考慮する必要があります( チャネルの割り当て量 および チャネルの作成を参照)。


externalPrefixes

(任意)複数のプロトコルまたは Web サイトをクロールするために、クロール ジョブにはプレフィクスを追加指定します。プレフィクスはパイプ(|)で区切られます。

externalServers

(任意)クローリングに、ホストを追加指定します。ホストごとにユーザ アカウントが異なる、複数のホストのクローリングを行う場合に使用されます。この属性は、適切な認証情報を持つ <host> タグの参照に使用できます。


max-numbermax-size の両方の属性をクローラー ジョブを停止する基準として指定する場合、最初に合致した条件が優先されます。つまり、クローラー ジョブが停止するのは、最大数のオブジェクトの取得、または最大コンテンツ サイズへの到達が起きたときです。たとえば、クローラー ジョブが、マニフェスト ファイル内で指定された最大数のオブジェクトを取得し、最大コンテンツ サイズにまだ達していない場合であっても、クローラー ジョブは停止します。


Web サイト クローラー ジョブの例を次に示します。

<server name="cisco">
<host name="http://www.cisco.com/jobs/" />
</server>
<crawler
server="cisco"
start-url="eng/index.html"
depth="10"
prefix="eng/"
reject="\.pl"
max-size-in-MB="200"
/>
 

Web サイト クローラー ジョブの例には、次の属性が含まれています。

start-url パスは http://www.cisco.com/jobs/eng/index.html です。

Web サイト リンクの depth 10 まで検索します。

prefix http://www.cisco.com/jobs/eng/ を持つ URL を検索します。

.pl (Perl スクリプト ページ)を含む URL を拒否します。

コンテンツの合計サイズが 200 メガバイト取得されるまで、クロールします。

server name 属性を省略した場合、前述の最後に指定された <server> タグ内の server name が使用されます。マニフェスト ファイル内の近くに <server> タグがない場合、マニフェスト ファイルをホストするサーバが使用されます。つまり、相対 URL は、マニフェスト ファイル URL を基準にします。

一般的な正規表現の作成

正規表現は、認識可能なパターンに従うストリングと一致させるための式です。正規表現では、次の特殊文字には特別な意味があります。

. * \ ? [ ] ^ $

正規表現ストリングにこれらの特殊文字が含まれない場合、完全一致だけが検索要件に適合します。たとえば、「stock」は、正確なサブストリング「stock」と一致する必要があります。

正規表現の作成方法の詳細については、次の Web サイトを参照してください。

http://yenta.www.media.mit.edu/projects/Yenta/Releases/Documentation/regex-0.12/

コンテンツ取得のスケジュール

2 つの属性 ttl prefetch は、コンテンツの取得をスケジュールする場合に使用します。最新の情報がないかどうかコンテンツを調べる頻度(分数)を指定する場合は、 ttl を使用します。たとえば、ページの更新を毎日調べる場合は、ttl="1440" と入力します。

次の例では、一日 1 回ページの更新を調べるようにスケジュールされます。

<item
src="index.html"
ttl="1440"
/>
 

次の例では、1 時間ごとにリンクを depth 値 2 までクロールし、ページの更新を調べるようにスケジュールしています。

<crawler
start-url="index.html"
depth="2"
ttl="60"
/>
 

特定の URL でコンテンツがまだ使用可能でない場合、その指定された URL での取得の開始時間を指定するのに prefetch 属性を使用できます。たとえば、prefetch="2002-06-28 18:35:21" は、コンテンツ取得ジョブが、2002 年 6 月 28 日のこの特定の時刻にだけ開始できることを意味します。

次の例は、リンク depth 値 2 までこの Web サイトの 1 時間ごとのクロールが、2001 年 11 月 9 日午前 8 時 45 分に開始するようにスケジュールしています。

<crawler
start-url="index.html"
depth="2"
prefetch="2001-11-09 08:45:12"
ttl="60"
/>

共有属性の指定

単一 <item> タグ内の属性には、共有、あるいは同じ属性値をもたせることができます。<item> タグごとに個別にこれらの属性を書き込むのではなく、それらの属性を取得して、<item-group> と呼ばれるより高いレベルのタグに入れることができます。これらの属性は、この高レベルのタグから共有できます。次の例のように、<CdnManifest> タグの下のレベルで <item-group> タグを作成し、<item> タグをサブタグとして書き込んで、共有属性を <item-group> タグに移動させることができます。

<?xml version="1.0"?>
<CdnManifest>
 
<server name="cisco-cco">
<host name="http://www.cisco.com"
proto="http" />
</server>
 
<item-group
server="cisco-cco"
ttl="1440"
type="prepos" >
 
<item src="jobs/index.html"/>
<item src="jobs/index1.html"/>
<item src="jobs/index2.html"/>
<item src="jobs/index3.html"/>
<item src="jobs/index4.html"/>
<item src="jobs/index5.html"/>
 
</item-group>
 
</CdnManifest>
 

また、<options> タグを使用すると、マニフェスト ファイルの最上位レベルで属性を共有することもできます。<options> タグ内の共有属性は、すべての <item> タグによって、またはマニフェスト ファイル内の <crawler> タグによって共有されます。しかし、共有属性が <item-group> タグと <item> タグの両方、または <options> タグと <item> タグの両方で指定される場合、<item> タグ内の属性値が、<item-group> タグと <options> タグより優先されます(共有属性のリストについては、optionsを参照)。

次の例では、この優先順位規則を示します。最初の <item> タグは、<options> タグから TTL 値 1440 を取りますが、2 番めの <item> タグは独自の TTL 値 60 を使用します。

<options
ttl="1440" >
<item src="index.html" />
<item src="index1.html" ttl="60" />
 

複数の単一 <item> タグを指定する必要がある場合、および複数のコンテンツ項目または URL を持つマニフェスト ファイルを作成する必要がある場合、このような単一 <item> タグの作成には Perl スクリプトが使用可能です。自動化 Perl スクリプトを使用する場合は、「マニフェスト ファイルの自動化スクリプト」を参照してください。

クローラー フィルタの指定

ルール ベースのクローラー フィルタを使用すると、Web サイト全体をクロールし、一定の事前定義された特性を持つコンテンツだけを取得できます。一方、<crawler> タグ内のクローラー属性は、フィルタの役目をするのではなく、クロール用の属性を定義するだけです。<matchRule> タグは、ルール ベースのフィルタの役目をするためのものです。ファイルの拡張子、サイズ、コンテンツ タイプ、およびタイムスタンプについてルール ベースでの一致条件を定義できます。次の例でクロール ジョブが指示されているのは、「index.html」で始まる Web サイト全体をクロールし、.jpg 拡張子を持ち、50 キロバイトを超えるファイルだけを取得することです。

<crawler
start-url="index.html" >
<matchRule>
<match size-min-in-KB="50" extension="jpg" />
</matchRule>
</crawler>
 

<matchRule> タグ内には複数の <match> サブタグを指定できます。 表A-2 では、<match> サブタグの属性を一覧表示し、説明します。

 

表A-2 <match> サブタグの属性

属性
説明

mime-type

MIME タイプの一致を指定します。

extension

拡張子を持つファイルの一致を指定します。

time-before

(グリニッジ標準時 [GMT] 時間帯を使用して)この時間より前に変更されたファイルの一致を、yyyy-mm-dd hh:mm:ss 形式で指定します( timezone 属性については、optionsを参照)。

time-after

(グリニッジ標準時 [GMT] 時間帯を使用して)この時間よりあとに変更されたファイルの一致を yyyy-mm-dd hh:mm:ss 形式で指定します。

size-min-in-MB
size-min-in-KB
size-min-in-B

(任意)この値以上のコンテンツ サイズの一致を指定します。このサイズは、メガバイト数(MB)、キロバイト数(KB)、またはバイト数(B)で表すことができます。

size-max-in-MB
size-max-in-KB
size-max-in-B

(任意)この値以下のコンテンツ サイズの一致を指定します。このサイズは、メガバイト数(MB)、キロバイト数(KB)、またはバイト数(B)で表すことができます。

prefix

prefix 属性は任意で、一致規則としてプレフィクスを指定して、クロール ジョブ時に Web サイトをフィルタリングして削除します。

url-pattern

url-pattern 属性は任意であり、一致規則として正規表現を指定して、所定の URL をフィルタリングして削除します。

<match> サブタグには、複数の属性を指定できます。<match> タグ内の属性には、ブール AND の関係があります。次の例では、この一致規則を満たすために、ファイルの拡張子は .mpg タイプで、50 キロバイトを超えている必要があります。

<match extension="mpg" size-min-in-KB="50" />
 

<match> ルール自体には相互にブール OR の関係があります。<matchRule> タグは、複数の <match> サブタグを持つことができますが、一致する必要があるのは、これらのサブタグの 1 つだけです。<matchRule> タグは、<crawler> タブのサブタグ、または <item-group> タグのサブタグとして指定できます。<item-group> タグ内にサブタグがある場合、そのサブタグは、その <item-group> タグ内のすべての <crawler> タグによって共有されます。


accept または reject 属性が、<crawler> タグ内でクローラー フィルタに誤って使用される場合があるので、注意が必要です。

たとえば、拡張子 .mpg を持つファイルをクロールするには、単に accept="\.mpg" と指定するだけでは正しくありません。この場合、accept="\.mpg" の指定は技術上誤りではありませんが、クロールは行われません。accept 制約と一致しない URL を持つページは検索されないからです。たとえば、開始 URL が index.html である場合、この HTML ファイルは解析され、.mpg が入っていないリンクはすべて拒否されます。.mpg ファイルが 2 番め以下のリンク レベルに置かれている場合、これらのファイルは取得されません。これは、これらのファイルに接続するリンクが拒否されるためです。

.mpg 拡張子を正しくクロールするために、<matchRule> を使用します。<matchRule> <match extension="mpg"/> と指定してください。サイト全体がクロールされ、.mpg 拡張子を持つファイルだけが保持されます。


コンテンツの優先順位の指定

コンテンツ オブジェクトの重要度を定義するため、それらのコンテンツ オブジェクトに優先順位を割り当てることができます。ACNS ソフトウェアは、コンテンツの優先順位のレベルから、処理の順序を判別します。コンテンツの優先順位が高いほど、オリジン サーバからのコンテンツの取得が早くなり、Content Engine へのコンテンツの配信が早くなります。


) クローラー ジョブを実行して取得される、すべてのコンテンツ オブジェクトの優先順位は同じです。


次の 3 つの要素を組み合わせて、コンテンツの優先順位が決定されます。

チャネルの優先順位 -- Content Distribution Manager GUI の Modifying Channels ウィンドウの Acquisition and Distribution Properties 領域にある、コンテンツの Content Distribution Priority ドロップダウン リスト

項目の索引 -- マニフェスト ファイルにリストされているコンテンツの順序

項目の優先順位 -- <item> タグまたは <crawler> タグで指定される属性の優先順位

コンテンツの優先順位を計算するには、次のどちらかの式を使用してください。

マニフェスト ファイルの priority 属性で、このコンテンツの優先順位値が指定されている場合、次の式を使用します。

コンテンツの優先順位 = チャネルの優先順位× 10000 + 項目の優先順位

項目の優先順位は任意の整数にでき、制限はありません。


ヒント 特定のコンテンツ オブジェクトが最高の優先順位を持つようにしたい場合は、コンテンツの優先順位の式で項目の優先順位が最上位になるように、十分に大きい整数値を指定してください。


マニフェスト ファイルの priority 属性で優先順位値が指定されたオブジェクトがない場合、次の式を使用します。

コンテンツの優先順位 = チャネルの優先順位× 10000 + 10000 - 項目の索引

項目の索引は、コンテンツがマニフェスト ファイルでリストされる順序です。


) 項目に指定された優先順位がない場合、マニフェスト ファイルにリストされている順序でコンテンツが処理されます。


再生サーバ リストの生成

ACNS 5.x ソフトウェアは、ACNS ネットワーク上の HTTP、HTTPS、RTSP(RealMedia および QuickTime Streaming Server [QTSS])などの事前配信コンテンツ タイプを再生する、再生サーバをサポートします。ACNS ソフトウェアは、要求されたプロトコルが、再生サーバ テーブル内のリストと一致するかどうかを調べます。リストと一致する場合、要求は送信されます。リストと一致しない場合、要求は拒否されます。

再生サーバリストを次の方法で生成できます。

マニフェスト ファイルを使用します。<item> タグ内の再生サーバ属性を設定します。

<playServerTable> タグを使用します。再生サーバの MIME タイプ拡張子名を設定します。

マニフェスト ファイルから直接、再生サーバ リストを作成するには、<item> タグで、再生サーバ リストの再生サーバ属性を設定します。<item> タグに再生サーバ属性がない場合、再生サーバ リストは、<playServerTable> タグを使用して生成されます。マニフェスト ファイル内で
<playServerTable> タグが省略される場合、組み込みのデフォルト <playServerTable> タグを使用して、再生サーバ リストが生成されます。次の例のように、複数のサーバはカンマで区切られます。

<item src="video.mpg" playServer="real,wmt" />
 

また、<playServerTable> タグを使用して、これらのストリーミング メディア タイプをサポートする再生サーバ リストを生成することもできます。<playServerTable> タグは、MIME タイプの拡張子名に基づいて、コンテンツを再生サーバ リストにマッピングします。マニフェスト ファイルに <playServerTable> タグがある場合は、マニフェスト ファイル内の <playServerTable> タグを使用してください。

<playServerTable> タグを使用して再生サーバ リストを生成するには、次の例のように、MIME タイプの拡張子名を使用して、どの再生サーバが特定の事前配信コンテンツを再生できるかを設定します。

<playServerTable>
<playServer name="real">
<contentType name="application/x-pn-realaudio" />
<contentType name="application/vnd.rn-rmadriver" />
<extension name="rm" />
<extension name="ra" />
<extension name="rp" />
<extension name="rt" />
<extension name="smi" />
</playServer>
<playServer name="wmt">
<extension name="wmv" />
<extension name="wma" />
<extension name="wmx" />
<extension name="asx" />
<extension name="asf" />
<extension name="avi" />
</playServer>
<playServer name="http">
<contentType name="application/pdf" />
<contentType name="application/postscript" />
<extension name="pdf" />
<extension name="ps" />
</playServer>
</playServerTable>
 

<playServerTable> タグは、コンテンツ タイプごとに再生サーバ リストを生成する場合に使用されます。前述の例では、PDF ファイルまたは PostScript 拡張子を持つすべてのファイルが、コンテンツの再生に HTTP を使用しています。

カスタマイズされたマニフェスト再生サーバ テーブルと HTTP または HTTPS 再生サーバ

一般に、独自の再生サーバ テーブルまたは再生サーバをマニフェスト ファイルで指定する必要はありません。ACNS 5.x ソフトウェアに含まれているデフォルトの再生サーバ テーブルでは、該当するファイル拡張子または MIME タイプを適切な再生サーバにマッピングします(デフォルトの再生サーバ テーブルを表示するには、デフォルトの PlayServerTable スキーマを参照)。

デフォルトの再生サーバ テーブルを使用すると、HTTP および HTTPS 再生サーバは常に再生サーバ リストに含まれるので、ACNS ソフトウェアは常に事前配信コンテンツを HTTP または HTTPS プロトコルを使用して再生できます。デフォルトの再生サーバ テーブルがニーズを満たさない場合、独自の再生サーバ テーブルを定義するか、マニフェスト ファイルで playServer 属性を指定すると、再生サーバ リストをカスタマイズできます。

ただし、カスタマイズされた再生サーバまたは属性を使用する場合、ACNS 5.0.1 ソフトウェアと ACNS 5.0.3 ソフトウェア(およびそれ以降のリリース)との間には、微妙な実装の違いがあります。ACNS 5.0.1 ソフトウェアでは、カスタマイズされた再生サーバ テーブルで HTTP または HTTPS を指定しない場合であっても、HTTP および HTTPS 再生サーバは、常に自動的に組み込まれます。その結果、カスタマイズされた再生サーバ リストのほかに、事前配信されたすべてのコンテンツは、常に HTTP または HTTPS プロトコルを使用して再生できます。ACNS 5.0.3 ソフトウェアでは、HTTP 再生サーバは、デフォルトの再生サーバ テーブルに含まれます。ただし、独自の再生サーバ テーブル、または <item> または <crawler> タグ内の playServer 属性を指定する場合、HTTP または HTTPS プロトコルを使用して HTTP または HTTPS などのコンテンツを再生するには、HTTP または HTTPS 再生サーバを追加する必要があります。HTTP および HTTPS 再生サーバは、ACNS 5.0.1 ソフトウェアの場合のように自動的に組み込まれることはありません。

次の例では、ACNS 5.0.1 ソフトウェアは、WMT 再生サーバだけが指定されている場合であっても、HTTP または HTTPS 再生サーバと WMT 再生サーバの両方がコンテンツを再生することを許可します。

<item src=”video.mpg” playServer=”wmt” />
 

ただし、ACNS 5.0.3 以降のソフトウェア リリースでは、WMT 再生サーバだけがコンテンツを再生します。HTTP または HTTPS 再生サーバがこのコンテンツを再生できるようにしたい場合は、次のように HTTP または HTTPS 再生サーバを指定する必要があります。

 
<item src=”video.mpg” playServer=”wmt,http” />
 

または

<item src=”video.mpg” playServer=”wmt,https” />
 

また、次の例では、ACNS 5.0.1 ソフトウェアを使用するか、ACNS 5.0.3 以降のリリースのソフトウェアを使用するかに応じて、マニフェストが生成する結果が異なります。

<CdnManifest>
<playServerTable>
<playServer name="wmt">
<extension name="asf" />
<extension name="wmv" />
</playServer>
<playServer name="qtss">
<extension name="mov" />
</playServer>
</playServer>
</playServerTable>
<server name="server">
<host name="http://server.com/" proto="http" />
</server>
<crawler start-url="root" depth="3" ttl="45" />
</CdnManifest>
 

このサンプル マニフェスト ファイルでクロールされるコンテンツには、次の特長があります。

ACNS 5.0.1 ソフトウェアでは、拡張子 .asf および .wmv を持つファイルは、HTTP 再生サーバと WMT 再生サーバの両方によって再生されます。拡張子 .mov を持つファイルは、HTTP 再生サーバと QTSS(QuickTime)再生サーバによって再生されます。これは、HTTP 再生サーバが指定されない場合であっても、常に自動的に組み込まれるからです。

ACNS 5.0.3 以降のリリースのソフトウェアでは、拡張子 .asf および .wmv を持つファイルは WMT 再生サーバのみで再生され、拡張子 .mov を持つファイルは QTSS 再生サーバのみで再生されます。HTTP 再生サーバを組み込むには、次の例のように、<playServer name="http"> を追加し、すべての拡張子をリストする必要があります。

<playServerTable>
<playServer name="wmt">
<extension name="asf" />
<extension name="wmv" />
</playServer>
<playServer name="qtss">
<extension name="mov" />
</playServer>
<playServer name="http">
<extension name="avi" />
<extension name="mpeg" />
<extension name="mpg" />
<extension name="mp3" />
<extension name="rm" />
<extension name="ram" />
</playServer>
</playServerTable>
 

独自の再生サーバ テーブルまたは playServer 属性を指定しない場合、デフォルトの再生サーバ テーブルが使用されます。デフォルトの再生サーバ テーブルには、常に HTTP 再生サーバが含まれます。

次のマニフェスト例では、ACNS 5.0.1 ソフトウェアと、ACNS 5.0.3 以降のソフトウェアとの動作は同じです。<playServerTable> タグも playServer 属性も定義されていないので、デフォルトの再生サーバ テーブルが、この項目の再生サーバの生成に使用されます。これには、HTTP 再生サーバが含まれます。デフォルトの再生サーバ テーブルにより、HTTP 再生サーバだけでなく、そのタイプのファイル拡張子に関連した再生サーバで、ファイルが再生されます。

<CdnManifest>
<item src=”video.asf” />
</CdnManifest>
 

コンテンツ サービスに対する属性の指定

マニフェスト ファイル内で特定の属性を指定することにより、Content Engine がコンテンツをサービスする方法を制御できます。これらの属性は、<item> タグと <crawler> タグで指定できます。これらと同じ属性は、<item-group> タグまたは <options> タグでも指定できるので、<item> サブタグと <crawler> サブタグによって共有できます。 表A-3 では、これらのコンテンツ サービスの属性を一覧表示し、説明します。

 

表A-3 コンテンツ提供の属性

属性
説明

noRedirectToOrigin

(任意)オリジン サーバへのリダイレクションを true または false に設定します。false に設定すると、ACNS Content Engine は、コンテンツが入手できない場合、コンテンツ要求をオリジン サーバに転送できます。true に設定すると、ACNS ネットワーク Content Engine はオリジン サーバにコンテンツ要求を転送できず、エラーを生成します。デフォルトの設定は false です。

この属性は、コンテンツ単位に設定されます。つまり、コンテンツが削除された場合、リダイレクション設定は適用されません。ただし、ソフトウェアが単にコンテンツを取得できない場合であれば、この設定は適用されます。

serveStartTime

(任意)ACNS ソフトウェアがコンテンツのサービスを開始できる時刻を yyyy-mm-dd hh:mm:ss の形式で指定します。サービス開始時刻が省略される場合、コンテンツは Content Engine に配信されたあと、いつでもサービスできます。

serveStopTime

(任意)ACNS ソフトウェアがコンテンツのサービスを一時的に停止する時刻を yyyy-mm-dd hh:mm:ss の形式で指定します。サービス停止時刻が省略される場合、マニフェスト ファイルの変更またはチャネルの名前変更によってコンテンツが削除されるまで、ACNS ソフトウェアはコンテンツを Content Engine に配信します。

alternateUrl

(任意)ユーザが要求するコンテンツを ACNS ネットワーク内で用意できない場合、ACNS ネットワークはここで指定した代替 URL に要求を転送します。代替 URL は、エラー報告ページとして設定できます。この属性は、完全 URL だけをサポートします。


) この属性は、要求されるコンテンツに適用されます。コンテンツが削除されると、この属性は適用されませんが、コンテンツを取得できない場合は、この属性は適用されます。


requireAuth

(任意)規定のコンテンツを再生する前にユーザの認証が必要かどうかを決定します。 requireAuth が true に設定される場合、Content Engine は、規定のコンテンツをユーザに対して再生するために認証を必要とし、証明書を検査するためにオリジン サーバと通信します。要求が証明書検査に合格すると、そのコンテンツは Content Engine から再生されます。この属性が省略される場合は、設定値の決定に発見的解決法が使用されます。つまり、指定されたコンテンツが、ユーザ名とパスワードを使用して取得される場合、requireAuth は true に設定され、それ以外の場合は false に設定されます。FTP の場合、ユーザ名が匿名であれば、requireAuth は false に設定されます。


requireAuth が true である場合、このチャネルの Content Distribution Manager GUI Web Site ウィンドウにある Origin Server フィールドには、ユーザを認証できるサーバを指定する必要があります。ユーザがコンテンツを再生する場合、認証を確認するために、Origin Server フィールドに指定されたサーバが調べられます。


bitrate-in-bps
bitrate-in-kbps
bitrate-in-mbps

コンテンツのビット レートを指定します。ACNS ネットワークは、再生のダウンロードにこの値を使用します。次に例を示します。
item src=“http://www.cisco.com/Prod/ACNS.swf” bitrate-in-kbps=“500”/は、ダウンロードと再生を要求された場合、ACNS ソフトウェアがこのファイルを 500 kbps でダウンロードすることを意味します。

playDuration

ビデオ ファイルの再生所要時間を秒数で指定します。この値の使用目的は、次のとおりです。

ビデオ ファイルをダウンロードし、HTTP を介して再生します。

ビデオ ファイルが HTTP を使用して再生される場合、ACNS ソフトウェアは playDuration 属性を使用して、HTTP ダウンロードのビット レートを計算します。

ビデオ TV-out プログラムをスケジュールします。

再生所要時間値が省略される場合、ACNS ソフトウェアは、MPEG ファイルに対してこの値の計算を試みます。

ignoreQueryString

<options>、<item-group>、<item>、および <crawler> タグで使用できる再生属性。 ignoreQueryString が true に設定されている場合、ACNS ソフトウェアは、再生用の要求 URL 内で疑問符(?)のあとのストリングをすべて無視します。この属性が省略された場合、デフォルト値は false です。

たとえば、要求 URL url=http://web-server/foo を持つコンテンツが事前配信されているとします。ユーザが、URL url=http://web-server/foo?id=xxx を持つコンテンツを要求するときに、 ignoreQureryString 属性値が false である場合、ACNS ソフトウェアは、要求 URL http://web-server/foo からの事前配信コンテンツを使用しません。

ただし、 ignoreQueryString 属性が true に設定される場合、ACNS ソフトウェアは、要求 URL http://www-server/foo?id=xxx を http://www-server/foo と同じように扱い、事前配信コンテンツを戻します。

コンテンツ サービスのメタデータ指定

場合によっては、コンテンツを再生するためにメタデータを指定する必要があります。たとえば、FTP サーバからコンテンツを取得するにもかかわらず、HTTP で再生する必要がある場合です。そのときは、HTTP 再生メタデータ(たとえば、MIME タイプとキャッシュ制御)を指定する必要があります。

HTTP メタデータを指定するには、<http-meta-data> サブタグを使用します。次の例に示されている <http-meta-data> サブタグ内では、 name=value 属性は content-type="video/x-asf" および app-data="hh and dd" です。これらのサブタグは、HTTP コンテンツが再生されるときに、ACNS ソフトウェアがエンド ユーザに直接渡すように指定されます。

<http-meta-data content-type="video/x-asf" app-data="hh and dd" />
 

<http-meta-data> タグは、<item> または <crawler> タグのサブタグです。<item-group> タグ内で、メタデータを共有するすべての <item> タグまたは <crawler> タグに対して、<http-meta-data> タグが <item-group> タグのサブタグになるように設定してください。<crawler> タグに <http-meta-data> サブタグがある場合、クロールされる各コンテンツ オブジェクトはこのメタデータを共有します。

マニフェスト ファイルにおける時刻値の指定

次の属性では、時刻値を yyyy-mm-dd hh:mm:ss 形式(year-month-day hour:minute:second)で入力する必要があります。

prefetch

serveStartTime

serveStopTime

expires

time-before

time-after

マニフェスト ファイル内の時刻ストリングは、yyyy-mm-dd hh:mm:ss 形式に従います。特定の時間帯の使用を示すために、時間帯の指定を時刻ストリングの最後に任意で指定できます。時間帯の指定が省略される場合、GMT 時間帯が使用されます。時間帯の指定およびその GMT オフセットのリストについては、「マニフェスト ファイルの時間帯テーブル」を参照してください。時間帯内の夏時間と標準時間との間の自動変換はサポートされませんが、夏時間の特別な指定(たとえば、太平洋夏時間の PDT)を使用できることに注意してください。次の例では、プリフェッチ時間は、太平洋夏時間の 2002 年 9 月 5 日午前 9 時 9 分 9 秒です。

<options timeZone="PDT" />
<item src="index.html" prefetch="2002-09-05 09:09:09 PDT" />

コンテンツの更新と削除

コンテンツ オブジェクトが最新のものであるかどうかをモニタし、制御するには、マニフェスト ファイルの ttl (存続可能時間)および expires 属性を使用します。

ttl 属性は、分単位で表示され、ソフトウェアがオリジン サーバのコンテンツに更新がないかを調べる頻度を指定します。 ttl 属性が <item> タグ内に指定される場合、その項目に適用されます。<crawler> タグ内に指定される場合、この属性はクロール ジョブに適用されます。

たとえば、 ttl 属性に値 10 を指定する場合、ソフトウェアは項目またはクロール ジョブを 10 分ごとに調べます。項目が更新されていた場合、更新されたファイルが再度取得されます。


) 場合によっては、クロール ジョブが非常に大きく、数千のファイルをクロールする場合があります。再クロール速度は、小さいファイルの場合、1 時間あたり 5000 ファイルです。多数のファイルの再検査には、非常に時間がかかります。このようなクロール ジョブには、大きい ttl 値(たとえば、1440 分 [1 日])を指定することを推奨します。指定しないと、ソフトウェアは、サイトを何度も繰り返しクロールするため、他の取得タスクの妨げになります。


マニフェスト ファイルの ttl 属性を省略した場合、存続可能時間はゼロであるとみなされ、ソフトウェアは、その項目を取得後、再検査を行いません。 ttl 値をゼロにすると、Content Distribution Manager GUI で Fetch Manifest Now ボタンをクリックするか、ルート Content Engine CLI で acquirer start-channel EXEC コマンドを使用する場合を除いて、コンテンツは 1 回だけ取り出され、再検査されることはありません。

Fetch Manifest Now ボタンは、Content Distribution Manager GUI の Services > Web > Channels > Channel Content ウィンドウにあります。このボタンをクリックすると、ソフトウェアは、マニフェスト ファイルが更新されたかを調べ、更新されたマニフェスト ファイルがダウンロードされ、再解析されます。また、マニフェスト ファイルが更新されたかどうかにかかわらず、チャネル内のすべてのコンテンツは再検査され、更新されたコンテンツがダウンロードされます。

ttl 属性に負の値(たとえば、-1)を割り当てると、その項目の再検査は行われません。負の ttl 属性値を指定すると、Fetch Manifest Now ボタンをクリックしたり、 acquirer start-channel コマンドを使用しても、ソフトウェアは項目が最新のものであるかを検査しません。


) Content Distribution Manager GUI(Services > Web > Channels > Channel Content の順に選択)で更新間隔を設定すると、マニフェスト ファイル自体の更新がないかを調べる間隔が設定されます。この設定値は、マニフェスト ファイルの検査だけに関係します。コンテンツの検査には関係しません。


詳細は、「item」 ttl 属性の説明を参照してください。

failRetryInterval 属性は、 ttl 属性と区別して使用してください。fail and retry 機能は、障害のあるコンテンツまたは更新に作用します。単一項目の取得、またはクロールされたコンテンツの取得が失敗した場合、ソフトウェアはデフォルトの間隔(5 分)後に、障害が起きたオブジェクトの更新を自動的に行います。fail and retry 間隔は、マニフェスト ファイルの failRetryInterval 属性を使用して指定することもできます。

failRetryInterval 属性と ttl 属性との違いは、 ttl 属性は、正常に取得されたコンテンツに関するものであり、 failRetryInterval 属性は、コンテンツ取得の失敗に関するものである点です。 ttl 属性は、ソフトウェアにコンテンツの更新を再検査させるために指定する必要がありますが、 failRetryInterval 属性は、リトライ間隔を変更する場合を除いて、指定する必要はありません。

詳細は、「item」 failRetryInterval 属性の説明を参照してください。

expires 属性は、コンテンツが ACNS ネットワークから削除される時間を指定します。 expires 属性を設定するときに、時刻値を指定しないと、マニフェスト ファイルの変更時に明示的にコンテンツを削除するまで、コンテンツは ACNS ネットワークに保存されます。 expires 属性は、yyyy-mm-dd hh:mm:ss(year-month-day hour:minute:second)形式を使用します。次の例では、コンテンツは 2003 年 6 月 12 日午後 2 時に期限が切れます。

expires=”2003-06-12 14:00:00 PST”
 

expires 属性が <item> タグ内に指定される場合、その項目に適用されます。<crawler> タグ内に指定される場合、この属性はクロール ジョブに適用されます。詳細は、「item」 expires 属性の説明を参照してください。

コンテンツの複製と更新の状況のモニタは、Content Engine に置かれているトランザクション ログ ファイルをイネーブルにし、表示して行うことができます。コンテンツ オブジェクトまたはファイルが、特定の Content Engine で正常にインポート、または更新されたかどうかを確認するには、次のことを行います。

モニタ対象の Content Engine 上で、トランザクション ログ機能をイネーブルにします。

その Content Engine 上に置かれているコンテンツ オブジェクト、またはファイル名のトランザクション ログ エントリを表示します。

ライブ コンテンツの指定

マニフェスト ファイルで指定できるライブ コンテンツには、次の 2 つのタイプがあります。

wmt-live

real-live

次の例のように、<item> タグを使用し、 type 属性を wmt-live または real-live として指定します。wmt-live コンテンツ タイプのライブ ストリームは url=rtsp://www.company-web-site.org/tmp/ceo-talk です。real-live コンテンツ タイプのストリームは url=rtsp://real-server/tmp/funny-video です。

<CdnManifest>
<server name="wmt-server">
<host name="rtsp://www.company-web-site.org" />
</server>
<item src="/tmp/ceo-talk" type="wmt-live" >
</item>
<!--
This is a "wmt-live" streaming content type specified by the "type" attribute. The live stream URL is
rtsp://www.company-web-site.org/tmp/ceo-talk.
-->
<server name="real-server">
<host name="real-server" proto="rtsp" />
</server>
<item src="tmp/funny-video" type="real-live" />
<!--
This is "real-live" streaming content type specified by the "type" attribute. The stream URL is rtsp://real-server/tmp/funny-video.
-->
</CdnManifest>

その他のサンプル マニフェスト ファイル

ここでは、5 つのサンプル マニフェスト ファイルを列記します。XML では、<!-- と --> 間のテキストには、ファイルの実行には関係しないコメントが含まれています。これらの 5 つのサンプルでは、個々のタグの意味が分かりやすいように、所定のタグまたはタグのグループのすぐ下に、説明のコメントが追加されています。サンプル ファイル全体をコピーしたり、テキスト ファイルに保存したり、Microsoft Internet Explorer で表示したりできます。

また、タグの詳しい説明が必要な場合に、タグの最初の出現箇所から 「マニフェスト ファイルの解説」 への相互参照リンクも、各サンプルのコメントに組み込まれています。

これらのサンプル ファイルを Cisco.com からダウンロードする場合は、「サンプル マニフェスト ファイルのダウンロード」を参照してください。

5 つのサンプル マニフェスト ファイルに含まれるトピックは、次のとおりです。

サンプル 1

HTTP、HTTPS、FTP プロトコルを使用してコンテンツを取得する方法

認証が必要な場合にユーザ名とパスワードを指定する方法

サンプル 2

次のような取得の属性を指定する方法

ttl -- コンテンツ更新チェック間の時間間隔を設定

prefetch -- ACNS ソフトウェアがオリジン サーバからのコンテンツ取得を開始する時刻を指定

取得と配信の優先順位を指定する方法

次の再生属性を指定する方法

serveStartTime -- このコンテンツのサービスを開始する日時を設定

serveStopTime -- このコンテンツのサービスを停止する日時を設定

alternativeURL -- コンテンツがまだ Content Engine に複製されていない場合に使用する代替 URL を指定

requireAuth -- コンテンツを再生するための認証証明書をユーザに要求

expires -- コンテンツの有効期限切れ日時を設定

playServer -- 指定されたコンテンツを再生できる再生サーバを選択

noRedirectToOrigin -- false に設定され、コンテンツがまだ複製されていない場合、着信要求をオリジン サーバに転送しない

<http-meta-data> -- HTTP 再生用のメタデータを追加

サンプル 3

単純なクロール ジョブ

ディレクトリの FTP クロール

ディレクトリの HTTP クロール

Web サイトの HTTP クロール

<matchRule> タグを使用する単純なクロール ジョブ

MPEG ファイルだけを取得するためのディレクトリの FTP クロール

10 MB を超えるファイルだけを取得するためのディレクトリの HTTP クロール

if-modified-since ファイルだけを取得するための、Web サイトの HTTP クロール

サンプル 4

<contains> タグが組み込まれている項目

サンプル 5

RealMedia および WMT ストリーミング ライブ コンテンツ

サンプル 1

サンプル 1 は、HTTP、HTTPS、および FTP プロトコルを使用してコンテンツを取得する方法、および認証が必要なときにユーザ名とパスワードを指定する方法を示します。

<CdnManifest>
<!--
The CdnManifest tag pair is absolutely essential for a manifest file. It has to be the first tag and used only as a super tag for other tags.
-->
 
<item •src="http://my-server.xyz.com/myphotocollection/index.html" />
<item •src="http://my-server.xyz.com/myphotocollection/myname/000001.jpg" />
<!--
The preceding XML code defines single items, using the <item/> tag, to fetch from the origin server.
-->
 
<item •src="http://my-name:my-password@my-auth-server.xyz.com/mymoviecollection/index.html" />
<item •src="http://my-name:my-password@my-auth-server.xyz.com/mymoviecollection/myname/000001.wmv" />
<!--
This origin server requires user authentication. Notice that there is my-name:my-password in the URL to specify the username and password to access the file.
-->
 
<item •src="https://my-server.xyz.com/my_secure_photocollection/index.html" />
<item •src="https://my-server.xyz.com/my_secure_photocollection/myname/000001.jpg" />
<!--
From this origin server, the content is to be acquired using HTTPS, or HTTP over SSL, so that the protocol specified is HTTPS.
-->
 
<!--
The following XML code defines the origin server from which to obtain content. The content is to be acquired using HTTPS, or HTTP over SSL, so that the protocol specified is HTTPS. This origin server also requires user authentication. The "user" and "password" attributes specify the required username and password to access content from the origin server. The "sslAuthType" attribute specifies either "weak" or "strong" SSL certification. For example, "weak" certification allows expired, self-signed certification.
-->
<item •src="https://myself:mypwd@my-auth-server.xyz.com:443/my_auth_moviecollection/index.html"
sslAuthType="weak" />
<item •src="https://myself:mypwd@my-auth-server.xyz.com:443/my_auth_moviecollection/myname/000001.wmv" sslAuthType="weak"/>
 
 
<item •src="ftp://my-server.xyz.com//my-doc-root/myphotocollection/index.html" />
<item •src="ftp://my-server.xyz.com/my-doc-root/myphotocollection/file1.jpg" />
<!--
The preceding XML code defines two single items to obtain from the origin
server. Notice that the first item has two "/" characters (forward slashes). This means the path is absolute or relative to the root directory. The second item only has one "/" character (forward slash). This means that the content path is relative to the default login directory for an anonymous user.
To understand absolute and relative paths, consider the following directory listings:
The first directory lists the contents of /my-doc-dir, and the second directory lists the contents of anonymous-default-dir, where anonymous-default-dir is the default directory for the "anonymous" user.
xyz# ls -lR /my-doc-root/
/my-doc-root/:
total 1
drwxrwxrwx 2 admin root 1024 Dec 28 01:46 myphotocollection
/my-doc-root/myphotocollection:
total 1
-rw-rw-rw- 1 admin root 4 Dec 28 01:46 index.html
xyz# ls -lR /anonymous-default-dir/
/anonymous-default-dir/:
total 1
drwxrwxrwx 3 admin root 1024 Dec 28 01:53 my-doc-root
/anonymous-default-dir/my-doc-root:
total 1
drwxrwxrwx 2 admin root 1024 Dec 28 01:53 myphotocollection
/anonymous-default-dir/my-doc-root/myphotocollection:
total 1
-rw-rw-rw- 1 admin root 4 Dec 28 01:53 index.html
The single item with the following absolute path
<item •src="/my-doc-root/myphotocollection/index.html" />
fetches the file /my-doc-root/myphotocollection/index.html.
The single item with the following relative path
<item •src="my-doc-root/myphotocollection/file1.jpg" />
fetches the file /anonymous-default-dir/my-doc-root/myphotocollection/file1.jpg.
You must be careful to specify exactly what you want.
-->
 
<item •src="ftp://my-name:my-password@my-auth-server.xyz.com//my-doc-root/mymoviecollection/index.html" />
<item •src="ftp://my-name:my-password@my-auth-server.xyz.com/my-own-moviecollection/wedding/file1.wmv" />
<!--
The preceding XML code defines two single items to obtain from the origin server. Notice that the first item specifies an absolute path, and the second one specifies a relative path. In this case, the relative path is relative to the default login directory for the user "my-name."
-->
</CdnManifest>

サンプル 2

サンプル 2 は、属性の指定方法を示すために作成されたマニフェスト ファイルです。

<CdnManifest>
 
<item •src="ftp://my-ftp-server/data/video.mpg"
•ttl="60"
•type="prepos"
•prefetch="2003-03-20 10:00:00 PST"
•noRedirectToOrigin="true"
•requireAuth="true"
playServer="http,wmt"
•expires="2003-06-12 14:00:00 PST"
•alternateUrl="http://my-web-server.com/video-error-page.htm"
•priority="50000"
•serveStartTime="2003-01-12 14:00:00 PST"
•serveStopTime="2099-04-12 14:00:00 PST"
•playDuration="240"
•failRetryInterval="60"
/>
 
<!--comments:
src: specifies the file location, and is required.
prefetch: specifies the time when the ACNS software can start to acquire content from the origin server.
ttl: checks whether this file is updated every 60 minutes, and is required.
noRedirectToOrigin: when false, does not redirect the request to the origin server if the content has not yet been replicated on the Content Engine.
requireAuth: when true, requires authentication to play back this content to users. User requests are redirected to the origin server to check credentials. If the requests pass the credential check, the content is played back from the Content Engine.
playServer: allows the HTTP Apache server and WMT server to play back this content. That is, the supported playback protocols for this content are HTTP and RTSP.
expires: removes content from the ACNS network when it expires on the specified date.
alternateUrl: redirects the user to this URL when the request to play back the content is received but the content has not yet been replicated on the Content Engine.
priority: specifies the item priority. Content acquisition and distribution is processed in the order set by the overall priority. This means that the higher the overall priority, the earlier the content is acquired and distributed. The overall priority is calculated as channel-priority * 10000 + item-priority. Channel priority is 250 for low, 500 for normal, and 750 for high. Item priority is 10000 - (index of the item in the manifest file) if a priority is not specified. For example, assume there are two items in a manifest file. The first item does not have a "priority" attribute, but the second item does and its priority is 20000. The item priority of the first item is 10000 - 1 = 9999 and the item priority of the second item is 20000. In this example, the item priority for this item is 50000.
serveStartTime: specifies the time that ACNS software can start to serve this content.
serveStopTime: specifies the time that ACNS software stops serving this content.
playDuration: specifies the video play duration in seconds. It will be
used by the HTTP playserver to figure out the downloading bit rate.
failRetryInterval: specifies the interval to retry in minutes if this
acquisition fails. In this example, the system will try again in 60 minutes.
end of comments -->
 
 
 
<crawler •start-url="ftp://my-ftp-server//root/data/video-files/"
•depth="3"
•ttl="60"
•noRedirectToOrigin="false"
•requireAuth="true"
playServer="http,wmt"
•expires="2003-06-12 14:00:00 PST"
•alternateUrl="http://my-web-server.com/video-error-page.htm"
•priority="50000"
•serveStartTime="2003-01-12 14:00:00 PST"
•serveStopTime="2003-04-12 14:00:00 PST"
•failRetryInterval="60"
/>
 
<!-- comments
start-url: specifies the directory where crawling is to start "/root/data/video-files/."
depth: specifies a crawl level of three subdirectories.
noRedirectToOrigin: if false and the crawled items are not replicated to the Content Engine, the request for that content is not redirected to the origin server.
requireAuth: if true, authentication is required for all crawled content.
playServer: all crawled content can be played back by an HTTP web server and WMT streaming server.
expires: all crawled content is expired and deleted at the time specified.
alternateUrl: if any of the crawled items are not replicated to the Content Engine, the request for that content is redirected to this URL.
priority: all crawled items have the same item priority of 50000. Because they are in the same channel, they have the same overall-priority.
serveStartTime: all crawled content can be served after the specified time.
serveStopTime: all crawled content cannot be served after the
specified time.
failRetryInterval: if some of the content in this crawl job fails to be acquired, ACNS software will try to acquire the content again at the specified interval. In this case, ACNS software will retry in 60 minutes.
end of comments -->
 
<item •src="ftp://my-ftp-server/data/video2.mpg"
playServer="http,wmt" >
<http-meta-data content-type="video/mpeg" />
</item>
 
<!-- comments
The <http-meta-data> tag can be used to specify any metadata for HTTP playback. For example, because this item is acquired using FTP, this tag must be used to specify the content type for this MPEG file.
end of comments
-->
 
<crawler •start-url="ftp://my-ftp-server/data/mpeg-files-2/"
•depth="3" >
<http-meta-data content-type="video/mpeg" />
</crawler>
 
<!-- comments
For this crawl job, three subdirectory levels are crawled under the "data/mpeg-files-2/" folder. The <http-meta-data> tag is used to specify the content type for HTTP playback for all crawled content.
end of comments -->
 
</CdnManifest>

サンプル 3

サンプル 3 は、クロール機能の使用方法を示すマニフェスト ファイルです。

<CdnManifest>
 
<crawler •start-url="ftp://ftp-server/pub-data/video-files/" •ttl="10" •depth="1" />
 
<!-- The preceding XML code specifies that an FTP crawl job is to crawl the "ftp-server" using the <crawler> </crawler> tag pair. Its starting directory is "pub-data/video-files/" and its crawl depth is 1. The files in this folder are monitored at 10-minute intervals. If files are updated, removed, or added, the resulting change is reflected in the ACNS software. -->
<crawler •start-url="ftp://ftp-server/video-files/" •ttl="10" •depth="1" >
<matchRule>
<match extension="mpg" />
</matchRule>
</crawler>
 
<!-- This crawl job is similar to the preceding crawl job, except that it includes a <matchRule> </matchRule> tag pair to specify the kind of content that is to be acquired. In this case, only files with the "mpg" file extension are acquired.
-->
 
<crawler •start-url="http://www.ftp-server.com/pub-data/video-files/" •depth="5" />
 
<!-- This is an HTTP directory crawl job. The HTTP server must be configured to enable the directory indexing feature for those directories that you want to crawl. For the Apache server, you must modify the Apache configuration file such that it looks like the following:<crawl directories pub-data/video-files/ > Options Index </crawl directories> If the request URL points to a directory, the web server dynamically generates an HTML page with a list of files contained in that directory. In this crawl job, the directory "pub-data/video-files/" and its subdirectories are crawled to a depth level of 5. -->
 
<crawler •start-url="http://www.ftp-server.com/pub-data/video-files/" •depth="5" >
<matchRule>
<match size-min-in-KB="10" extension="mpg" />
</matchRule>
</crawler>
 
<!-- This crawl job is similar to the preceding crawl job, except that it includes the <matchRule> </matchRule> tag pair. This matchRule tag fetches only files that match files with the extension "mpg" and file sizes equal to or larger than 10 MB.
-->
 
<crawler •start-url="http://www.cnn.com/sport/index.htm" •prefix="sport/" •depth="3" size-min-in-KB="1000" />
 
<!-- This crawl job attempts to crawl part of cnn.com. The start URL is http://www.cnn.com/sport/index.htm. This job only crawls URLs with the prefix http://www.cnn.com/sport/, acquiring only files from the directory "sport/." The "depth=3" means the job is to crawl only up to 3 link levels. The max-size-in-MB means that crawling stops if the total of crawled items reaches 1000 MB.
-->
 
<crawler •start-url="http://www.cnn.com/movie/index.htm" •depth="3" >
<matchRule>
<match extension="mpg" •time-after="2002-01-02 00:00:00" />
<match extension="asf" •time-after="2002-07-02 00:00:00" />
</matchRule>
</crawler>
 
<!-- This crawl job attempts to crawl part of www.cnn.com. Its start URL is http://www.cnn.com/movie/index.htm. and its crawl depth is 3. This matchRule acquires only files with the "mpg" extension created after than Jan. 2, 2002 or files with the "asf" extension created after July 2, 2002.
-->
 
</CdnManifest>

サンプル 4

サンプル 4 は、<contains> タグの目的と使用法を示すために作成されたマニフェスト ファイルです。<contains> タグは、必要なファイルが Content Engine 上に存在しない場合、コンテンツをサービスしないようにするためのものです。一般に、1 つのプレゼンテーションの配信は、複数ファイルのサービスで構成されます。たとえば、ASF ビデオ ファイルがプレゼンテーションに複数の JPG または HTML ファイルを使用するのに、その JPG または HTML ファイルが存在しない場合、その ASF ビデオは配信されません。

<CdnManifest>
<item •src="http://my-origin-server/images/intro.html" />
<item •src="http://my-origin-server/images/intro.jpg" />
 
<!--
These are just two regular single item acquisition jobs.
-->
 
<item •src="http://my-origin-server/movie/movie1.asf" >
<contains •cdn-url="images/intro.html" />
<contains •cdn-url="images/intro.jpg" />
</item>
 
<!-- The preceding item, movie1.asf, contains two other items, intro.html and intro.jpg. The items are contained using the <contains/> tag. If these two contained items are not present on the Content Engine, then the ACNS software does not serve the container file movie1.asf.
-->
 
</CdnManifest>

サンプル 5

サンプル 5 は、ライブ コンテンツの指定方法を示すために作成されたマニフェスト ファイルです。ACNS 5.x ソフトウェアは、2 つのタイプのライブ コンテンツ(wmt-live と real-live)をサポートします。ライブ ストリーミング コンテンツを指定するには、 type 属性を使用します。

<CdnManifest>
<item •src="rtsp://www.company-web-site.org/tmp/ceo-talk" •type="wmt-live" />
 
<!-- This is a "wmt-live" streaming content type specified by the "type" attribute. The live stream URL is rtsp://www.company-web-site.org/tmp/ceo-talk.
-->
 
<item •src="rtsp://real-server/tmp/funny-video" •type="real-live" />
 
<!-- This is "real-live" streaming content type specified by the "type" attribute. The stream URL is rtsp://real-server/tmp/funny-video.
-->
 
</CdnManifest>

サンプル マニフェスト ファイルのダウンロード

前述の 5 つのサンプル マニフェスト ファイルを Cisco.com からダウンロードする手順は、次のとおりです。


ステップ 1 次の URL に進んで、サンプル ファイルを見つけます。

http://www.cisco.com/cgi-bin/tablebuild.pl/acns52

ステップ 2 プロンプトが表示されたら、指定されている Cisco.com のユーザ名とパスワードを使用して Cisco.com にログインします。

Cisco ACNS Software Download ページが表示され、Cisco ACNS Software 製品で利用可能なソフトウェア アップデート版が一覧表示されます。

ステップ 3 ACNS-5.2.1.5-manifest-samples.zip という名前のファイルを見つけます。この ZIP アーカイブ ファイルには、サンプル マニフェスト ファイルが含まれています。

ステップ 4 ACNS-5.2.1.5-manifest-samples.zip ファイルのリンクをクリックします。ダウンロード ページが表示されます。

ステップ 5 Software License Agreement をクリックします。

別のブラウザ ウィンドウが開き、ライセンス契約が表示されます。

ステップ 6 ライセンス契約の内容を確認したあと、その契約を表示しているブラウザ ウィンドウを閉じて、Software Download ページに戻ります。

ステップ 7 Download というラベルが付いているファイル名へのリンクをクリックします。

ステップ 8 サンプル ファイルが含まれている zip ファイルを一時的に保存するには、 Save to file をクリックしてから、ワークステーション上のロケーションを選択します。

ステップ 9 適切な解凍プログラムを使用して、ワークステーションまたはネットワーク上のロケーションにスクリプトを解凍します。

サンプル ファイルを解凍したあと、それらのファイルを使用して、使用している Web サイト専用に独自のマニフェスト ファイルを作成できます。


 

Manifest Validator ユーティリティ

ACNS ネットワーク上に事前配信コンテンツを適切に配置するには、正しいマニフェスト ファイル構文が非常に重要です。そのためにシスコは、マニフェスト ファイル構文の検証ユーティリティを用意しています。Manifest Validator は、作成または変更したマニフェスト ファイルの構文が正しいことを検証する Java ベースの CLI であり、Content Distribution Manager GUI に組み込まれています。

Manifest Validator ユーティリティは、マニフェスト ファイルの各行を検証して、構文エラーがある場合はそのエラーを特定し、またマニフェスト ファイルが有効で、コンテンツを ACNS ネットワークにインポートするために使用できるかを判別します。構文の妥当性テストの結果は、ユーザが指定するロケーションへテキスト ファイルとして記録されます。

Manifest Validator ユーティリティの実行

Manifest Validator ユーティリティは、Content Distribution Manager GUI に組み込まれています。図A-1 に、Manifest Validator GUI ウィンドウを示します。

図A-1 Content Distribution Manager GUI の Manifest Validator ウィンドウ

 

チャネルを作成したあと、次の GUI パスを使用して Manifest Validator にアクセスできます。

Services > Web > Channels > Edit または Create Channel Icon > Tools > Manifest Validator


) Manifest Validator にアクセスする前に、新しいチャネルを作成するか、既存のチャネルを変更する必要があります。


Validate Manifest File の下の Manifest File フィールドに、検証するマニフェスト ファイルの URL を入力し、Validate をクリックしてください。Manifest Validator は、マニフェスト ファイルの構文を検証して、マニフェスト内のコンテンツ項目ごとにソース ファイル名が指定されていることを確認します。次に、コンテンツ項目ごとに URL を調べて、コンテンツが正しく配置されていることを確認してから、GUI ウィンドウの下部に出力を表示します。マニフェスト ファイルの検証ユーティリティは、項目のサイズは判別しません。

正しいマニフェスト ファイル例

正しいマニフェスト ファイルの例を次に示します。

<CdnManifest>
<item
src="tmp/mao's.html"
priority="20"
/>
<server name="my-dev'box">
<host name="http://128.107.150.26"
proto="http" />
</server>
 
<item
src="tmp/lu.html"
priority="300"
/>
<item
src="/tmp/first_grader.html"
/>
<server name="server0">
<host name="http://umark-u5.cisco.com:8080/" />
</server>
<item •src="a.gif"/>
<server name="server1">
<host name="http://unicorn-web" />
</server>
<item •src="Media/wmtfiles/DCA%20Disk%201/Microsoft_Logos/Logos_100k.wmv" />
 
</CdnManifest>
 

マニフェスト ファイル検証ユーティリティが出力した最後の行は、マニフェストが有効であるかどうかを示します。しばらくすると、マニフェスト ファイルの処理を検証ユーティリティが完了したことを示す、次のメッセージが表示されます。

Total Number of Error: 0
Total Number of Warning: 0
Manifest File is CORRECT.
 

エラーが検出された場合、前述のメッセージの前に、エラー メッセージが表示されます。

誤ったマニフェスト ファイル例

次に、誤ったマニフェスト ファイルの例を示します。

<CdnManifest>
<item
src="tmp/mao's.html"
priority="20"
/>
<server name="my-dev'box">
<host name="http://128.107.150.26"
proto="http" />
</server>
<item
src="tmp/lu.html"
priority="300"
/>
<item
src="/tmp/first_grader.html"
/>
<server name="server0">
<host name="http://umark-u5.cisco.com:8080/" >
</server>
<item src="a.gif"/>
<server name="server1">
<host name="http://unicorn-web" />
</server>
<item src1="Media/wmtfiles/DCA%20Disk%201/Microsoft_Logos/Logos_100k.wmv" />
</CdnManifest>
 

この例では、警告はありませんが、2 つのエラーが検出されます。次のメッセージに示すように、マニフェスト ファイルの構文に誤りがあります。

ERROR (/state/dump/tmp.xml.1040667979990 line: 23 col: 1 ):No character data is allowed by content model
ERROR (/state/dump/tmp.xml.1040667979990 line: 23 col: 9 ):Expected end of tag 'host' Manifest File: /state/dump/tmp.xml.1040667979990
Total Number of Error: 2
Total Number of Warning: 0
Manifest File is NOT CORRECT!
 

次に、Manifest Validator が誤ったマニフェスト ファイルを検査したあとに表示される出力例を示します。

Manifest validated: http://qiwzhang-lnx/nfs-obsidian/Unicorn/my-single-bad.xml
The manifest is downloaded as /state/dump/tmp.xml.1040667979990 for validation, this file will be removed when validation is completed.
Start CdnManifest
Start item
priority=20
src=tmp/mao's.html
End item
 
Start server
name=my-dev'box
Start host
name=http://128.107.150.26
proto=http
uuencoded=false
End host
 
End server
 
Start item
priority=300
src=tmp/lu.html
End item
 
Start item
src=/tmp/first_grader.html
End item
 
Start server
name=server0
Start host
name=http://umark-u5.cisco.com:8080/
uuencoded=false
ERROR (/state/dump/tmp.xml.1040667979990 line: 23 col: 1 ):No character data is allowed by content model
ERROR (/state/dump/tmp.xml.1040667979990 line: 23 col: 9 ):Expected end of tag 'host' Manifest File: /state/dump/tmp.xml.1040667979990
Total Number of Error: 2
Total Number of Warning: 0
Manifest File is NOT CORRECT!

マニフェスト ファイル検証ユーティリティ出力の要約説明

マニフェスト ファイル検証ユーティリティのメッセージは、Content Distribution Manager GUI の Manifest Validator ウィンドウにある Manifest File フィールドの下に表示されます。

各出力ファイルには、同じような構造と構文があります。出力ファイルでは、マニフェスト ファイルの誤った構文により生じるエラーまたは警告メッセージを特定します。検証ユーティリティは、マニフェスト ファイルを次のどちらかであると判別します。

CORRECT -- 構文違反の可能性がありますが、構文上は有効であり、ACNS ネットワーク上に配置できます。

INCORRECT -- 構文エラーがあり、ACNS ネットワーク上での配置に使用できません。

構文エラー

マニフェスト ファイル検証ユーティリティの構文エラーが表示されるのは、特定の場合です。それは、表示されるべきコンテンツ項目のソース ファイルが、表示されていないか、誤った構文を使用して表示されているため識別できない場合です。構文エラーが含まれているファイルには、
INCORRECT
のマークが付けられます。

構文エラーは、出力内の ERROR ラベルで識別されます。ラベルの他にも、エラーが含まれている行番号と列番号が、エラーが出されたマニフェスト属性と一緒に表示されます。エラーは次の例のように表示されます。

ERROR (/state/dump/tmp.xml.1040667979990 line: 23 col: 1 ):No character data is allowed by content model
 

ファイル名を構成している要素は、次のとおりです。

/state/dump/tmp.xml.1040667979990 はマニフェスト ファイル名です。

line:23 col:1 は、エラーが発生したマニフェスト ファイルの行および列番号です。

「No character data is allowed by content model」は、マニフェスト ファイル エラーのタイプを記述しています。

構文警告

マニフェスト ファイル検証ユーティリティは、マニフェスト ファイル構文内の広範な違反に対して構文警告を出します。構文警告が含まれているファイルには、構文エラーに応じて、 CORRECT または INCORRECT のマークが付きます。

構文警告は、出力内の WARNING レベルで識別されます。この警告ラベルに加えて、その警告に対応する行番号が、マニフェスト属性、有効なオプション、および警告が出された属性のデフォルト値と一緒に表示されます。

マニフェスト ファイル構文の修正

マニフェスト ファイル検証ユーティリティからの出力を使用して、構文警告、エラー、およびメッセージを識別したあと、マニフェスト ファイル構文を修正し、修正されたファイル上でマニフェスト ファイル検証ユーティリティを再実行して、修正されたことを確認します。

マニフェスト ファイル内の構文警告およびエラーを修正する手順は、次のとおりです。


ステップ 1 適切な XML エディタを使用して、マニフェスト ファイルを開きます。

ステップ 2 マニフェスト ファイル検証ユーティリティの出力を参照しながら、マニフェスト ファイル検証ユーティリティが提示する行番号を使用して、マニフェスト ファイル内の構文違反を探します。

マニフェスト ファイル内のすべての警告とエラーを見直すことを推奨します。警告が出ている場合、マニフェスト ファイル検証ユーティリティで構文が正しいとみなされていても、指定のコンテンツを ACNS ネットワークに配置する際に、そのマニフェスト ファイルが問題の原因になることがあります。

ステップ 3 構文警告とエラーに必要な修正を加えたあと、 Save をクリックします。

ステップ 4 マニフェスト ファイル検証ユーティリティでマニフェスト ファイルを再度検証して、新しいエラーや警告、または解決されていないエラーや警告がないかどうか、検証ユーティリティの出力を調べます。

ステップ 5 すべてのエラーと警告が適切に解決され、マニフェスト ファイル構文が正しいことをマニフェスト ファイル検証ユーティリティが示すまで、ステップ 1ステップ 4 を繰り返します。


 

マニフェスト ファイルの解説

ここでは、次のトピックについて解説します。

マニフェスト ファイルの構造と構文

XML スキーマ

マニフェスト ファイルの自動化スクリプト

マニフェスト ファイルの時間帯テーブル

マニフェスト ファイルを最も効率よく、エラーが起きにくいように作成する方法は、次のとおりです。

この章のサンプル マニフェスト ファイルから 1 つ選択し、ユーザの特定ニーズに合わせて変更します。そのとき XML 構文を正しく使用します。

Cisco.com からダウンロード可能な、2 つのサンプル Perl スクリプトをそのまま使用するか、これらのダウンロードしたスクリプトを独自の目的に合わせてカスタマイズします。

この章に提示されている、事前作成済みのサンプル XML マニフェスト ファイルから 1 例を使用して、作業を開始できます。自分のコンテンツ取得と事前配信のニーズに最も近いサンプル マニフェスト ファイルを選択し、それに応じて XML コードを変更すると同時に、XML 構文が正しく使用されていることを確認します。

そのほかにも、シスコが提供しているサンプル Perl スクリプトも使用できます(Perl スクリプトの取得を参照)。

適切なマニフェスト ファイルの作成後に、そのファイルの構文の正しさを確認するには、Content Distribution Manager GUI から、新規に作成した XML コード上で Manifest Validator ユーティリティ(Manifest Validator ユーティリティを参照)を実行します。

マニフェスト ファイルの構造と構文

Cisco ACNS 5.x ソフトウェアのマニフェスト ファイルには、簡易テキスト エディタを使用して容易に編集できる ACNS ネットワーク データを作成し、処理する強力な機能があります。 表A-4 に、マニフェスト ファイルのタグ、このタグに対応する属性とサブ要素、各タグの簡単な説明についての一覧を示します。 表A-5 では、マニフェスト ファイル内にタグをネストする方法の例を示しています。そのあとのセクションでは、マニフェスト ファイルのタグ、それらのタグが含まれているデータ、およびその属性を詳しく説明します。

 

表A-4 マニフェスト ファイルのタグのまとめ

タグの名前
サブ要素
属性
説明

CdnManifest

<playServerTable/>
<options/>
<server/>
<item/>
<item-group/>
<crawler/>

なし

マニフェスト ファイルの内容の先頭と末尾をマークします。

playServerTable

<playServer/>

なし

(任意)メディア タイプのデフォルト マッピングを設定します。

playServer

<contentType/>
<extension/>

name 1

<contentType> タグを使用してマッピングされる、コンテンツ タイプと拡張子付きファイルの再生を処理する、Content Engine 上のメディア サーバ タイプの名前を指定します。

contentType

なし

name

(任意、ただし、<content-type> または <extension> タグのいずれかが必要)。再生サーバにマッピングされる MIME タイプのコンテンツを指定します。

extension

なし

name

(任意、ただし、<content-type> または <extension> タグのいずれかが必要)。再生サーバにマッピングされるファイル拡張子を指定します。

options

<schedule><repeat>

alternateUrl
bitrate-in-bps
bitrate-in-kbps
bitrate-in-mbps
discardAllHttpHeaders
discardHttpHeaders
enableCookies
expires
failRetryInterval
ignoreOriginPort
ignoreQueryString

keepHttpHeaders
noRedirectToOrigin
notFoundURL
playDuration
prefetch
priority
requireAuth
server
sslAuthtype
timeZone
ttl
type

(任意)共有可能なマニフェスト ファイルに固有の属性を定義します。

server

<host/>

name

コンテンツが取得される元のホストを 1 つだけ定義します。

host

なし

name

disableBasicAuth
noProxy
ntlmUserDomain
password
port
proto

proxyServer
sslAuthType
user
userDomainName
uuencoded

コンテンツが取得され、あとで事前配信される元の Web サーバまたはライブ サーバを定義します。

ホスト名は、次のように指定できます。

proto://user:password@hostname:port

proxyServer

なし

serverName

disableBasicAuth
ntlmUserDomain
password

port
user
uuencoded

プロキシ サーバ情報を指定します。

item

<contains/>
<http-meta-data/>
<schedule><repeat>

src
alternateUrl
authCookie
bitrate-in-bps
bitrate-in-kbps
bitrate-in-mbps
cdn-url
disableBasicAuth
discardAllHttpHeaders
discardHttpHeaders
enableCookies
expires
failRetryInterval
host
ignoreOriginPort
ignoreQueryString
keepHttpHeaders
noProxy
noRedirectToOrigin
ntlmUserDomain

password
playDuration
playServer
port
prefetch
priority
proto
proxyServer
requireAuth
server
serveStartTime
serveStopTime
sslAuthType
ttl
type
user
userDomainName
uuencoded

オリジン サーバから取得される特定のコンテンツを識別します。

crawler

<http-meta-data/>
<matchRule/>
<schedule><repeat>

start-url
accept
alternateUrl
authCookie
bitrate-in-bps
bitrate-in-kbps
bitrate-in-mbps
cdnPrefix
depth
disableBasicAuth
discardAllHttpHeaders
discardHttpHeaders
enableCookies
expires
externalPrefixes
externalServers
failRetryInterval
host
ignoreOriginPort
ignoreQueryString
keepExpiredContent
keepFolder
keepHttpHeaders
keepNoCacheContent
keepQueryUrl
max-number
max-size-in-MB

noProxy
noRedirectToOrigin
ntlmUserDomain
password
playDuration
playServer
port
prefetch
prefix
priority
proto
proxyServer
reject
reportBrokenLinks
requireAuth
serveStartTime
serveStopTime
server
srcPrefix
sslAuthType
ttl
type
user
userDomainName
uuencoded

Web サイトまたは FTP サーバのクロールをサポートします。

item-group

<item/>
<crawler/>
<item-group/>
<http-meta-data/>
<schedule><repeat>

alternateUrl
bitrate-in-bps
bitrate-in-kbps
bitrate-in-mbps
cdnPrefix
cdn-url
disableBasicAuth
discardAllHttpHeaders
discardHttpHeaders
enableCookies
expires
failRetryInterval
host
ignoreOriginPort
ignoreQueryString
keepHttpHeaders
noProxy
noRedirectToOrigin
ntlmUserDomain

password
playDuration
playServerport
prefetch
priority
proto
proxyServer
requireAuth
serveStartTime
serveStopTime
server
src
srcPrefix
sslAuthType
ttl
type
user
userDomainName
uuencoded

そのグループ内のすべての <item> および <crawler> タグが共有属性を共有できるように、それらの属性を 1 つのタグの下に置きます。

matchRule

<match>

なし

(任意)クローラー ジョブに追加のフィルタ規則を定義します。

match

なし

extension
mime-type
prefix
size-min-in-B
size-min-in-KB
size-min-in-MB

size-max-in-B
size-max-in-KB
size-max-in-MB
time-after
time-before
url-pattern

(任意)コンテンツ オブジェクトが ACNS ネットワークによって取得される前の、コンテンツ オブジェクトの取得基準を指定します。

contains

なし

cdn-url

(任意)現在記述されているコンテンツ項目内に組み込みまれているコンテンツ オブジェクトを識別します。

http-meta-data

なし

name=value

(任意)FTP で取得されるコンテンツにコンテンツ タイプを指定するために、エンド ユーザの HTTP 要求に HTTP 応答ヘッダーを送信します。

1.タグの必須属性は、太字で表示されます。

 

表A-5 マニフェスト ファイル内にネストされるタグの関係

<CdnManifest>

<playServerTable>
<playServer>

 

<contentType/>
<extension/>

</playServerTable>
</playServer>

<options>

マニフェスト ファイルの共有属性

</options>

<server>

<host/>

</server>

<item>

<contains/>
<http-meta-data/>

</item>

<crawler>

<http-meta-data/>
<matchRule/>

</crawler>

<item-group>

<contains/>
<http-meta-data/>

</item-group>

</CdnManifest>

CdnManifest

<CdnManifest> </CdnManifest> タグ セットは必須であり、マニフェスト ファイルの内容の先頭と末尾をマークします。少なくとも、各 <CdnManifest> タグ セットには、取得および保存される項目、つまりコンテンツ オブジェクトが少なくとも 1 つ入っていなければなりません。

属性

なし

サブ要素

<CdnManifest> タグ セットは、次のサブ要素を含むことができます。

playServerTable

<CdnManifest> タグ セットは、1 つの playServerTable サブ要素しか含むことができません。

options

<CdnManifest> タグ セットは、1 つの options サブ要素しか含むことができません。

server

item

item-group

crawler

<CdnManifest>
<server name="origin-server">
<host name="www.name.com" proto="http" port="80" />
</server>
<item cdn-url= "logo.jpg" server="originserver" src= "images/img.jpg" type="prepos"
playServer="http" ttl="300"/>
</CdnManifest>
 

playServerTable

<playServerTable> </playServerTable> タグ セットは、任意であり、このタグ セットにはさまざまなメディア タイプのデフォルト マッピングを設定する方法があります。マッピングは、MIME タイプ コンテンツ(優先マッピング)とファイル拡張子の両方に対して設定できます。再生サーバ テーブルを使用すると、特定のオリジン サーバからのコンテンツ タイプに対する、Content Engine 上のデフォルト マッピングを上書きできます。再生サーバは、5 つのストリーミング サーバ(WMT、RealMedia、HTTP、QTSS、または TV-out)のいずれかにできます。マニフェスト ファイルで <playServerTable> タグが設定されない場合、デフォルトの <playServerTable> タグが使用されます。

マニフェスト ファイルを使用すると、個々のコンテンツ オブジェクトと同様に、単一項目のグループがインストールされている再生サーバにマッピングできます。コンテンツ項目とマニフェスト ファイル再生サーバのマッピングは、次のとおりです。

コンテンツ項目 URL

再生サーバのマッピングは、デフォルトの <cdn-media> タグの代わりに、オリジン サーバ名の直後に表示されます。

<item> または <item-group> タグの属性としてのマニフェスト ファイル

このロケーションに置かれている再生サーバのマッピングは、 playserver 属性を使用して識別され、指定された項目または項目のグループだけに適用されます。

再生サーバ テーブルとしてのマニフェスト ファイル

マッピングは、<playServerTable> タグおよび <playServer> タグ内でグループ化され、マニフェスト ファイルで指示されたとおりに、オリジン サーバから提供されるコンテンツに適用されます。

システム レベル

再生サーバのマッピングは、ACNS ソフトウェアの始動時に設定されます。

<playServerTable> タグは、<CdnManifest> タグで囲まれ、指定の MIME タイプとファイル拡張子のマッピング先である、4 つの再生サーバの内の少なくとも 1 つの名前(たとえば、RealServer)を指定します。

属性

なし

サブ要素

<playServerTable> 要素には、<playServer> タグを最低 1 つ含める必要があります。

playServer

<playServer> </playServer> タグ セットは、<playServerTable> タグに必須のタグセットであり、Content Engine 上のメディア サーバ タイプを指定します。これは、<contentType> タグを使用してマッピングされる、コンテンツ タイプと拡張子付きファイルの再生を担当します。<playServer> タグは、<playServerTable> タグで囲まれます。


) <playServer> タグと、<item> または <item-group> タグ内の再生サーバの設定とを混同しないでください。<item> または <item-group> タグは、個々のコンテンツ オブジェクト、または関連したコンテンツ オブジェクトのグループに使用されるサーバ タイプを指定します。両方の再生サーバの設定は同じタスクを実行しますが、<item> タグ レベルの再生サーバの設定は、<playServerTable> タグ内の <playServer> タグが指定する、コンテンツ タイプとファイル拡張子のマッピングより優先されて行われます。


属性

<playServer> タグの名前は必須です。各 <playServer> タグは、name 属性を使用してコンテンツがマッピングされるサーバのタイプを指定します。ACNS 5.x ソフトウェアでは、Content Engine は、次の 5 つのタイプの再生サーバをサポートします。

real:RealMedia RealServer

http:HTTP Web サーバ

https:HTTPS Web サーバ

qtss:Apple QuickTime Streaming Server

wmt:Microsoft Windows Media Technologies

tvout:他のストリーミング サービスが事前配信ファイルを再生しないようにします。

サブ要素

<playServer> タグ セットには、次のサブ要素の少なくとも 1 つが存在する必要があります。

<contentType/>

<extension/>

contentType

<contentType/> タグは任意ですが、<contentType/> か <extension/> のどちらかのサブ要素が
<playServer> タグ セットに存在する必要があります。<contentType/> タグは、再生サーバにマッピングされる MIME タイプのコンテンツの名前を指定します。<contentType/> タグは、<playServer> タグ セットで囲む必要があります。<contentType/> タグと <extension/> タグの両方が、特定のメディア タイプの <PlayServerTable> タグに存在する場合、<contentType/> のマッピングが優先されます。

属性

各 <contentType/> タグは、 name 属性を使用して再生サーバにマッピングされるメディア コンテンツ タイプの名前を指定します。 name 属性は必須です。

サブ要素

なし

extension

<extension/> タグは任意ですが、<contentType/> か <extension/> のどちらかのサブ要素が <playServer> タグ セットに存在する必要があります。<extension/> タグは、再生サーバにマッピングされるファイル拡張子の名前を指定します。

<extension/> タグは、<playServer> タグのあとに続きます。<contentType/> タグと <extension/> タグの両方が、特定のメディア タイプの <playServer> タグ内に存在する場合、<contentType/> マッピングが優先されます。

属性

name 属性は必須であり、マッピングされるコンテンツ タイプのファイル拡張子を指定します。指定された拡張子を持つファイルが要求されると、マッピングされた再生サーバが、それらのファイルの配信に使用されます。

サブ要素

なし

<CdnManifest>
<playServerTable>
<playServer name="real">
<contentType name="application/x-pn-realaudio" />
<contentType name="application/vnd.rn-rmadriver" />
<extension name="rm" />
<extension name="ra" />
<extension name="rp" />
<extension name="rt" />
<extension name="smi" />
</playServer>
<playServer name="wmt">
<extension name="asx" />
<extension name="asf" />
<extension name="avi" />
</playServer>
<playServer name="http">
<contentType name="application/pdf" />
<contentType name="application/postscript" />
<extension name="pdf" />
<extension name="ps" />
</playServer>
</playServerTable>
<server name="test.origin.com/">
<host name="http://tst.orgn.com" proto="http" />
</server>
<item
src="pic1.mpg"
/>
</CdnManifest>

options

<options/> タグは、任意であり、そのマニフェスト ファイル固有の属性を定義するのに使用されます。共有される属性は、マニフェスト ファイル内の <item> タグと <crawler> タグによって継承できます。たとえば、 timeZone は、時間に関連したすべての値に時間帯を設定するのに使用される、マニフェスト ファイル固有の属性です。ttl や alternativeUrl のような属性は、<options/> タグとして指定でき、それらの値は、マニフェスト ファイル内のすべての <item> タグと <crawler> タグによって共有できます。

<options/> タグ セットは、<CdnManifest> タグ セットで囲まれ、最低 1 つのグローバル設定値を指定します。マニフェスト ファイルごとに 1 つの <options> タグしか指定できません。

マニフェスト ファイルの <options/>、<item-group>、または <item> タグ内でパラメータが定義される場合、優先順位は、低いものから <options/>、<item-group>、<item> の順です。

属性

timeZone 属性は、 expire 、および prefetch などの属性の時間値が基準とする時間帯を指定します。

notFoundURL 属性は任意です。この属性は、alternateUrl attribute と同様です。ユーザにより要求されるコンテンツが ACNS ネットワーク内にない場合、ACNS ソフトウェアはこの代替 URL に要求をリダイレクトします。代替 URL は、エラー報告ページとして設定できます。 notFoundURL 属性は、完全 URL だけをサポートします。

次に、<item> タグと <crawler> タグが共有できる属性のリストを示します。次の属性の説明については、「item」を参照してください。

alternateUrl

bitrate-in-bps/bitrate-in-kbps/bitrate-in-mbps

discardAllHttpHeaders

discardHttpHeaders

enableCookies

expires

failRetryInterval

ignoreOriginPort

ignoreQueryString

keepHttpHeaders

noRedirectToOrigin

playDuration

prefetch

priority

requireAuth

server

sslAuthType

ttl

type

サブ要素

<schedule><repeat>

これらのサブ要素の説明については、「item」を参照してください。

<CdnManifest>
<options
noRedirectToOrigin= "true"
timeZone="PST" />
 
</CdnManifest>

server

<server> と <host> のタグ フィールドは、オリジン コンテンツ ソース サーバを設定します。<server> タグ フィールド内にある <host> タグ フィールドは、コンテンツ ソース ホストを設定します。ACNS 5.x ソフトウェアでは、1 つの <server> タグ フィールドに対して複数の <host> タグ フィールドは、サポートされていません。

各 <item> タグ、または <item-group> タグには、この <server> タグ フィールドを参照する server 属性を指定できます。<server> </server> タグ セットは必須であり、コンテンツが取得される元のホストを 1 つだけ指定します。<server> タグは、<CdnManifest> タグ内に含まれ、コンテンツが取得される元のホストを識別する <host> タグを 1 つ含みます。

属性

name

name 属性は必須であり、<item> または <crawler> タグ内の server 属性値と一致するかぎり、任意の名前にできます。

サブ要素

<host/>

<server> タグ セットには、1 つの <host/> サブ要素しか含むことができません。

host

<host/> タグは必須であり、コンテンツが取得され、あとで事前配信される元の Web サーバまたはライブ サーバを定義します。1 つの <server> タグ セット内には、1 つのホストしか定義できません。<host/> タグは、<server> タグで囲む必要があります。

属性

disableBasicAuth

disableBasicAuth 属性は任意です。指定すると、基本認証がディセーブルになります。

name

name 属性は必須であり、ホストのドメイン名または IP アドレスを識別します(ただし、proto 属性フィールドが空の場合を除きます)。proto 属性フィールドが空である場合、name 属性は、スキームおよびドメイン名または IP アドレスを含む、完全修飾 URL でなければなりません。また、http://www.abc.com/media などのサブディレクトリも含むことができます。

name 属性には、SMB サーバへの UNC パスも含まれます。例を示します。\\SMBserver\directory\

noProxy

noProxy 属性は任意です。true に設定される場合、オリジン サーバに対してプロキシは使用されません。デフォルトは false です。

ntlmUserDomain

ntlmUserDomain 属性は任意であり、NTLM 認証用のユーザ ドメイン名を指定します。

password

password 属性は任意であり、ホスト サーバへのアクセスに必要なユーザ アカウントのパスワードを識別します。

port

port 属性は任意であり、ホストとの間で両方向にトラフィックが通過する TCP ポートを識別します。使用されるポートは、使用されるプロトコルによって異なります。HTTP のデフォルト ポートは 80 です。 port 属性は、非標準のポート割り当てにしか必要ありません。port 属性は、name 属性でも指定できます(例、name="http://www.cisco.com:8080/")。

proto

proto 属性は任意であり、ホストからコンテンツを取得するのに使用される通信プロトコルを識別します。サポートされるプロトコルは HTTP、HTTPS、MMS-over-HTTP、または FTP です。デフォルトの proto 属性は HTTP です。name 属性が Fully Qualified Domain Name(FQDN; 完全修飾ドメイン名)である場合、 proto 属性に設定は必要ありません。

proxyServer

proxyServer 属性は任意であり、マニフェスト ファイル内に複数の <proxyServer> タグがある場合、使用するプロキシ サーバを指定します。プロキシ サーバが指定されない場合、最も近い <proxyServer> タグ内のサーバが使用されます。

sslAuthType

sslAuthType 属性は任意であり、SSL 証明書確認のタイプとして次の 2 つの値を持つことができます。

strong -- 強固な認証。取得モジュールによる証明書確認時にエラーが発生する場合、そのサイトからのコンテンツは取得されません。 sslAuthType 属性のデフォルト設定は strong です。

weak -- 弱い認証。取得モジュールによる証明書確認時に発生するエラーの種類によっては、そのサイトからのコンテンツは続けて取得されます。これらのエラーは、次のとおりです。

Unable to decode issuer's public key(発行者の公開鍵をデコードできない)

Certificate has expired(証明書の有効期限切れ)

Self-signed certificate(自己署名証明書)

Self-signed certificate in certificate chain(証明書チェーン内の自己署名証明書)

Unable to get local issuer certificate(ローカルの発行者の証明書を取得できない)

Subject issuer mismatch(証明書の発行者のミスマッチ)

Authority and issuer serial number mismatch(権限と発行者のシリアル番号のミスマッチ)

The root Content Engine is not marked as trusted(ルート Content Engine が信頼できるとマーキングされていない)

Unable to verify the first certificate(最初の証明書を確認できない)

Certificate is not yet valid(証明書がまだ有効ではない)

Certificate has invalid purpose(証明書が無効)

user

user 属性は任意であり、ホスト アクセスに使用されるセキュア ログインを識別します。

userDomainName

この属性の説明については、「item」を参照してください。

uuencoded

uuencoded 属性は任意です。true に設定されている場合、パスワードは符号化されません。 uuencoded 属性のデフォルト設定は false です。

サブ要素

なし

proxyServer

<proxyServer> タグは、プロキシ サーバ情報を指定します。このタグは、ACNS 5.1 以降のソフトウェア リリースのみでサポートされます。<proxyServer> タグは、マニフェスト ファイルの一番上のレベルで、<CdnManifest> タグのすぐ下に置く必要があります。他のタグのサブタグとしては使用できません。次に例を示します。

<CdnManifest>
<proxyServer>
...
</CdnManifest>
</proxyServer>
 

属性

disableBasicAuth

disableBasicAuth 属性は任意です。指定すると、基本認証がディセーブルになります。

ntlmUserDomain

ntlmUserDomain 属性は任意であり、NTLM 認証用のユーザ ドメイン名を指定します。

password

password 属性は任意であり、プロキシ サーバへのアクセスに必要なユーザ アカウントのパスワードを識別します。

port

port 属性は任意であり、プロキシ ポートを指定します。

serverName

serverName 属性は必須であり、プロキシ サーバのドメイン名または IP アドレスを識別します。

user

user 属性は任意であり、プロキシ認証に使用される保護ログインを識別します。

uuencoded

uuencoded 属性は任意であり、パスワードが符号化されるかどうかを指定します。

サブ要素

なし

item

<item> </item> タグ セットは、取得される特定のコンテンツを識別します。<item> タグは、オリジン サーバ上の 1 つのコンテンツまたはコンテンツ オブジェクトを指定します(たとえば、グラフィック、MPEG ビデオ、または RealAudio サウンド ファイル)。コンテンツ項目は、個別に表示するか、<item-group> タグを使用してグループ化できます。

<item> タグは、<CdnManifest> タグ セットで囲まれている必要があり、<item-group> タグで囲まれることもあります。

属性

src

src 属性は必須であり、コンテンツを取得する元の URL を識別します。URL は、完全 URL または相対 URL にできます。完全 URL の形式は、次のとおりです。

proto://username:password@/domain-name:port/file-path/file-name

item src でサポートされるプロトコルは、HTTP、HTTPS、MMS-over-HTTP、FTP、SMB、およびファイルです。SMB の場合、URL は UNC 形式(\\SMBserver\directory\file)で記述する必要があります。

相対パスが使用される場合、オリジン サーバ情報の指定に <server> タグと <host> タグが必要です。次に例を示します。

<item src="http://user:password@www.cisco.com/HR/index.html" />
<server name="ftp-server" >
<host name="ftp://ftp-server" user="johw" password="wwww" />
</host>
<item src="data/video.asf" />
 

) 疑問符(?)を含む URL はサポートされていません。疑問符を含む URL を指定すると、マニフェスト解析エラーになります。



) ポンド記号(#)が入っている URL は変更されます。ポンド記号に続く文字はすべて(ポンド記号自体も含む)、廃棄されます。


host

src 属性のソース URL が相対 URL である場合、ホスト名を指定します。

server

server 属性は任意であり、<server> タグ内のサーバ名を参照します。 server 属性が省略される場合、最も近い <server> タグに表示されるサーバが使用されます。この項目の近くに <server> タグがない場合、マニフェスト サーバが使用されます。

cdn-url

cdn-url 属性は、任意であり、コンテンツを 1 つの URL(コンテンツ取得 URL)から取得する、または別の URL(パブリッシング URL)を使用して配信を行う必要があるときに使用します。 cdn-url 属性は、エンド ユーザがこのコンテンツにアクセスするために使用する相対 ACNS ネットワーク URL です。 cdn-url 属性が指定されない場合、 src 属性が相対 ACNS ネットワーク URL として使用されます。

次のサンプル マニフェスト ファイルで取得されるコンテンツ項目には、ファイル パス /RemAdmin/InternalReview/firstpage.htm が含まれています。 cdn-url 属性を使用して、新規にファイル パス(RemAdmin/Production/firstpage.htm)を指定すると、コンテンツが内部のレビューから発信されたことをパブリッシング URL にて隠蔽します。

<CdnManifest>
<server name="ultra-server">
<host name="http://ultra-server" />
</server>
<item src="RemAdmin/InternalReview/firstpage.htm" cdn-url="RemAdmin/Production/firstpage.htm" />
</CdnManifest>
 

前述の例では、 src はコンテンツ取得 URL であり、 cdn-url がパブリッシング URL です。


) コンテンツ項目 file path(RemAdmin/InternalReview/firstpage.htm)はマニフェスト ファイルにより制御されています。cdn-url 属性は、ファイル パスをマニフェスト ファイル内のコンテンツ項目と関連付けます。マニフェスト ファイルを使用すると、cdn-url 属性に対するファイル パスはコンテンツ項目がオリジン サーバ(src 属性)から取得される予定のファイル パスとは関係なく指定できます。またパブリッシング URL はコンテンツ取得 URL とは別に指定できます。( パブリッシング URL の生成を参照)。


コンテンツを再生するのに認証が必要な場合、またはライブ コンテンツの場合、コンテンツを取得するオリジン サーバに問い合わせを行う必要があります。したがって、2 つの URL は同一コンテンツ項目に存在し、 cdn-url 属性内で指定される URL は、常にオリジン サーバに存在しなければなりません。

たとえば、前述の例のコンテンツ項目「RemAdmin/Production/firstpage.htm」を再生するための認証が必要な場合、このコンテンツは「ultra-server」オリジン サーバ上に存在しなければなりません。それ以外の場合、事前配信コンテンツの再生は、正常に行われません。

一般に、 cdn-url cdnPrefix 、または srcPrefix 属性は、再生時に認証が必要な場合、またはライブ コンテンツの場合には、使用しません。

FTP を使用してコンテンツを取得するときに、マニフェスト ファイルでコンテンツ タイプが指定されず、パブリッシング URL を変更するために cdn-url 属性が指定される場合、 cdn-url 属性には正しいファイル パス拡張子が必要です。そうしないと、誤ったコンテンツ タイプが生成され、コンテンツを再生できません。

次の例では、オリジン サーバの URL と同一のファイル パス拡張子(.jpg)を持つパブリッシング URL を正しく示しています。

<item src="ftp://ftp-server.abc.com/pictures/pic.jpg" cdn-url="pic.jpg" />
 

次の例は正しく記述されていません。これは、 cdn-url 属性内で、ファイル パス拡張子(.jpg)を指定していないためです。

<item src="ftp://ftp-server.abc.com/pictures/pic.jpg" cdn-url="pic" />
 

type

type 属性は任意であり、コンテンツが ACNS ネットワーク上に事前配信されるかどうか、またはライブであるかどうかを定義します。type 属性には、 prepos wmt-live 、および real-live の 3 つがあります。 wmt-live 属性と real-live 属性は、ライブ コンテンツの配信に使用されます。このフィールドがブランクのままである場合、デフォルトのタイプは prepos です。

noRedirectToOrigin

noRedirectToOrigin 属性は任意であり、オリジン サーバへのリダイレクションを true または false に設定します。false に設定すると、ACNS Content Engine またはその他のエッジ デバイスは、コンテンツがそのデバイスで入手できる場合でも、コンテンツ要求をオリジン サーバにリダイレクトできます。true に設定すると、ACNS Content Engine またはエッジ デバイスは、オリジン サーバにコンテンツ要求をリダイレクトできず、エラーを生成します。 noRedirectToOrigin のデフォルト設定は false です。この属性は、コンテンツ単位に設定されます。つまり、コンテンツが削除された場合、リダイレクション設定は適用されません。しかし、ソフトウェアが単にコンテンツを取得できない場合であれば、この設定は適用されます。

(事前配信コンテンツの更新に関する noRedirectToOrigin 属性の影響については、事前配信コンテンツのフレッシュネスの設定を参照してください。)

playServer

playServer 属性は任意であり、コンテンツの再生に使用されるサーバの名前を指定します。有効な再生サーバは real(RealServer)、wmt(Windows Media Technologies)、qtss(QuickTime Streaming Server)、http と https(Web サーバ)、tvout です。このフィールドの値は、1 つの再生サーバか、コンマで区切られた複数の再生サーバです。この属性の値が指定されない場合、マニフェスト ファイル内の <PlayServerTable> タグが、このコンテンツの再生サーバ リストの生成に使用されます。マニフェスト ファイルに <PlayServerTable> タグが指定されていない場合、マニフェスト ファイルは、デフォルトの <PlayServerTable> タグを使用します。

prefetch

prefetch 属性は任意であり、コンテンツがはじめて取得される時刻、またはマニフェスト ファイルが解析されたあとに再度チェックする時刻を yyyy-mm-dd hh:mm:ss(year-month-day hour:minute:second) 形式で指定します。この時間の時間帯は、<options> タグで指定できます。時間帯内の夏時間と標準時間との自動変換はサポートされませんが、夏時間の特別な指定(たとえば、太平洋夏時間の PDT)は使用できます。次の例では、プリフェッチ時間は、太平洋夏時間の 2002 年 9 月 5 日午前 9 時 9 分 9 秒です。

<options timeZone="PDT" />
<item src="index.html" prefetch="2002-09-05 09:09:09 PDT" />
 

この属性が使用されるのは、コンテンツ取得機能を使用してオリジン サーバからコンテンツの取得を開始する時刻を指定するときです。コンテンツを取得する時刻を指定すると、コンテンツ取得機能がその時刻になるまでにコンテンツを取得することはありません。ただし、スケジュールされた ttl 間隔でコンテンツが更新されているかどうか確認が行われます。 prefetch 時刻が省略されると、コンテンツは即時に取得されます。

この属性の動作は、次のとおりです。

ACNS 5.1 -- マニフェスト ファイルが解析されてから、 prefetch 属性が次回の時刻(項目またはクロール タスクが変更されたか、あるいは新しいジョブが追加されたかには関係なく)を指定すると、取得機能はコンテンツの確認と取得を行うか、または prefetch 属性によって指定された時刻にクロール ジョブを再びクロールします。

ACNS 5.2 -- マニフェスト ファイルが解析されてから、いずれかの項目またはクロール タスクが変更されたり、新しいジョブが追加されたり、あるいは prefetch 属性で次回の時刻が指定されると、取得機能はコンテンツの確認と取得を行うか、または prefetch 属性によって指定された時刻にクロール ジョブを再びクロールします。

expires

expires 属性は任意であり、コンテンツが ACNS ネットワークから削除される時刻を
yyyy-mm-dd hh:mm:ss 形式で指定します。さらに、GMT 時間帯も指定できます(マニフェスト ファイルにおける時刻値の指定を参照)。この時刻値が省略されている場合、関連したマニフェスト ファイル コードを変更するときにコンテンツが削除されるまで、コンテンツは保存されます(事前配信コンテンツのフレッシュネスに関する HTTP ヘッダー expires 属性の影響については、事前配信コンテンツのフレッシュネスの設定を参照)。

ttl

ttl 属性は任意であり、コンテンツの再検証の時間間隔を分単位で指定します。時間値が省略されている場合、コンテンツは 1 回だけ取得され、更新されているかどうかはチェックされません。通常、 ttl 属性は正の値ですが、 ttl 属性に負の値を割り当てることもできます。次のリストで、 ttl 属性値の範囲について説明します。

 

ttl 属性値
アクション

ttl > 0

コンテンツは、 ttl 分ごとに再検査されます。また、コンテンツが再検査されるのは、マニフェスト ファイルが再解析され、マニフェスト ファイル内のコンテンツ仕様が変更された場合か、または Refetch ボタンがクリックされた場合です。

ttl = 0

コンテンツは 1 回だけ取得され、再検査が行われることはありません。コンテンツが再検査されるのは、マニフェスト ファイルが再解析され、マニフェスト ファイル内のコンテンツ仕様が変更された場合か、または Refetch ボタンがクリックされた場合のみです。

ttl < 0

コンテンツは 1 回だけ取得され、再検査が行われることはありません。マニフェストが再解析される場合、または Refetch ボタンをクリックした場合であっても、コンテンツは再検査されません。

serveStartTime

serveStartTime 属性は任意であり、ACNS ソフトウェアがコンテンツの配信を開始できる時刻を yyyy-mm-dd hh:mm:ss 形式で指定します。配信時刻が省略された場合、コンテンツが Content Engine またはその他のエッジ デバイスに配信されたあと、コンテンツを配信できる状態になります。

serveStopTime

serveStopTime 属性は任意であり、ACNS ソフトウェアがコンテンツの配信を一時的に停止する時刻を yyyy-mm-dd hh:mm:ss 形式で指定します。配信を停止する時刻が省略される場合、関連したマニフェスト ファイル コードを変更してコンテンツが削除されるまで、ACNS ソフトウェアはコンテンツを配信します。事前配信コンテンツのフレッシュネスに対する serveStopTime 属性の影響については、「事前配信コンテンツのフレッシュネスの設定」を参照してください。

alternateUrl

alternateUrl 属性は任意です。ユーザにより要求されるコンテンツが ACNS ネットワーク内にない場合、ACNS ソフトウェアはこの代替 URL に要求をリダイレクトします。代替 URL は、エラー報告ページとして設定できます。 alternateUrl 属性は、完全 URL だけをサポートします。

この属性は、要求されるコンテンツに適用されます。コンテンツが削除されると、この属性は適用されませんが、コンテンツを取得できない場合は、この属性は適用されます。

priority

priority 属性は任意であり、コンテンツ処理のプライオリティを指定するための任意の整数値にできます。プライオリティの値が省略される場合、マニフェスト ファイル内の索引順序が、プライオリティの設定に使用されます。

requireAuth

requireAuth 属性は任意であり、指定のコンテンツを再生する前に、ユーザを認証する必要があるかどうかを決定します。この属性が true に設定される場合、Content Engine は、指定のコンテンツをユーザに対して再生するために認証を必要とし、証明書を検査するためにオリジン サーバと通信します。要求が証明書検査に合格すると、そのコンテンツは Content Engine から再生されます。この属性が省略される場合は、値の決定に発見的解決法が使用されます。つまり、指定されたコンテンツが、ユーザ名とパスワードを使用して取得される場合、requireAuth は true に設定され、それ以外の場合は false に設定されます。FTP の場合、ユーザ名が匿名であれば、requireAuth は false に設定されます。


requireAuth が true である場合、このチャネルの Website ウィンドウにある Origin Server フィールドに、ユーザを認証できるサーバを指定する必要があります。ユーザがコンテンツを再生したい場合、認証を確認するために Website ウィンドウの Origin Server フィールドに指定されたサーバが検査されます。


playDuration

playDuration 属性は、ビデオ ファイルの再生時間を秒単位で指定します。この値は、次の目的で使用されます。

ビデオ ファイルをダウンロードし、HTTP を介して再生

ビデオ ファイルが HTTP を使用して再生される場合、ACNS ソフトウェアは playDuration 属性を使用して、HTTP ダウンロードのビット レートを計算します。

ビデオ TV-Out プログラムのスケジュール

再生時間値が省略される場合、ACNS ソフトウェアは、MPEG ファイルに対してこの値の計算を試みます。

failRetryInterval

この値は、コンテンツ取得が失敗するときのリトライ間隔を分単位で指定します。たとえば、failRetryInterval="10" は、コンテンツ取得失敗後に、ACNS ソフトウェアが 10 分ごとにコンテンツ取得を再試行することを意味します。リトライ間隔値が指定されていない場合、デフォルト値の 5 分が使用されます(受け入れられる最小の failRetryInterval 値)。5 分未満の値を指定すると、その値は 5 分に変換されます。

この動作は、単一項目のコンテンツ取得に失敗したときとクロール項目のコンテンツ取得に失敗したときとで異なります。

単一項目の取得が失敗した場合

if ( ttl != 0, ttl < retryInterval)
 

ttl 属性に従って、項目が再検査されます。それ以外の場合は、 failRetryInterval 属性で指定された間隔で項目が再検査されます。

クロール項目の取得が失敗した場合

一部の項目が取得できない場合(300 番台、400 番台のステータス エラー コードを除き)、取得できなかった項目だけが、 failRetryInterval 属性で指定されたように再検査されます。

ttl 属性の間隔に達すると、すべてのページが再クロールされます。

if ( ttl != 0 and ttl < retryInterval )
always re-crawl
 

たとえば、 ttl = 10 で、 failRetryInterval = 4 である場合、次のようになります。

 

アクション

0

クロール

4

失敗を再検査

8

失敗を再検査

10

再クロール

14

再検査

18

再検査

20

再クロール

bitrate-in-bps/bitrate-in-kbps/bitrate-in-mbps

この値は、コンテンツのビット レートを指定します。ACNS ソフトウェアは、再生のダウンロードにこの値を使用します。次の例では、ダウンロードと再生が要求されると、ACNS ソフトウェアはこのファイルを 500 kbps でダウンロードします。

<item src="http://www.cisco.com/Prod/ACNS.swf" bitrate-in-kbps="500" />
 

ignoreQueryString

これは <options>、<item-group>、<item>、および <crawler> タグで使用できる再生属性です。値が true に設定される場合、ACNS ソフトウェアは、再生用の要求 URL 内で疑問符(?)に続くストリングをすべて無視します。この属性が省略された場合、デフォルト値は false です。

たとえば、要求 URL url=http://web-server/foo を持つコンテンツが事前配信されているとします。ユーザが、URL url=http://web-server/foo?id=xxx を持つコンテンツを要求するときに、
ignoreQueryString
属性値が false である場合、ACNS ソフトウェアは、要求 URL
http://web-server/foo からの事前配信コンテンツを使用しません。

ただし、 ignoreQueryString 属性が true に設定されている場合、ACNS ソフトウェアは、要求 URL http://www-server/foo?id=xxx を http://www-server/foo と同じように扱い、事前配信コンテンツを戻します。

ignoreOriginPort

この属性を使用すると、標準ポート以外のポートから事前配信コンテンツを再生できます。 ignoreOriginPort 属性が true に設定されると、要求 URL で指定されたポートとは関係なくコンテンツを再生できます。この属性のデフォルトは false です。

この属性は Content Router を使用してルーティングされるコンテンツに対して使用されることを想定していません。透過的な WCCP ルーティングまたは明示的なプロキシ ルーティングに対してのみ機能することを想定しています。 ignoreOriginPort 属性の一般的な使用方法に関するシナリオは、次のとおりです。

オリジン Web サーバは、ポート 80 を使用しません。URL 内では非標準のポート番号を使用します。

ユーザは、WCCP または明示的なプロキシ ルーティングを使用します。この場合、非標準のポート番号を含むオリジナルの URL は、Content Engine から再生を行うために使用されます。

非標準のポートを使用して、事前配信コンテンツを再生することはできません。事前配信コンテンツはそのプロトコルに対して標準のポートにのみ配信されるからです。着信 URL に、使用するプロトコルの標準ポート以外のポート番号が含まれている場合は、 ignoreOriginPort 属性を true に設定して、再生が正常に行われるようにする必要があります。

userDomainName

この属性は、次の 2 つの場合に使用されます。(1)NTLM 認証の場合(2)SMB ファイル インポート機能の場合。オリジン サーバが NTLM 認証を使用している場合、この属性を使用して、NTLM 認証のユーザ ドメイン名を指定する必要があります。共有フォルダが保護されていて、ユーザ アカウントがドメインの一部になっている場合、この属性を使用して、設定されている共有フォルダのドメイン名を指定する必要があります。


userDomainNamentlmUserDomain はマニフェスト ファイル内に共存できないので、同時に使用できる属性は 1 つだけです。


discardAllHttpHeaders

この属性は HTTP ヘッダー フィルタリングに使用できます。この属性が「1」または true に設定されている場合、オリジン サーバから取得した HTTP ヘッダーは CDNFS ファイル システムに保存されません。この属性が「0」または false に設定されている場合、非トランジット HTTP ヘッダーのみが保存され、トランジット ヘッダーがフィルタリングされます。デフォルト値は false です。 keepHttpHeaders 属性で別途指定のないかぎり、トランジット ヘッダーは自動的にフィルタリングされます。

自動的にフィルタリングされるトランジット ヘッダーは、次のとおりです。

 

accept-ranges

proxy-connection

connection

set-cookie

content-length

transfer-encoding

date

upgrade

keep-alive

via

proxy-authenticate

www-authenticate

discardHttpHeaders

この属性を使用して、通常デフォルトでは CDNFS ファイル システムに保存される特定の非トランジット ヘッダーをフィルタリングします。非トランジット ヘッダーには、「server」、「last-modified」、「content-type」が含まれます。特定のヘッダーを廃棄するには、次の例のように、ヘッダーをパイプ(|)で区切ります。

<item discardHttpHeaders=”Server|Last-modified”>
 

keepHttpHeaders

この属性は、特定の HTTP ヘッダーのみを CDNFS ファイル システム内に保存するのに使用します。特定のヘッダーを保存するには、次の例のようにヘッダーをパイプ(|)で区切ります。

<item keepHttpHeaders=”Connection|Date”>
 

keepHttpHeaders 属性を使用すると、GET 要求を正常に行ったサーバから戻されたヘッダーのみを保存します。www-authenticate または proxy-authenticate などのヘッダーは、GET 要求が正常に行われた状態で戻されないため保存できません。


) 次の 3 つの HTTP ヘッダー フィルタリング属性(discardAllHttpHeaders
discardHttpHeaders
keepHttpHeaders)は、相互に排他的です。1 つのタグ内では一度に 1 個の属性のみ指定できます。


たとえば、次の設定は無効でありエラーが発生します。

<item src=”abc.html” discardHtpHeaders=”Server” keepHttpHeaders=”Date”/>
 

options タグまたは item-group タグに 1 つの属性を、item タグまたは crawler タグに 1 つの属性を指定できます。ただし、item タグまたは crawler タグに指定された属性は options タグまたは item-group タグから継承された属性を上書きします。次に有効な設定例を示します。

<options discardAllHttpHeaders=”true” />
<item src=”one.html” /> <!-This uses the attribute inherited from options-- >
<crawler start-url=”two.html” discardHttpHeaders=”Server”/> <!-This uses one given with crawler -- >
<item src=”Three.html” keepHttpHeaders=”Date”/> <!-This uses one given with item -- >
 

enableCookies

この属性は項目用の cookie サポートをイネーブルにします。この属性が true に設定されていると、ルート Content Engine は、項目用の要求をオリジン サーバに送信したあと、ペアの cookie name 値に対するサーバ応答を解析します。サーバ応答期限の切れていない有効な cookie が含まれている場合、ルート Content Engine は cookie を主要メモリに保存します。

ルート Content Engine が次に項目の要求を送信するときに、ルート Content Engine は有効な cookie をサーバに戻します。

cookie に RFC 2965 で示す次の拒否基準が含まれている場合、cookie は拒否されます。

Path 属性値は要求 URI のプレフィクスではありません。

たとえば、要求が www.abc.com/aaa/bbb/ccc.html で、戻された cookie の Path 属性が/aaa/ccc の場合、/aaa/ccc は/aaa/bbb/ccc [URL] のプレフィクスではないので要求は無効になります。

Domain 属性値には埋め込みドットは含まれません。また、ドットで開始しません。

要求ホスト値は、Domain 属性のドメインと一致しません。

要求ホストは FQDN(IP アドレスではない)であり、HD 形式です。ここでは D が Domain 属性値で H が1つまたは複数のドットを含んだストリングです。

Path 属性は要求 URL のプレフィクスと一致しません。


) ルート Content Engine は、cookie を保存するのに永続メモリを使用しません。Content Engine を再起動すると、すべての cookie 情報は失われます。


enableCookies 属性は、<item>、<crawler>、<itemgroup>、<options> タグと一緒に使用できます。

authCookie

この属性によって、項目用の認証 cookie の処理および送信がイネーブルになります。この機能をイネーブルにするには、ユーザ証明書を送信し、サーバが認証 cookie を戻す、特定の項目の authCookie 属性を true に設定する必要があります。

次に例を示します。

<item src=http://abc.com/auth.cgi?id=10000 authCookie="true"/>

authCookie 属性は、<item>および<crawler> タグと一緒に使用できます。

<host> タグ属性で説明されている次の属性は、<item> タグでも指定できます。

disableBasicAuth

noProxy

ntlmUserDomain

password

port

proto

proxyServer

sslAuthType

user

uuencoded

サブ要素

<contains/>

<http-meta-data/>

<schedule/> <repeat/>

<schedule/> <repeat/> サブ要素とその属性が指定するのは、再クロールする時刻と再取得を開始する項目です。<schedule> サブ要素の下には、複数の <repeat> を指定できます。属性 time、start、 および end では、月の日付または曜日、また指定のリピートを行う期間を指定します。 time 属性は必須ですが、 start end 属性は任意です。


) スケジュール要素は、ttl 属性より優先します。


time 属性が使用する形式は、次のとおりです。

time="dom:hh:mm" または

time="dow:hh:mm"

この場合、dom は月の日付(0 ~ 30)、dow は曜日(Sun、Mon、Tue、Wed、Thu、Fri、Sat、または *)を表します。hh は時間(0 ~ 23 または *)、mm は分(0 ~ 59)を表します。

次に例を示します。

<schedule>
<repeat time="*:*:0" /> <!-- repeat every hour on the hour -->
<repeat time="*:13:0" /><!-- repeat at 1300 every day -->
<repeat time="Sun:2:30" /> <!-- repeat on Sundays at 2:30 -->
<repeat time="4:2:30" /> <!-- repeat at 2:30 on the fourth day of the month -->
<repeat time="Mon:*:30" /> <!-- On Monday, repeat every hour at 30 minutes past
the hour -->
</schedule>
 

start および end 属性が使用する形式は、次のとおりです。

start="yyyy-mm-dd hh:mm:ss"

end="yyyy-mm-dd hh:mm:ss"

次に例を示します。

<CdnManifest>
<item>
<schedule>
<repeat time="Sun:02:30" />
<repeat time="*:*:34" start="2003-09-11 11:11:11 PST" end="2004-09-11 11:11:21 PST"/>
<repeat time="21:02:35" start="2003-09-11 11:11:11 PST" end="2004-09-11 11:11:21 PST"/>
<repeat time="21:02:35" end="2004-09-11 11:11:21 PST"/>
</schedule>
</item>
.
.
.

<item
src="index.html"
server="cisco.com"
ttl="3000"
alternateUrl="http://www.cisco.com/cdn-error.html"
/>

crawler

<crawler> </crawler> タグ セットは、Web サイトまたは FTP サーバのクロールをサポートします。

属性

start-url

start-url 属性は必須です。Web サイトまたは FTP サーバのクロールのプロセスを開始する URL を指定します。これは、<item> タグで使用される src 属性と同じです(srcを参照)。

host

start-url 属性で指定される開始 URL が相対 URL である場合、 host 属性はホスト名を指定します。

depth

depth 属性は任意であり、Web サイトがクロールされるリンクの深さ、または FTP サーバがクロールされるディレクトリの深さを定義します。depth が指定されない場合、デフォルトは 20 です。一般的な depth の値は、次のとおりです。

0 = 開始 URL だけを取得する
1 = 開始 URL とその参照ファイルを取得する
-1 = 無限、または深さの制限なし

depth は、Web サイトのレベル、または FTP サーバのディレクトリ レベルとして定義されます。0 は開始 URL です。

prefix

prefix 属性は任意であり、<server> タグからのホスト名と、 prefix 属性の値を結合して、完全なプレフィクスを作成します。URL が完全なプレフィクスと一致するコンテンツのみが取得されます。次に例を示します。

<server name="xx"> <host name="www.cisco.com" proto="https" port=433 /> </server>
 

<crawler> タグでは、次のとおりです。

prefix="marketing/eng/"
 

完全なプレフィクスは「https://www.cisco.com:433/marketing/eng/」になります。このプレフィクスと一致する URL だけがクロールされます。

プレフィクスが省略されている場合、クローラーは、サーバからの URL のホスト名部分であるデフォルトの完全プレフィクスを調べます。前述の例では、デフォルトの完全プレフィクスは「https://www.cisco.com:433」です。

accept

accept 属性は任意であり、正規表現を使用して、プレフィクスの一致に加えてクロール対象の受け入れ可能な URL を定義します。たとえば、accept="stock" は、2 つの条件、つまり URL がプレフィクスと一致することと、ストリング「stock」が含まれていることを満たす URL だけが検索されることを意味します(正規表現の使用の詳細については、一般的な正規表現の作成を参照)。

次に示す accept 属性 と prefix 属性の 2 つの重要な違いに注意してください。

prefix 属性は、ストリングの完全一致を使用しますが、 accept 属性は、正規表現を使用します。

prefix 属性は URL(URL のリンクすべてまたはサブディレクトリを含む)に適用します。ただし、 accept 属性を使用すると、URL とリンク情報とサブディレクトリを別々に評価できます。

reject

reject 属性は任意であり、正規表現を使用して、URL が拒否正規表現と一致する場合、その URL を拒否します。プレフィクス URL が一致するかどうかを調べたあと、拒否正規表現が調べられます。URL がプレフィクスと一致しない場合、ただちに拒否されます。URL がプレフィクスおよび reject パラメータと一致する場合、特定の拒否制約によって拒否されます(正規表現の使用の詳細については、一般的な正規表現の作成を参照)。

次に示す reject 属性 と prefix 属性の 2 つの重要な違いに注意してください。

prefix 属性はストリングの完全一致を使用しますが、 reject 属性は正規表現を使用します。

prefix 属性は URL(URL のリンクすべてまたはサブディレクトリを含む)に適用します。ただし、 reject 属性を使用すると、URL とリンク情報とサブディレクトリを別々に評価できます。

max-number

max-number 属性は任意であり、取得可能なクローラー ジョブ オブジェクトの最大数を指定します。

maxTotalSizeInB/KB/MB

maxTotalSizeInB/KB/MB 属性は任意であり、このクローラー ジョブが取得できる最大の合計コンテンツ サイズをバイト単位、キロバイト単位、またはメガバイト単位で指定します。このサイズ属性は、メガバイト数(MB)、キロバイト数(KB)、またはバイト数(B)で表すことができます。

この属性は max-size-in-B/KB/MB の代わりです。これは下位互換性を確保するためだけにサポートされています。

srcPrefix

srcPrefix 属性は任意であり、相対 ACNS ネットワーク URL を作成するために cdnPrefix 属性と一緒に使用する必要があります。 srcPrefix 属性が指定されない場合、または相対ソース URL のプレフィクスが srcPrefix 属性と一致しない場合、相対 ACNS ネットワーク URL は、相対ソース URL と結合された cdnPrefix 値です。たとえば、これらのコンテンツ オブジェクトに同じソース URL プレフィクス「acme/pubs/docs/online/Design/」があるときに、このプレフィクスを単純な「online/」で置き換えたい場合は、srcPrefix="acme/pubs/docs/online/Design/" および cdnPrefix="online/" を指定してください。

cdnPrefix

cdnPrefix 属性は任意であり、 srcPrefix 属性と一緒に使用する必要があります。

requireAuth

requireAuth 属性は任意であり、指定のコンテンツを再生する前に、ユーザを認証する必要があるかどうかを決定します。この属性が true に設定される場合、Content Engine は、指定のコンテンツをユーザに対して再生するために認証を必要とし、証明書を検査するためにオリジン サーバと通信します。要求が証明書検査に合格すると、そのコンテンツは Content Engine から再生されます。この属性が省略される場合は、値の決定に発見的解決法が使用されます。つまり、指定されたコンテンツが、ユーザ名とパスワードを使用して取得される場合、requireAuth は true に設定され、それ以外の場合は false に設定されます。FTP の場合、ユーザ名が匿名であれば、requireAuth は false に設定されます。


requireAuth が true に設定されている場合、このチャネルの Website ウィンドウにある Origin Server フィールドに、ユーザを認証できるサーバを指定する必要があります。ユーザがコンテンツを再生したい場合、認証を確認するために Website ウィンドウの Origin Server フィールドに指定されたサーバが検査されます。


externalPrefixes

externalPrefixes 属性は任意であり、複数のプロトコルまたは複数の Web サイトをクロールするために、クロール ジョブに追加のプレフィクスを指定します。プレフィクスはパイプ(|)で区切られます。

externalServers

externalServers 属性は任意であり、各ホストのユーザ アカウントが異なる複数のホスト クロール ジョブに使用できます。この属性は、適切な認証情報を持つ <host> タグの参照に使用できます。

keepExpiredContent

この属性は、有効期限の切れた HTTP または HTTPS クロール中にコンテンツを取得するために使用できます。この属性が true に設定されている場合、期限切れのコンテンツは取得されます。この属性が false に設定されている場合、期限切れのコンテンツは廃棄されます。この属性が指定されていない場合、デフォルトは false です。

keepFolder

この属性は、フォルダを取得するために使用されます(フォルダは、要求 URL がスラッシュ [/] で終了している場合に示されます)。この属性が false に設定されている場合、フォルダ URL を取得しません。

keepNoCacheContent

この属性は、HTTP または HTTPS クロール中に、通常はキャッシュされないコンテンツを取得するために使用できます。この属性が true に設定されていると、コンテンツをキャッシュしないことを表示する HTTP キャッシュ制御ヘッダーがコンテンツに含まれていても、取得機能はコンテンツを取得します。この属性が指定されていない場合、デフォルトは false です。

keepQueryUrl

この属性は、URL ストリング内に「?」が含まれている URL を取得するために使用できます。この属性が true に設定されているときに、「?」が付いた URL がクロール ジョブで使用する HTML 解析中に取得されるのは、このURL がマニフェスト ファイル内で説明されている他のクロール基準を満たす場合です。


) この属性は、ACNS 5.3 以降のリリースでのみサポートされます。チャネル内のすべての Content Engine がこの属性をサポートする ACNS ソフトウェアを使用していないかぎり、チャネルのマニフェスト ファイル内に「?」が含まれている URL を使用できません。


データベースからコンテンツを取得するときに、この属性を利用すると便利です。たとえば、複数のファイルを「?」のあとの URL ストリング部分で区別します。この属性が設定されていないと、「?」のあとの URL ストリング部分は廃棄されます。「?」の前の URL ストリング部分が同じ複数の URL が見られる場合、URL は重複として表示され、最後の「重複した」URL のみ取得されます。

reportBrokenLinks

この属性は、取得できない HTML Web ページ上のリンクを報告するのに使用します。この属性が true に設定されていると、Web サイトのクロール中に検出されたリンク切れをすべて、エラーとして報告します。この属性は、Web サイトのクロールにのみ適用しますが、索引のクロールには適用しません。デフォルトは false です。リンク切れはエラーとして報告されません。

<host> タグ属性で説明されている次の属性は、<crawler> タグでも指定できます。

disableBasicAuth

noProxy

ntlmUserDomain

password

port

proto

proxyServer

sslAuthType

user

uuencoded

<item> タグ属性で説明されている次の属性は、<crawler> タグでも指定できます。

alternateUrl

authCookie

bitrate-in-bps/bitrate-in-kbps/bitrate-in-mbps

discardAllHttpHeaders

discardHttpHeaders

enableCookies

expires

failRetryInterval

ignoreOriginPort

ignoreQueryString

keepHttpHeaders

noRedirectToOrigin

playDuration

playServer

prefetch

priority

serveStartTime

serveStopTime

server

ttl

type

userDomainName

サブ要素

<http-meta-data/>

<matchRule></matchRule>

<schedule><repeat>

(<schedule><repeat> サブ要素の説明については、itemを参照)。

<server name="cisco">
<host name="http://www.cisco.com/jobs/" />
</server>
<crawler
server="cisco"
start-url="eng/index.html"
depth="10"
prefix="eng/"
reject="\.pl"
max-size-in-MB="200"
/>

item-group

<item-group> </item-group> タグ セットは、共有属性を 1 つのタグの下に置いて、それらの属性がそのグループ内のどの <item> タグおよび <crawler> タグによっても共有できるようにするために使用します。つまり、属性が共有される場合、属性はグループ全体の制御のために設定される <item-group> タグ レベル、または <item> または <crawler> タグ単位で定義できます。たとえば、すべての <item> タグが同じ server および ttl 属性を使用する場合、これらの <item> タグの上で <item-group> タグを作成し、 server および ttl 属性をその <item-group> タグに入れることができます。

共有属性を使用すると、<item> タグを共有属性に統合することにより、複数の <item> タグを持つマニフェスト ファイルをより効果的にできます。<item-group> タグと <item> タグの両方に同じ属性値が存在する場合、<item> タグの値が、<item-group> タグの値より優先されます。

<item-group> タグは、<CdnManifest> タグ セットで囲まれ、1 つまたは複数の <item> または <crawler> タグを含む必要があります。

属性

属性値が <item-group> タグ レベルだけにある場合、その属性値は <item> タグ内の内部要素によって継承されます。属性値がクローラー ジョブで指定されている場合、その属性は、継承されるか所有されるかにかかわらず、クローラー ジョブによって取得されるコンテンツに伝搬されます。

次の属性は、複数の <item> および <crawler> タグ全体で共有できるので、<item-group> レベルのタグにできます。次の属性の詳細については、「item」を参照してください。

alternateUrl

bitrate-in-bps/bitrate-in-kbps/bitrate-in-mbps

cdn-url

discardAllHttpHeaders

discardHttpHeaders

enableCookies

expires

failRetryInterval

host

ignoreOriginPort

ignoreQueryString

keepHttpHeaders

noRedirectToOrigin

playDuration

playServer

prefetch

requireAuth

serveStartTime

serveStopTime

server

src

priority

ttl

type

userDomainName

<host> タグ属性で説明されている次の属性は、<item-group> タグでも指定できます。

disableBasicAuth

noProxy

ntlmUserDomain

password

port

proto

proxyServer

sslAuthType

user

uuencoded

さらに、次の 2 つの属性を <item-group> タグに入れることもできます。この 2 つの属性の詳細については、「crawler」を参照してください。

srcPrefix

cdnPrefix

これらの 2 つの属性は、複数のコンテンツ オブジェクトに対して、 src-url (コンテンツ取得 URL)のプレフィクスを cdn-url (パブリッシング URL)に変換します。これらのコンテンツ オブジェクトは、複数の <item> タグによって暗黙的に指定されるか、クローラー ジョブを介して取得されます。

これらの 2 つの属性は、<crawler> タグでも指定できます。個々の <crawler> ジョブに対して srcPrefix 属性と cdnPrefix 属性を明示的に指定する場合、<crawler> タグ レベルの指定が <item-group> タグ レベルの設定より優先されます。個々の <crawler> ジョブに対してこれらの属性を指定しない場合、<item-group> タグ レベルの指定は、<crawler> ジョブによって継承されます。

srcPrefix 属性と cdnPrefix 属性は、次の規則により相対 ACNS ネットワーク URL を生成します。

cdn-url 属性が <item> タグ内に存在する場合、相対 ACNS ネットワーク URL は cdnPrefix 属性と cdn-url 属性の両方を含みます。たとえば、 cdnPrefix ="eng/spec" および cdn-url ="e/f.html" の場合、URL 内の相対パスは 「eng/spec/e/f.html」です。

srcPrefix 属性が <item> タグ内に存在しない場合、相対 ACNS ネットワーク URL は cdnPrefix 属性と相対ソース URL です。

相対ソース URL のプレフィクスが srcPrefix 属性と一致しない場合、相対 ACNS ネットワーク URL は cdnPrefix 属性とソース相対 URL です。

相対 ACNS ネットワーク URL を生成するには、一致したプレフィクスを相対ソース URL から削除し、 cdnPrefix 属性で置き換えます。

次の例では、<item> の相対 ACNS ネットワーク URL は「acme/default.htm」です。

<item-group cdnPrefix="acme/" >
<item src="design/index.html" cdn-url="default.html" />
</item-group>
 

次の例では、 srcPrefix 属性(たとえば、[design/plan/])を持つコンテンツ オブジェクトの相対 ACNS ネットワーク URL は、「acme/」に「design/plan/」が削除された相対ソース URL を合わせたものです。「design/plan/」と一致しない prefix 属性を持つその他のコンテンツ オブジェクトの場合は、「acme/」およびオリジナルの相対ソース URL です。

<crawler
start-url="design/plan/index.html"
depth="-1"
srcPrefix="design/plan/"
cdnPrefix="acme/" />

サブ要素

<http-meta-data/>

<crawler></crawler>

<item-group/>

<item></item>

<schedule><repeat>

(<schedule><repeat> サブ要素の説明については、itemを参照)。

<!--grouped content items-->
<item-group server="origin-web-server" type="prepos" ttl="300" cdnPrefix="unicorn/" >
<item cdn-url="newHQpresentation.rm" src="newHQpresentation.rm" />
<item cdn-url="animatedlogo.mpg" src="animlogo.mpg" />
<item cdn-url="companytheme.mp3" src="cotheme.mp3" />
<item cdn-url="newHQlayout.avi" src="newHQ.mov" />
</item-group>

matchRule

<matchRule> </matchRule> タグ セットは任意であり、クローラー ジョブの追加フィルタ規則を定義します。このタグは、<crawler> タスクだけに影響を及ぼし、単一の <item> タグでは使用されません。<crawler></crawler> タグ セットで定義されるクローラー パラメータは、主にクロール検索の範囲を決定します。コンテンツ オブジェクトが、クローラー パラメータによって指定される基準を満たさない場合、このオブジェクトとその子オブジェクトはどちらも検索されません。

ただし、<matchRule> タグは検索の範囲に関係なく、コンテンツ オブジェクトが取得されるかどうかだけを決定します。Web ページが<matchRule> 機能を使用しないクローラー パラメータと一致する場合、そのコンテンツ オブジェクトが取得されない場合であっても、その子オブジェクトは検索されます。

<matchRule> タグを使用する次のクローラー ジョブの例では、Web サイト全体が検索されますが、50 キロバイトを超える.jpg ファイル拡張子を持つファイルだけが取得されます。

<crawler start-url="index.html" depth="-1" >
<matchRule>
<match size-min-in-KB="50" extensioin="jpg" />
</matchRule>
</crawler>
 

<matchRule> 要素を <item-group> タグ内にネストすると、グループに含まれている <crawler> タグに対してグループ全体のフィルタ規則を定義できます。また、<matchRule> 要素を特定の <crawler> ジョブのサブ要素にすることもできます。<crawler> タグと <item-group> タグの両方が存在する場合、crawler タグ レベルの設定値が item-group タグ レベルの設定値を上書きします。

個々の <crawler> ジョブに対してローカルに基準を定義する場合、既存のグループ レベルの基準は、その <crawler> ジョブに対して完全に破棄されます。つまり、<item-group> タグ一致規則が A に設定され、<crawler> タグが B に設定される別の一致規則を指定する場合、A と B の組み合わせではなく、B だけが <crawler> タグに使用されます。<item-group> タグごとに最大 1 つの <matchRule> タグ、および <crawler> タグごとに最大 1 つの <matchRule> タグしか指定できません。

属性

なし

サブ要素

1 つ以上の <match> タグ

match

<match> </match> タグは任意であり、コンテンツ オブジェクトが ACNS ソフトウェアによって取得される前の取得基準を指定します。1 つの <match> タグ内のどの属性も、他の属性と AND されます(論理積をとります)。

<matchRule> タグ内に複数の <match> タグを指定できます。<match> タグは、他の <match> タグと OR されます(論理和をとります)。<matchRule> タグごとに少なくとも 1 つの <match> タグを指定する必要があります。

属性

mime-type

mime-type 属性は MIME タイプを指定します。

extension

extension 属性はファイル拡張子を指定します。

time-before

コンテンツをダウンロードするために、 time-before 属性は、絶対時間(yyyy-mm-dd hh:mm:ss より前に変更される)または現在の時刻と比較した相対時間(ddd:hh:ss 内で変更される)の両方を用意しています。時間パラメータは GMT 時間帯で表す必要があります(GMT からのオフセットについては、マニフェスト ファイルの時間帯テーブルを参照)。

time-after

コンテンツをダウンロードするために、 time-after 属性は、絶対時間(yyyy-mm-dd hh:mm:ss よりあとに変更される)または現在の時刻と比較した相対時間(ddd:hh:ss 内で変更される)の両方を用意しています。時間パラメータは GMT 時間帯で表す必要があります(GMT からのオフセットについては、マニフェスト ファイルの時間帯テーブルを参照)。


) 相対時間は、現在の時刻に基づいて計算されます。サーバのクロックと Content Engine のクロックを同期させて、相対時間の計算が正確になるようにすることを推奨します。


minFileSizeInB/KB/MB

minFileSizeInB/KB/MB 属性は、取得されるコンテンツのサイズが、このバイト数、キロバイト数、またはメガバイト数より大きくなければならないことを指定します。この size 属性は、バイト数(B)、キロバイト数(KB)、またはメガバイト数(MB)で表すことができます。

この minFileSizeInB/KB/MB 属性は size-min-in-B/KB/MB 属性の代わりです。これは下位互換性を確保するためだけにサポートされています。

maxFileSizeInB/KB/MB

maxFileSizeInB/KB/MB 属性は、取得されるコンテンツのサイズが、このバイト数、キロバイト数、またはメガバイト数より小さくなければならないことを指定します。この属性は、バイト単位(B)、キロバイト単位(KB)、またはメガバイト単位(MB)で表すことができます。

この maxFileSizeInB/KB/MB 属性は size-max-in-B/KB/MB 属性の代わりです。これは下位互換性を確保するためだけにサポートされています。

prefix

prefix 属性は任意で、一致規則としてプレフィクスを指定して、クロール ジョブ時に Web サイトをフィルタリングして削除します。

url-pattern

url-pattern 属性は任意であり、一致規則として正規表現を指定して、所定の URL をフィルタリングして削除します。

サブ要素

なし

<! - - crawling item group -- >
<item-group server=”origin-server” type=”prepos”>
<matchRule>
<match time-before=”2000-05-05 12:0:0”/>
</matchRule>
<crawler start-url=”eng/index.html” depth=”-1”/>
<crawler start-url=”hr/index.html” depth=”3”>
<matchRule>
<match size-min-in-KB=”1” extension=”xxx”/>
</matchRule>
</crawler>
</item-group>
 

過去 90 日以内に作成または変更されたコンテンツをダウンロードするには、相対時間形式を使用します。次に例を示します。

<match time-after=”90:00:00”/>
 

過去 2 週間以内に変更されなかったコンテンツをダウンロードするには、相対時間形式を使用します。次に例を示します。

<match time-before=”14:00:00”/>
 

2003 年 1 月 30 日 午前 10:30 以降に変更されたコンテンツをダウンロードするには、絶対時間形式を使用します。次に例を示します。

<match time-after=”2003-01-30 10:30:00”/>
 

contains

<contains/> タグは任意であり、現在記述されているコンテンツ項目内に組み込まれているコンテンツ オブジェクトを識別します。たとえば、<contains/> リンクを使用する項目に対する SMIL(Synchronized Multimedia Integration Language)ファイル要求のコンポーネントが受け入れられるのは、従属コンテンツ オブジェクトが Content Engine 内に存在することを ACNS ソフトウェアが判別したあとだけです。

<contains/> タグは、<item> </item> タグで囲む必要があります。

<contains/> タグは、.asf や .rp などのビデオ ファイル用の組み込みファイルを含むのに使用されます。ACNS ソフトウェアは、含まれているすべての項目が存在しないかぎり、この項目にサービスしません。

属性

cdn-url 属性は必須であり、組み込みコンテンツのいずれかの相対 ACNS ネットワーク URL です。

サブ要素

なし

<item src=”house/img08.jpb” cdn-url=”img08.jpg” />
<item src=”house/img09.jpb” cdn-url=”img09.jpg” />
<item cdn-url="house.rp"src="house/house.rp">
<contains cdn-url="img08.jpg"/>
<contains cdn-url="img09.jpg"/>
</item>

http-meta-data

<http-meta-data> タグは任意であり、コンテンツの HTTP 再生に使用されます。コンテンツ オブジェクトが HTTP を通じて要求される場合、これらの属性は、HTTP 応答ヘッダーとしてエンド ユーザに送信されます。このタイプの応答ヘッダーは、FTP 取得コンテンツのコンテンツ タイプを指定する場合に便利です。

この要素は、<item> または <crawler> タグにネストすることもできます。<item> または <crawler> タグ レベルの設定値は、<item-group> タグ レベルの設定値を上書きします。

属性

name=value 属性は、標準 HTTP ヘッダー メタデータと、カスタマイズされたアプリケーション メタデータの両方にできます。<item-group> タグ内にネストされる場合、この属性はグループ内に含まれているコンテンツに適用されます。

この属性は、<item> または <crawler> タグにネストすることもできます。<item> または <crawler> タグ レベルの設定値は、<item-group> タグ レベルの設定値を上書きします。

サブ要素

なし

事前配信コンテンツのフレッシュネスの設定

serveStopTime 属性と noRedirectToOrigin 属性を使用して事前配信のコンテンツの更新を設定し管理するには、4 通りのマニフェスト ファイル設定が可能です。それらの設定は、次のとおりです。

serveStopTime noRedirectToOrigin の両方の属性がマニフェスト ファイルに含まれ、 noRedirectToOrigin 条件が true( 表A-6 を参照)。

serveStopTime 属性だけがマニフェスト ファイルに含まれ、 noRedirectToOrigin 属性は含まれず、 noRedirectToOrigin 条件が false( 表A-7 を参照)。

serveStopTime 属性も noRedirectToOrigin 属性もマニフェスト ファイルに含まれず、 noRedirectToOrigin 条件が false( 表A-8 を参照)。

noRedirectToOrigin 属性だけがマニフェスト ファイルに含まれ、 serveStopTime 属性は含まれず、 noRedirectToOrigin 条件が true( 表A-9 を参照)。

serveStopTime 属性と noRedirectToOrigin 属性が含まれるかどうか、および serveStopTime 値と HTTP ヘッダー有効期限の時間の組み合わせに応じて、条件および対応する結果を 表A-6 表A-9 に示します。次の表では、 現在 とは、エンド ユーザの要求が着信する時間として定義されます。これらの表では、エンド ユーザ要求の着信時刻を使用してコンテンツ配信を決定します。

 

表A-6 serveStopTime と noRedirectToOrigin の両方の属性が含まれ、noRedirectToOrigin=true である場合

状態
結果

現在、 serveStopTime 値を過ぎています。

コンテンツは提供されず、エラー メッセージが表示されます。

現在、 serveStopTime 値の前であるが、HTTP expires ヘッダーを過ぎています。

コンテンツは cdnfs から提供されますが、コンテンツが古い場合があります。

現在、 serveStopTime 値の前であり、HTTP expires ヘッダーの前です。

コンテンツは cdnfs から提供されます。

現在、 serveStopTime 値の前であり、HTTP expires ヘッダーが存在しません。

コンテンツは cdnfs から提供されます。

 

表A-7 serveStopTime 属性だけが含まれ、noRedirectToOrigin=false である場合

状態
結果

現在、 serveStopTime 値を過ぎています。

コンテンツは、オリジン サーバからプロキシによって提供されます。

現在、 serveStopTime 値の前であるが、HTTP expires ヘッダーを過ぎています。

コンテンツは cdnfs から提供されますが、コンテンツが古い場合があります。

現在、 serveStopTime 値の前であり、HTTP expires ヘッダーの前です。

コンテンツは cdnfs から提供されます。

現在、 serveStopTime 値の前であり、HTTP expires ヘッダーが存在しません。

コンテンツは cdnfs から提供されます。

表A-8 serveStopTime と noRedirectToOrigin の両方の属性が含まれず、noRedirectToOrigin=false である場合

状態
結果

現在、HTTP expires ヘッダーを過ぎています。

コンテンツは、オリジン サーバからプロキシによって提供されます。

現在、HTTP expires ヘッダーより前です。

コンテンツは cdnfs から提供されます。

HTTP expires ヘッダーが存在しません。

コンテンツは cdnfs から提供されます。

表A-9 noRedirectToOrigin 属性だけが含まれ、noRedirectToOrigin=true である場合

状態
結果

現在、HTTP expires ヘッダーを過ぎています。

コンテンツは cdnfs から提供されますが、コンテンツが古い場合があります。

現在、HTTP expires ヘッダーより前です。

コンテンツは cdnfs から提供されます。

HTTP expires ヘッダーが存在しません。

コンテンツは cdnfs から提供されます。

XML スキーマ

マニフェスト ファイルの場合、XML スキーマは、マニフェスト ファイルのカスタム マークアップ言語、および所定の XML ドキュメントの外観を定義します。XML スキーマが指定するのは、ドキュメントで使用できるタグまたは要素、それらのタグに含むことができる属性、およびその配置などです。

マニフェスト XML スキーマ

XSD は、XML スキーマのコンポーネントを処理するための API を提供するライブラリです。XSD の詳細については、 http://www.w3schools.com/schema/schema_intro.asp を参照してください。

次の XML コードは、マニフェスト XML スキーマ(CdnManfest.xsd)です。

<?xml version="1.0"?>
 
<xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema">
 
<xs:include schemaLocation="PlayServerTable.xsd"/>
 
<xs:element name="CdnManifest">
<xs:complexType>
<xs:sequence>
<xs:element ref="playServerTable" minOccurs="0" maxOccurs="1"/>
<xs:element ref="options" minOccurs="0" maxOccurs="1"/>
<xs:choice minOccurs="0" maxOccurs="unbounded">
<xs:element ref="proxyServer" maxOccurs="unbounded"/>
<xs:element ref="server" maxOccurs="unbounded"/>
<xs:element ref="item-group" maxOccurs="unbounded"/>
<xs:element ref="item" maxOccurs="unbounded"/>
<xs:element ref="crawler" maxOccurs="unbounded"/>
</xs:choice>
<xs:choice minOccurs="0" maxOccurs="unbounded">
<xs:element ref="item-group" maxOccurs="unbounded"/>
<xs:element ref="item" maxOccurs="unbounded"/>
<xs:element ref="crawler" maxOccurs="unbounded"/>
</xs:choice>
</xs:sequence>
</xs:complexType>
</xs:element>
 
<xs:element name="options">
<xs:complexType>
<xs:attribute name="timeZone" type="xs:string" use="optional"/>
<xs:attribute name="notFoundUrl" type="xs:string" use="optional"/>
<xs:attribute name="alternateUrl" type="xs:string" use="optional"/>
<xs:attribute name="noRedirectToOrigin" type="xs:boolean" use="optional" default="false" />
<xs:attribute name="requireAuth" type="xs:boolean" use="optional"/>
<xs:attribute name="ignoreQueryString" type="xs:boolean" use="optional"/>
<xs:attribute name="playDuration" type="xs:unsignedInt" use="optional"/>
<xs:attribute name="bitrate-in-bps" type="xs:unsignedInt" use="optional"/>
<xs:attribute name="bitrate-in-kbps" type="xs:unsignedInt" use="optional"/>
<xs:attribute name="bitrate-in-mbps" type="xs:unsignedInt" use="optional"/>
<xs:attribute name="ttl" type="xs:unsignedInt" use="optional"/>
<xs:attribute name="failRetryInterval" type="xs:unsignedInt" use="optional"/>
<xs:attribute name="prefetch" type="xs:string" use="optional"/>
<xs:attribute name="type" use="optional" default="prepos">
<xs:simpleType>
<xs:restriction base="xs:string">
<xs:enumeration value="prepos"/>
<xs:enumeration value="wmt-live"/>
<xs:enumeration value="real-live"/>
</xs:restriction>
</xs:simpleType>
</xs:attribute>
<xs:attribute name="manifest-id" type="xs:string" use="optional"/>
<xs:attribute name="clearlog" type="xs:boolean" use="optional" default="false"/>
<xs:attribute name="rd" type="xs:string" use="optional"/>
<xs:attribute name="prepos-tag" type="xs:string" use="optional"/>
<xs:attribute name="live-tag" type="xs:string" use="optional"/>
</xs:complexType>
</xs:element>
 
<xs:element name="server">
<xs:complexType>
<xs:sequence>
<xs:element ref="host" minOccurs="1" maxOccurs="1"/>
</xs:sequence>
<xs:attribute name="name" type="xs:string" use="required"/>
</xs:complexType>
</xs:element>
 
<xs:attributeGroup name = "hostAttr">
<xs:attribute name="proxyServer" type="xs:string" use="optional"/>
<xs:attribute name="noProxy" type="xs:boolean" use="optional"/>
<xs:attribute name="proto" use="optional">
<xs:simpleType>
<xs:restriction base="xs:string">
<xs:enumeration value="http"/>
<xs:enumeration value="https"/>
<xs:enumeration value="ftp"/>
<xs:enumeration value="rtsp"/>
<xs:enumeration value="file"/>
</xs:restriction>
</xs:simpleType>
</xs:attribute>
<xs:attribute name="port" type="xs:unsignedShort" use="optional"/>
<xs:attribute name="user" type="xs:string" use="optional"/>
<xs:attribute name="password" type="xs:string" use="optional"/>
<xs:attribute name="ntlmUserDomain" type="xs:string" use="optional"/>
<xs:attribute name="disableBasicAuth" type="xs:boolean" use="optional"/>
<xs:attribute name="uuencoded" type="xs:boolean" use="optional"/>
<xs:attribute name="sslAuthType" use="optional">
<xs:simpleType>
<xs:restriction base="xs:string">
<xs:enumeration value="weak"/>
<xs:enumeration value="strong"/>
</xs:restriction>
</xs:simpleType>
</xs:attribute>
</xs:attributeGroup>
 
<xs:element name="host">
<xs:complexType>
<xs:attribute name="name" type="xs:string" use="required"/>
<xs:attributeGroup ref="hostAttr"/>
</xs:complexType>
</xs:element>
 
<xs:element name="proxyServer">
<xs:complexType>
<xs:attribute name="serverName" type="xs:string" use="required"/>
<xs:attribute name="host" type="xs:string" use="optional"/>
<xs:attribute name="port" type="xs:unsignedShort" use="optional"/>
<xs:attribute name="user" type="xs:string" use="optional"/>
<xs:attribute name="password" type="xs:string" use="optional"/>
<xs:attribute name="ntlmUserDomain" type="xs:string" use="optional"/>
<xs:attribute name="uuencoded" type="xs:string" use="optional" default="false"/>
<xs:attribute name="disableBasicAuth" type="xs:boolean" use="optional" default="false"/>
</xs:complexType>
</xs:element>
 
<xs:attributeGroup name = "contentAttr">
<xs:attribute name="server" type="xs:string" use="optional"/>
<xs:attribute name="playServer" type="xs:string" use="optional"/>
<xs:attribute name="type" use="optional">
<xs:simpleType>
<xs:restriction base="xs:string">
<xs:enumeration value="prepos"/>
<xs:enumeration value="wmt-live"/>
<xs:enumeration value="real-live"/>
</xs:restriction>
</xs:simpleType>
</xs:attribute>
<xs:attribute name="playDuration" type="xs:unsignedInt" use="optional"/>
<xs:attribute name="bitrate-in-bps" type="xs:unsignedInt" use="optional"/>
<xs:attribute name="bitrate-in-kbps" type="xs:unsignedInt" use="optional"/>
<xs:attribute name="bitrate-in-mbps" type="xs:unsignedInt" use="optional"/>
<xs:attribute name="noRedirectToOrigin" type="xs:boolean" use="optional"/>
<xs:attribute name="requireAuth" type="xs:boolean" use="optional"/>
<xs:attribute name="ignoreQueryString" type="xs:boolean" use="optional"/>
<xs:attribute name="alternateUrl" type="xs:string" use="optional"/>
<xs:attribute name="ttl" type="xs:int" use="optional"/>
<xs:attribute name="failRetryInterval" type="xs:unsignedInt" use="optional"/>
<xs:attribute name="priority" type="xs:unsignedInt" use="optional"/>
<xs:attribute name="prefetch" type="xs:string" use="optional"/>
<xs:attribute name="expires" type="xs:string" use="optional"/>
<xs:attribute name="serve" type="xs:string" use="optional"/>
<xs:attribute name="serveStartTime" type="xs:string" use="optional"/>
<xs:attribute name="serveStopTime" type="xs:string" use="optional"/>
</xs:attributeGroup>
 
<xs:attributeGroup name = "prefixAttr">
<xs:attribute name="cdnPrefix" type="xs:string" use="optional"/>
<xs:attribute name="srcPrefix" type="xs:string" use="optional"/>
</xs:attributeGroup>
 
<xs:element name="item-group">
<xs:complexType>
<xs:sequence>
<xs:element ref="matchRule" minOccurs="0" maxOccurs="1"/>
<xs:element ref="http-meta-data" minOccurs="0" maxOccurs="1"/>
<xs:choice minOccurs="1" maxOccurs="unbounded">
<xs:element ref="item-group" maxOccurs="unbounded"/>
<xs:element ref="item" maxOccurs="unbounded"/>
<xs:element ref="crawler" maxOccurs="unbounded"/>
</xs:choice>
</xs:sequence>
<xs:attributeGroup ref="contentAttr"/>
<xs:attributeGroup ref="prefixAttr"/>
<xs:attribute name="host" type="xs:string" use="optional"/>
<xs:attributeGroup ref="hostAttr"/>
</xs:complexType>
</xs:element>
 
<xs:element name="item">
<xs:complexType>
<xs:sequence>
<xs:element ref="contains" minOccurs="0" maxOccurs="unbounded"/>
<xs:element ref="http-meta-data" minOccurs="0" maxOccurs="1"/>
</xs:sequence>
<xs:attribute name="src" type="xs:string" use="required"/>
<xs:attribute name="cdn-url" type="xs:string" use="optional"/>
<xs:attributeGroup ref="contentAttr"/>
<xs:attribute name="host" type="xs:string" use="optional"/>
<xs:attributeGroup ref="hostAttr"/>
</xs:complexType>
</xs:element>
 
<xs:element name="crawler">
<xs:complexType>
<xs:all>
<xs:element ref="matchRule" minOccurs="0" maxOccurs="1"/>
<xs:element ref="http-meta-data" minOccurs="0" maxOccurs="1"/>
</xs:all>
<xs:attribute name="start-url" type="xs:string" use="required"/>
<xs:attribute name="externalPrefixes" type="xs:string" use="optional"/>
<xs:attribute name="externalServers" type="xs:string" use="optional"/>
<xs:attribute name="depth" type="xs:short" use="optional"/>
<xs:attribute name="prefix" type="xs:string" use="optional"/>
<xs:attribute name="accept" type="xs:string" use="optional"/>
<xs:attribute name="reject" type="xs:string" use="optional"/>
<xs:attribute name="max-number" type="xs:unsignedInt" use="optional"/>
 
<xs:attribute name="max-size-in-B" type="xs:unsignedInt" use="optional"/>
<xs:attribute name="max-size-in-KB" type="xs:unsignedInt" use="optional"/>
<xs:attribute name="max-size-in-MB" type="xs:unsignedInt" use="optional"/>
<xs:attributeGroup ref="contentAttr"/>
<xs:attributeGroup ref="prefixAttr"/>
<xs:attribute name="host" type="xs:string" use="optional"/>
<xs:attributeGroup ref="hostAttr"/>
</xs:complexType>
</xs:element>
 
<xs:element name="contains">
<xs:complexType>
<xs:attribute name="cdn-url" type="xs:string" use="required"/>
</xs:complexType>
</xs:element>
 
<xs:element name="matchRule">
<xs:complexType>
<xs:sequence>
<xs:element ref="match" minOccurs="1" maxOccurs="unbounded"/>
</xs:sequence>
</xs:complexType>
</xs:element>
<xs:element name="match">
<xs:complexType>
<xs:attribute name="mime-type" type="xs:string" use="optional"/>
<xs:attribute name="time-before" type="xs:string" use="optional"/>
<xs:attribute name="time-after" type="xs:string" use="optional"/>
<xs:attribute name="size-min-in-B" type="xs:int" use="optional"/>
<xs:attribute name="size-max-in-B" type="xs:int" use="optional"/>
<xs:attribute name="size-min-in-KB" type="xs:int" use="optional"/>
<xs:attribute name="size-max-in-KB" type="xs:int" use="optional"/>
<xs:attribute name="size-min-in-MB" type="xs:int" use="optional"/>
<xs:attribute name="size-max-in-MB" type="xs:int" use="optional"/>
<xs:attribute name="extension" type="xs:string" use="optional"/>
<xs:attribute name="prefix" type="xs:string" use="optional"/>
<xs:attribute name="url-pattern" type="xs:string" use="optional"/>
</xs:complexType>
</xs:element>
 
<xs:element name="http-meta-data">
<xs:complexType>
<xs:anyAttribute processContents="skip" />
</xs:complexType>
</xs:element>
 
 
</xs:schema>

PlayServerTable XML スキーマ

次の XML コードは、CdnManfiest.xsd の PlayServerTable スキーマ(playServerTable.xsd)を定義します。

<?xml version="1.0"?>
 
<xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema">
 
<xs:element name="playServerTable">
<xs:complexType>
<xs:sequence>
<xs:element ref="playServer" minOccurs="1" maxOccurs="unbounded"/>
</xs:sequence>
</xs:complexType>
</xs:element>
 
<xs:element name="playServer">
<xs:complexType>
<xs:choice minOccurs="1" maxOccurs="unbounded">
<xs:element ref="contentType"/>
<xs:element ref="extension"/>
</xs:choice>
<xs:attribute name="name" use="required">
<xs:simpleType>
<xs:restriction base="xs:string">
<xs:enumeration value="real"/>
<xs:enumeration value="wmt"/>
<xs:enumeration value="http"/>
<xs:enumeration value="qtss"/>
</xs:restriction>
</xs:simpleType>
</xs:attribute>
</xs:complexType>
</xs:element>
 
<xs:element name="contentType">
<xs:complexType>
<xs:attribute name="name" type="xs:string" use="required"/>
</xs:complexType>
</xs:element>
 
<xs:element name="extension">
<xs:complexType>
<xs:attribute name="name" type="xs:string" use="required"/>
</xs:complexType>
</xs:element>
</xs:schema>

デフォルトの PlayServerTable スキーマ

次の XML コードでは、デフォルトの PlayServerTable スキーマ(PlayServerTable.xsd)を定義します。

<?xml version="1.0"?>
 
<playServerTable xmlns:xsi = "http://www.w3.org/2001/XMLSchema-instance"
xsi:noNamespaceSchemaLocation = "PlayServerTable.xsd">
 
<!-- playServer http and https can always play all prepositon
contents unless users use customized <playServerTable>
or "playServer" attribute in the manifest file
-->
 
<playServer name="real">
<!-- MIME type staken from
http://service.real.com/help/library/guides/server8/htmfiles/custmizg.htm
-->
<contentType name="audio/x-pn-realaudio" />
<contentType name="audio/x-pn-realaudio-plugin" />
<contentType name="application/x-pn-realmedia" />
<contentType name="application/smil" />
<contentType name="application/vnd.rn-rmadriver" />
<extension name="rm" />
<extension name="rms" />
<extension name="ra" />
<extension name="rp" />
<extension name="rt" />
<extension name="smi" />
</playServer>
 
<playServer name="qtss">
<contentType name="video/quicktime" />
<extension name="mov" />
<extension name="qt" />
<extension name="mp4" />
 
<!-- extension avi could go here, but is also supported by wmt -->
</playServer>
 
<playServer name="wmt">
<!-- MIME types taken from
http://msdn.microsoft.com/workshop/imedia/windowsmedia/server/mime.asp
-->
<contentType name="video/x-ms-asf" />
<contentType name="audio/x-ms-wma" />
<contentType name="video/x-ms-wmv" />
<contentType name="video/x-ms-wm" />
<contentType name="application/x-ms-wmz" />
<contentType name="application/x-ms-wmd" />
 
<extension name="wma" /> <!-- audio content -->
<extension name="wmv" /> <!-- audio/video content -->
<extension name="asf" /> <!-- audio/video content (legacy) -->
<extension name="wm" /> <!-- reserved for future use -->
 
<!-- extension avi could go here, but is also supported by qtss -->
</playServer>
 
</playServerTable>
 

マニフェスト ファイルの時間帯テーブル

グリニッジ標準時(GMT)を現地時間に変換するには、標準時間と夏時間について、現地時間との時間差を知る必要があります。 表A-10 表A-25 に、マニフェスト ファイルでサポートされている時間帯を一覧表示します。時間帯を作成する形式は、次のとおりです。

<zonename> :[ + | - :]hh:mm 1 行ごと

<zonename> は、時間帯の名前、または標準時間帯の略語( 表A-10 を参照)であり、コロン([:])の前後にはスペースはありません。「[+| - :]hh:mm」は、GMT からのオフセット(時間と分)です。GMT からのオフセットのデフォルトは「+」です。

 

表A-10 標準時間帯と GMT からのオフセット

時間帯:GMT からのオフセット
時間帯:GMT からのオフセット
時間帯:GMT からのオフセット

ACT:+:09:30

Etc/GMT+7:-:07:00

HST:-:10:00

ADT:-:03:00

Etc/GMT+8:-:08:00

IET:-:05:00

AET:+:10:00

Etc/GMT+9:-:09:00

IST:+:05:30

AGT:-:03:00

Etc/GMT-0:00:00

JST:+:09:00

ART:+:02:00

Etc/GMT-10:+:10:00:00

MDT:-:06:00

AST:-:09:00

Etc/GMT-11:+:11:00:00

MET:+:01:00

BET:-:03:00

Etc/GMT-12:+:12:00:00

MIT:-:11:00

BST:+:06:00

Etc/GMT-13:+:13:00:00

MST7MDT:-:07:00

CAT:+:02:00

Etc/GMT-14:+:02:00:00

MST:-:07:00

CDT:-:05:00

Etc/GMT-1:+:01:00:00

NET:+:04:00

CET:+:01:00

Etc/GMT-2:+:02:00:00

NST:+:12:00

CNT:-:03:30

Etc/GMT-3:+:03:00:00

NZ-CHAT:+:12:45

CST6CDT:-:06:00

Etc/GMT-4:+:04:00:00

NZ:+:12:00

CST:-:06:00

Etc/GMT-5:+:05:00:00

Navajo:-:07:00

CTT:+:08:00

Etc/GMT-6:+:06:00:00

PDT:-:07:00

EAT:+:03:00

Etc/GMT-7:+:07:00:00

PLT:+:05:00

ECT:+:01:00

Etc/GMT-8:+:08:00:00

PNT:-:07:00

EDT:-:04:00

Etc/GMT-9:+:09:00:00

PRC:+:08:00

EET:+:02:00

Etc/GMT0:00:00

PRT:-:04:00

EST5EDT:-:05:00

Etc/GMT:00:00

PST8PDT:-:08:00

EST:-:05:00

Etc/Greenwich:00:00

PST:-:08:00

Etc/GMT+0:00:00

Etc/UCT:00:00

ROK:+:09:00

Etc/GMT+10:-:10:00

Etc/UTC:00:00

SST:+:11:00

Etc/GMT+11:-:11:00

Etc/Universal:00:00

UCT:00:00

Etc/GMT+12:-:12:00

Etc/Zulu:00:00

UTC:00:00

Etc/GMT+1:-:01:00

GB-Eire:00:00

Universal:00:00

Etc/GMT+2:-:02:00

GB:00:00

VST:+:07:00

Etc/GMT+3:-:03:00

GMT0:00:00

W-SU:+:03:00

Etc/GMT+4:-:04:00

GMT:00:00

WET:00:00

Etc/GMT+5:-:05:00

Greenwich:00:00

Zulu:00:00

Etc/GMT+6:-:06:00

HDT:-:09:00

 

表A-11 アフリカの GMT オフセット

時間帯:GMT からのオフセット
時間帯:GMT からのオフセット
時間帯:GMT からのオフセット

Africa/Abidjan:00:00

Africa/Djibouti:+:03:00

Africa/Maputo:+:02:00

Africa/Accra:00:00

Africa/Douala:+:01:00

Africa/Maseru:+:02:00

Africa/Addis_Ababa:+:03:00

Africa/El_Aaiun:00:00

Africa/Mbabane:+:02:00

Africa/Algiers:+:01:00

Africa/Freetown:00:00

Africa/Mogadishu:+:03:00

Africa/Asmera:+:03:00

Africa/Gaborone:+:02:00

Africa/Monrovia:00:00

Africa/Bamako:00:00

Africa/Harare:+:02:00

Africa/Nairobi:+:03:00

Africa/Bangui:+:01:00

Africa/Johannesburg:+:02:00

Africa/Ndjamena:+:01:00

Africa/Banjul:00:00

Africa/Kampala:+:03:00

Africa/Niamey:+:01:00

Africa/Bissau:00:00

Africa/Khartoum:+:03:00

Africa/Nouakchott:00:00

Africa/Blantyre:+:02:00

Africa/Kigali:+:02:00

Africa/Ouagadougou:00:00

Africa/Brazzaville:+:01:00

Africa/Kinshasa:+:01:00

Africa/Porto-Novo:+:01:00

Africa/Bujumbura:+:02:00

Africa/Lagos:+:01:00

Africa/Sao_Tome:00:00

Africa/Cairo:+:02:00

Africa/Libreville:+:01:00

Africa/Timbuktu:00:00

Africa/Casablanca:00:00

Africa/Lome:00:00

Africa/Tripoli:+:02:00

Africa/Ceuta:+:01:00

Africa/Luanda:+:01:00

Africa/Tunis:+:01:00

Africa/Conakry:00:00

Africa/Lubumbashi:+:02:00

Africa/Windhoek:+:01:00

Africa/Dakar:00:00

Africa/Lusaka:+:02:00

--

Africa/Dar_es_Salaam:+:03:00

Africa/Malabo:+:01:00

--

 

表A-12 アメリカの GMT オフセット

時間帯:GMT からのオフセット
時間帯:GMT からのオフセット
時間帯:GMT からのオフセット

America/Adak:-:10:00

America/Grenada:-:04:00

America/Noronha:-:02:00

America/Anchorage:-:09:00

America/Guadeloupe:-:04:00

America/North_Dak/Ctr:-:06:00

America/Anguilla:-:04:00

America/Guatemala:-:06:00

America/Panama:-:05:00

America/Antigua:-:04:00

America/Guayaquil:-:05:00

America/Pangnirtung:-:05:00

America/Araguaina:-:03:00

America/Guyana:-:04:00

America/Paramaribo:-:03:00

America/Aruba:-:04:00

America/Halifax:-:04:00

America/Phoenix:-:07:00

America/Asuncion:-:04:00

America/Havana:-:05:00

America/Port-au-Prince:-:05:00

America/Atka:-:10:00

America/Hermosillo:-:07:00

America/Port_of_Spain:-:04:00

America/Barbados:-:04:00

America/Ind/Indian:-:05:00

America/Porto_Acre:-:05:00

America/Belem:-:03:00

America/Ind/Knox:-:05:00

America/Porto_Velho:-:04:00

America/Belize:-:06:00

America/Ind/Marengo:-:05:00

America/Puerto_Rico:-:04:00

America/Boa_Vista:-:04:00

America/Ind/Vevay:-:05:00

America/Rainy_River:-:06:00

America/Bogota:-:05:00

America/Indianapolis:-:05:00

America/Rankin_Inlet:-:06:00

America/Bogota:-:05:00

America/Inuvik:-:07:00

America/Recife:-:03:00

America/Buenos_Aires:-:03:00

America/Iqaluit:-:05:00

America/Regina:-:06:00

America/Cambridge_Bay:-:07:0

America/Jamaica:-:05:00

America/Rio_Branco:-:05:00

America/Cancun:-:06:00

America/Jujuy:-:03:00

America/Rosario:-:03:00

America/Caracas:-:04:00

America/Juneau:-:09:00

America/Santiago:-:04:00

America/Catamarca:-:03:00

America/Ken/Louisville:-:05:00

America/Santo_Domingo:-:04:0

America/Cayenne:-:03:00

America/Ken/Monticello:-:05:0

America/Sao_Paulo:-:03:00

America/Cayman:-:05:00

America/Knox_IN:-:05:00

America/Scoresbysund:-:01:00

America/Chicago:-:06:00

America/La_Paz:-:04:00

America/Shiprock:-:07:00

America/Chihuahua:-:07:00

America/Lima:-:05:00

America/St_Johns:-:03:30

America/Cordoba:-:03:00

America/Los_Angeles:-:08:00

America/St_Lucia:-:04:00

America/Costa_Rica:-:06:00

America/Louisville:-:05:00

America/St_Thomas:-:04:00

America/Cuiaba:-:04:00

America/Maceio:-:03:00

America/St_Vincent:-:04:00

America/Curacao:-:04:00

America/Managua:-:06:00

America/Swift_Current:-:06:00

America/Danmarkshavn:00:00

America/Manaus:-:04:00

America/Tegucigalpa:-:06:00

America/Dawson:-:08:00

America/Martinique:-:04:00

America/Thule:-:04:00

America/Dawson_Creek:-:07:00

America/Mazatlan:-:07:00

America/Thunder_Bay:-:05:00

America/Denver:-:07:00

America/Mendoza:-:03:00

America/Tijuana:-:08:00

America/Detroit:-:05:00

America/Menominee:-:06:00

America/Tortola:-:04:00

America/Dominica:-:04:00

America/Merida:-:06:00

America/Vancouver:-:08:00

America/Edmonton:-:07:00

America/Mexico_City:-:06:00

America/St_Lucia:-:04:00

America/Eirunepe:-:05:00

America/Miquelon:-:03:00

America/Virgin:-:04:00

America/El_Salvador:-:06:00

America/Monterrey:-:06:00

America/Whitehorse:-:08:00

America/Ensenada:-:08:00

America/Montevideo:-:03:00

America/Winnipeg:-:06:00

America/Fort_Wayne:-:05:00

America/Montreal:-:05:00

America/Yakutat:-:09:00

America/Fortaleza:-:03:00

America/Montserrat:-:04:00

America/Yellowknife:-:07:00

America/Glace_Bay:-:04:00

America/Nassau:-:05:00

America/Virgin:-:04:00

America/Godthab:-:03:00

America/New_York:-:05:00

America/Whitehorse:-:08:00

America/Goose_Bay:-:04:00

America/Nipigon:-:05:00

America/Winnipeg:-:06:00

America/Grand_Turk:-:05:00

America/Nome:-:09:00

America/Tortola:-:04:00

 

表A-13 南極大陸/北極地域の GMT オフセット

時間帯:GMT からのオフセット
時間帯:GMT からのオフセット
時間帯:GMT からのオフセット

Antarctica/Casey:+:08:00

Antarctica/McMurdo:+:12:00

Antarctica/Vostok:+:06:00

Antarctica/Davis:+:07:00

Antarctica/Palmer:-:04:00

Arctic/Longyearbyen:+:01:00

Antarctica/DtDUrville:+:10:00

Antarctica/South_Pole:+:12:00

--

Antarctica/Mawson:+:06:00

Antarctica/Syowa:+:03:00

--

 

表A-14 アジアの GMT オフセット

時間帯:GMT からのオフセット
時間帯:GMT からのオフセット
時間帯:GMT からのオフセット

Asia/Aden:+:03:00

Asia/Hong_Kong:+:08:00

Asia/Riyadh87:+:03:07

Asia/Almaty:+:06:00

Asia/Hovd:+:07:00

Asia/Riyadh88:+:03:07

Asia/Amman:+:02:00

Asia/Irkutsk:+:08:00

Asia/Riyadh89:+:03:07

Asia/Anadyr:+:12:00

Asia/Istanbul:+:02:00

Asia/Riyadh:+:03:00

Asia/Aqtau:+:04:00

Asia/Jakarta:+:07:00

Asia/Saigon:+:07:00

Asia/Aqtobe:+:05:00

Asia/Jayapura:+:09:00

Asia/Sakhalin:+:10:00

Asia/Ashgabat:+:05:00

Asia/Jerusalem:+:02:00

Asia/Samarkand:+:05:00

Asia/Ashkhabad:+:05:00

Asia/Kabul:+:04:30

Asia/Seoul:+:09:00

Asia/Baghdad:+:03:00

Asia/Kamchatka:+:12:00

Asia/Shanghai:+:08:00

Asia/Bahrain:+:03:00

Asia/Karachi:+:05:00

Asia/Singapore:+:08:00

Asia/Baku:+:04:00

Asia/Kashgar:+:08:00

Asia/Taipei:+:08:00

Asia/Bangkok:+:07:00

Asia/Katmandu:+:05:45

Asia/Tashkent:+:05:00

Asia/Beirut:+:02:00

Asia/Krasnoyarsk:+:07:00

Asia/Tbilisi:+:04:00

Asia/Bishkek:+:05:00

Asia/Kuala_Lumpur:+:08:00

Asia/Tehran:+:03:30

Asia/Brunei:+:08:00

Asia/Kuching:+:08:00

Asia/Tel_Aviv:+:02:00

Asia/Calcutta:+:05:30

Asia/Kuwait:+:03:00

Asia/Thimbu:+:06:00

Asia/Choibalsan:+:09:00

Asia/Macao:+:08:00

Asia/Thimphu:+:06:00

Asia/Chongqing:+:08:00

Asia/Magadan:+:11:00

Asia/Tokyo:+:09:00

Asia/Chungking:+:08:00

Asia/Manila:+:08:00

Asia/Ujung_Pandang:+:08:00

Asia/Colombo:+:06:00

Asia/Muscat:+:04:00

Asia/Ulaanbaatar:+:08:00

Asia/Dacca:+:06:00

Asia/Nicosia:+:02:00

Asia/Ulan_Bator:+:08:00

Asia/Damascus:+:02:00

Asia/Novosibirsk:+:06:00

Asia/Urumqi:+:08:00

Asia/Dhaka:+:06:00

Asia/Omsk:+:06:00

Asia/Vientiane:+:07:00

Asia/Dili:+:09:00

Asia/Phnom_Penh:+:07:00

Asia/Vladivostok:+:10:00

Asia/Dubai:+:04:00

Asia/Pontianak:+:07:00

Asia/Yakutsk:+:09:00

Asia/Dushanbe:+:05:00

Asia/Pyongyang:+:09:00

Asia/Yekaterinburg:+:05:00

Asia/Gaza:+:02:00

Asia/Qatar:+:03:00

Asia/Yerevan:+:04:00

Asia/Harbin:+:08:00

Asia/Rangoon:+:06:30

--

 

表A-15 大西洋の GMT オフセット

時間帯:GMT からのオフセット
時間帯:GMT からのオフセット
時間帯:GMT からのオフセット

Atlantic/Azores:-:01:00

Atlantic/Faeroe:00:00

Atlantic/South_Georgia:-:02:00

Atlantic/Bermuda:-:04:00

Atlantic/Jan_Mayen:+:01:00

Atlantic/St_Helena:00:00

Atlantic/Canary:00:00

Atlantic/Madeira:00:00

Atlantic/Stanley:-:04:00

Atlantic/Cape_Verde:-:01:00

Atlantic/Reykjavik:00:00

--

 

表A-16 オーストラリアの GMT オフセット

時間帯:GMT からのオフセット
時間帯:GMT からのオフセット
時間帯:GMT からのオフセット

Australia/ACT:+:10:00

Australia/LHI:+:10:30

Australia/Queensland:+:10:00

Australia/Adelaide:+:09:30

Australia/Lindeman:+:10:00

Australia/South:+:09:30

Australia/Brisbane:+:10:00

Australia/Lord_Howe:+:10:30

Australia/Sydney:+:10:00

Australia/Broken_Hill:+:09:30

Australia/Melbourne:+:10:00

Australia/Tasmania:+:10:00

Australia/Canberra:+:10:00

Australia/NSW:+:10:00

Australia/Victoria:+:10:00

Australia/Darwin:+:09:30

Australia/North:+:09:30

Australia/West:+:08:00

Australia/Hobart:+:10:00

Australia/Perth:+:08:00

Australia/Yancowinna:+:09:30

 

表A-17 ブラジルの GMT オフセット

時間帯:GMT からのオフセット
時間帯:GMT からのオフセット
時間帯:GMT からのオフセット

Brazil/Acre:-:05:00

Brazil/East:-:03:00

Brazil/West:-:04:00

Brazil/DeNoronha:-:02:00

--

--

 

表A-18 カナダ/チリ/キューバの GMT オフセット

時間帯:GMT からのオフセット
時間帯:GMT からのオフセット
時間帯:GMT からのオフセット

Canada/Atlantic:-:04:00

Canada/Mountain:-:07:00

Canada/Yukon:-:08:00

Canada/Central:-:06:00

Canada/Newfoundland:-:03:30

Chile/Continental:-:04:00

Canada/East-Ssktchwan:-:06:00

Canada/Pacific:-:08:00

Chile/EasterIsland:-:06:00

Canada/Eastern:-:05:00

Canada/Saskatchewan:-:06:00

Cuba:-:05:00

 

表A-19 エジプト/アイルランド/ヨーロッパの GMT オフセット

時間帯:GMT からのオフセット
時間帯:GMT からのオフセット
時間帯:GMT からのオフセット

Egypt:+:02:00

Europe/Kiev:+:02:00

Europe/Simferopol:+:02:00

Eire:00:00

Europe/Lisbon:00:00

Europe/Skopje:+:01:00

Europe/Amsterdam:+:01:00

Europe/Ljubljana:+:01:00

Europe/Sofia:+:02:00

Europe/Andorra:+:01:00

Europe/London:00:00

Europe/Stockholm:+:01:00

Europe/Athens:+:02:00

Europe/Luxembourg:+:01:00

Europe/Tallinn:+:02:00

Europe/Belfast:00:00

Europe/Madrid:+:01:00

Europe/Tirane:+:01:00

Europe/Belgrade:+:01:00

Europe/Malta:+:01:00

Europe/Tiraspol:+:02:00

Europe/Berlin:+:01:00

Europe/Minsk:+:02:00

Europe/Uzhgorod:+:02:00

Europe/Bratislava:+:01:00

Europe/Monaco:+:01:00

Europe/Vaduz:+:01:00

Europe/Brussels:+:01:00

Europe/Moscow:+:03:00

Europe/Vatican:+:01:00

Europe/Bucharest:+:02:00

Europe/Nicosia:+:02:00

Europe/Vienna:+:01:00

Europe/Budapest:+:01:00

Europe/Oslo:+:01:00

Europe/Vilnius:+:02:00

Europe/Chisinau:+:02:00

Europe/Paris:+:01:00

Europe/Warsaw:+:01:00

Europe/Copenhagen:+:01:00

Europe/Prague:+:01:00

Europe/Zagreb:+:01:00

Europe/Dublin:00:00

Europe/Riga:+:02:00

Europe/Zaporozhye:+:02:00

Europe/Gibraltar:+:01:00

Europe/Rome:+:01:00

Europe/Zurich:+:01:00

Europe/Helsinki:+:02:00

Europe/Samara:+:04:00

Europe/Simferopol:+:02:00

Europe/Istanbul:+:02:00

Europe/San_Marino:+:01:00

Europe/Skopje:+:01:00

Europe/Kaliningrad:+:02:00

Europe/Sarajevo:+:01:00

Europe/Sofia:+:02:00

 

表A-20 香港/アイスランド/インド/イラン/イスラエルの GMT オフセット

時間帯:GMT からのオフセット
時間帯:GMT からのオフセット
時間帯:GMT からのオフセット

Hongkong:+:08:00

Indian/Cocos:+:06:30

Indian/Mauritius:+:04:00

Iceland:00:00

Indian/Comoro:+:03:00

Indian/Mayotte:+:03:00

Indian/Antananarivo:+:03:00

Indian/Kerguelen:+:05:00

Indian/Reunion:+:04:00

Indian/Chagos:+:06:00

Indian/Mahe:+:04:00

Iran:+:03:30

Indian/Christmas:+:07:00

Indian/Maldives:+:05:00

Israel:+:02:00

 

表A-21 ジャマイカ/日本/クワゼリン/リビアの GMT オフセット

時間帯:GMT からのオフセット
時間帯:GMT からのオフセット
時間帯:GMT からのオフセット

Jamaica:-:05:00

Kwajalein:+:12:00

Libya:+:02:00

Japan:+:09:00

--

--

 

表A-22 メキシコ/中東の GMT オフセット

時間帯:GMT からのオフセット
時間帯:GMT からのオフセット
時間帯:GMT からのオフセット

Mexico/BajaNorte:-:08:00

Mexico/General:-:06:00

Mideast/Riyadh88:+:03:07

Mexico/BajaSur:-:07:00

Mideast/Riyadh87:+:03:07

Mideast/Riyadh89:+:03:07

 

表A-23 太平洋/ポーランド/ポルトガルの GMT オフセット

時間帯:GMT からのオフセット
時間帯:GMT からのオフセット
時間帯:GMT からのオフセット

Pacific/Apia:-:11:00

Pacific/Johnston:-:10:00

Pacific/Ponape:+:11:00

Pacific/Auckland:+:12:00

Pacific/Kiritimati:+:14:00

Pacific/Port_Moresby:+:10:00

Pacific/Chatham:+:12:45

Pacific/Kosrae:+:11:00

Pacific/Rarotonga:-:10:00

Pacific/Easter:-:06:00

Pacific/Kwajalein:+:12:00

Pacific/Saipan:+:10:00

Pacific/Efate:+:11:00

Pacific/Majuro:+:12:00

Pacific/Samoa:-:11:00

Pacific/Enderbury:+:13:00

Pacific/Marquesas:-:09:30

Pacific/Tahiti:-:10:00

Pacific/Fakaofo:-:10:00

Pacific/Midway:-:11:00

Pacific/Tarawa:+:12:00

Pacific/Fiji:+:12:00

Pacific/Nauru:+:12:00

Pacific/Tongatapu:+:13:00

Pacific/Funafuti:+:12:00

Pacific/Niue:-:11:00

Pacific/Truk:+:10:00

Pacific/Galapagos:-:06:00

Pacific/Norfolk:+:11:30

Pacific/Wake:+:12:00

Pacific/Gambier:-:09:00

Pacific/Noumea:+:11:00

Pacific/Wallis:+:12:00

Pacific/Guadalcanal:+:11:00

Pacific/Pago_Pago:-:11:00

Pacific/Yap:+:10:00

Pacific/Guam:+:10:00

Pacific/Palau:+:09:00

Poland:+:01:00

Pacific/Honolulu:-:10:00

Pacific/Pitcairn:-:08:00

Portugal:00:00

 

表A-24 シンガポール/システム V/トルコの GMT オフセット

時間帯:GMT からのオフセット
時間帯:GMT からのオフセット
時間帯:GMT からのオフセット

Singapore:+:08:00

SystemV/EST5:-:05:00

SystemV/PST8PDT:-:08:00

SystemV/AST4:-:04:00

SystemV/EST5EDT:-:05:00

SystemV/YST9:-:09:00

SystemV/AST4ADT:-:04:00

SystemV/MST7:-:07:00

SystemV/YST9YDT:-:09:00

SystemV/CST6:-:06:00

SystemV/MST7MDT:-:07:00

Turkey:+:02:00

SystemV/CST6CDT:-:06:00

SystemV/PST8:-:08:00

--

 

表A-25 米国の GMT オフセット

時間帯:GMT からのオフセット
時間帯:GMT からのオフセット
時間帯:GMT からのオフセット

US/Alaska:-:09:00

US/Eastern:-:05:00

US/Pacific-New:-:08:00

US/Aleutian:-:10:00

US/Hawaii:-:10:00

US/Pacific:-:08:00

US/Arizona:-:07:00

US/Indiana-Starke:-:05:00

US/Samoa:-:11:00

US/Central:-:06:00

US/Michigan:-:05:00

--

US/East-Indiana:-:05:00

US/Mountain:-:07:00

--

マニフェスト ファイルの自動化スクリプト

ここでは、自動化 Perl スクリプトについて説明します。この Perl スクリプトを使用すると、ACNS ネットワーク用のマニフェスト ファイルの作成を自動化できます。マニフェスト ファイルを最も効率よく作成する方法は、自動化 Spider Perl スクリプトを Manifest Perl スクリプトと組み合わせてカスタマイズすることです。どちらのスクリプトも Cisco.com から入手できます。この 2 つの Perl スクリプトは、独自の自動化スクリプトの基盤としての役割を果たし、ユーザのニーズに合わせて変更できます。

この 2 つの Perl 自動化スクリプトは、 spider.pl manifest.pl と呼ばれます。これらのスクリプトは、そのままで使用できます。Perl を使い慣れている場合は、 spider.pl manifest.pl を変更できます。ただし、これらのスクリプトをユーザが変更する場合、それらはシスコのサポートの対象外となります。 spider.pl manifest.pl の両方のスクリプトには、ユーザが作成したルール ファイル(たとえば、.cfg)と一緒に使用する「--file」引数が含まれています。これらの引数を再使用できるようにするために、コマンドラインから引数を実行するのではなく、これから説明する方法を使用して、必要となるさまざまな引数を組み込むことを推奨します。

まず、Spider スクリプトを使用してから、Spider スクリプトの出力を Manifest スクリプトへの入力として使用します。Spider スクリプトは、選択されたオリジン サーバのコンテンツを検索し、コンテンツすべての URL のリストを含むデータベース ファイルを出力します。Manifest スクリプトは、このデータベース ファイルを使用して、コマンドラインまたはルール ファイルから指定する規則に基づく正しい構文でマニフェスト ファイルを作成します。これにより、XML ベースのマニフェスト ファイルが作成され、そのファイルにはユーザが使用できるコンテンツ オブジェクトだけの URL が入っています。

次の 2 つのサンプル自動化 Perl スクリプトは、Cisco.com から入手可能です。

Spider Perl スクリプト

Spider スクリプトは、選択されたオリジン サーバのコンテンツをクロールし、URL のリストを含んだデータベース ファイルを出力します。

Manifest Perl スクリプト

Manifest スクリプトは、Spider スクリプトによるデータベース ファイル出力を読み取り、XML 形式のマニフェスト ファイルを作成します。このファイルには、設定された規則を使用して、ユーザに提示できるフィルタリングされたコンテンツ オブジェクトだけの URL が入っています。

ワークステーションへの Perl のインストール

Spider または Manifest スクリプトを処理または実行する場合は、事前に Perl をワークステーションにインストールしておく必要があります。Perl インタープリタも入手しておくと便利です。Perl は、オープン ソース ソフトウェアであり、インターネット上のいろいろなロケーションから無料でダウンロードできます。次の URL にある Comprehensive Perl Archive Network(CPAN)を参照してください。

http://www.cpan.org
または
http://www.perl.com

Perl スクリプトの取得

Spider および Manifest スクリプトは、Cisco.com から取得できます。その手順は、Cisco ACNS ソフトウェアのアップデート バージョンの取得と同じです。

Spider および Manifest スクリプトを Cisco.com から取得する手順は、次のとおりです。


ステップ 1 次の URL から、Spider および Manifest Perl スクリプトを検索します。

http://www.cisco.com/cgi-bin/tablebuild.pl/acns52

ステップ 2 プロンプトが表示されたら、指定されている Cisco.com のユーザ名とパスワードを使用して Cisco.com にログインします。

Cisco ACNS Software Download ページが表示され、Cisco ACNS Software 製品で利用可能なソフトウェア アップデート版が一覧表示されます。

ステップ 3 ACNS-5.2.1.5-manifest-tools.zip という名前のファイルを検索します。この ZIP アーカイブ ファイルには、Manifest と Spider Perl スクリプトの両方が含まれています。

ステップ 4 ACNS-5.2.1.5-manifest-tools.zip ファイルのリンクをクリックします。ダウンロード ページが表示されます。

ステップ 5 Software License Agreement をクリックします。

別のブラウザ ウィンドウが開き、ライセンス契約が表示されます。

ステップ 6 ライセンス契約の内容を確認したら、その契約を表示しているブラウザ ウィンドウを閉じて、Software Download ページに戻ります。

ステップ 7 Download というラベルが付いているファイル名へのリンクをクリックします。

ステップ 8 Save to file をクリックし、スクリプトが入っている圧縮ファイルをワークステーションに一時的に保存するロケーションを選択します。

ステップ 9 適切な解凍プログラムを使用して、ワークステーションまたはネットワーク上のロケーションにスクリプトを解凍します。

スクリプトを解凍すると、それらのスクリプトを使用して、使用する Web サイト用のマニフェスト ファイルを作成できます。スクリプトの実行方法については、「Spider スクリプトを使用した Web サイト コンテンツのリスト」 および 「Manifest スクリプトを使用したライブ コンテンツと事前配信コンテンツの選択」を参照してください。


 

Spider スクリプトを使用した Web サイト コンテンツのリスト

最も単純なシナリオでは、Spider スクリプトには、オリジン サーバのアドレスを指定し、そのサイトで検出された有効な URL を格納するデータベース(.db)ファイルの名前を指定します。たとえば、マニフェスト ファイルの作成後に事前配信されるコンテンツがあるかどうか、www.cisco.com のコンテンツを分析する場合、次のコマンドを実行します。

perl spider.pl --start=www.cisco.com --db=ciscocontent.db
 

Spider スクリプトの範囲の縮小または拡大

www.cisco.com 全体で Spider スクリプトを使用すると、時間がかかり、必要以上の情報が生成されます。Spider スクリプトに含まれている各種ツールを使用すると、Spider による処理範囲を縮小または拡大できます。


) 大規模な Web サイトで Spider スクリプトを実行する場合、Spider スクリプトがデータベースを作成するのに必要となる長い時間、および必要となる大量のメモリについて計画する必要があります。


たとえば、Spider スクリプトによる www.cisco.com の検索範囲を、製品関連のサポート情報が入っているサーバの部分だけに制限するには、次のコマンドを入力します。

perl spider.pl --start=www.cisco.com/public/support/ --db=ciscocontent.db
 

Spider スクリプトが www.cisco.com から Cisco ネットワーキング専門家フォーラムへのリンクをたどるようにするには、次の Spider スクリプト コマンドを入力します。

perl spider.pl --start=www.cisco.com --accept=business.cisco.com --db=ciscocontent.db
 

Spider スクリプト構文のガイドライン

表A-26 に示されているように、Spider スクリプトは次の構文に従います。

perl spider.pl { --start= origin_server_url [ --accept= accept_url | --depth= number | --file= filename | --limit= number | --prefix = url_prefix | --map = url_prefix | --reject= disallowed_url | --db= database_name .db ] }

 

表A-26 Spider スクリプトのキーワード

キーワード
説明
コマンドライン構文

--start(必須)

分析対象のオリジン サーバのロケーション(URL)を指定します。

--start=www.cisco.com

--accept(任意)

start キーワードを使用して指定したロケーション以外で、URL で検出するときに受け入れ対象となるものを指定します。

--accept=forums.cisco.com
 

) --accept は、正規表現を含むことができる、汎用性の高いコマンドです。たとえば、「jobs.*tech」を使用すると、ストリング「jobs」のあとに「tech」が続く任意の URL を受け入れることができます。


--depth(任意)

オリジン サーバ上で指定されたレベル数の深さまでリンクをたどったあとで、Spider スクリプトを停止させます。

--depth=6

--file(任意)

Spider スクリプトに、指定されたファイル(この場合、ルール ファイル)から一度に 1 行ずつコマンドを読み取らせます。

--file=cisco-rules.cfg

--limit(任意)

指定されたページ数をオリジン サーバから取得したあとで、Spider スクリプトを停止させます。0 を指定すると、取得されるページ数が制限なしに設定されます。

--limit=1000

--prefix(任意)

Spider スクリプトで一致する URL プレフィクスを指定します。--prefex キーワードは、最初から一致させる必要がある固定ストリング(たとえば、
[http://www.cisco.com/jobs])を受け入れる便利なオプションです。

--prefix=http://www.cisco.com/partners/CDN/

--map(任意)

Spider スクリプトは、第 2 URL プレフィクス(2 番めの = のあとに指定されている)をオリジン サーバから戻される最初の URL の代わりに使用します。または、たとえば、リンクが Content Engine へ向けられるように変更された時点で Spider スクリプト自体がオリジン サーバで作動している場合は、Spider スクリプトは、第 1 URL プレフィクスを第 2 URL プレフィクスの代わりに使用します。

--map=http://www.cisco.com/public/support/tac/=/support

--reject(任意)

URL 内で検出された場合、拒否されるロケーションを指定します。


) --accept キーワードと --reject キーワードが Spider スクリプトに指定される順序により、優先順位が決まります。最初の一致が優先されます。


--reject=/cgi-bin

--db(任意)

オリジン サーバ、および受け入れ対象となるロケーションからのコンテンツ URL を格納する、データベース ファイルを指定します

--db=ciscocontent.db

Spider スクリプトのカスタマイズ

Spider スクリプトでは、ある特定のプラットフォームやシナリオがユーザの Web サイト設定に対応しないことが予想されるので、シスコは Spider スクリプト用の Perl ソース コードを用意しています。このソース コードは、ユーザのニーズに合わせて変更が可能です。

Manifest スクリプトを使用したライブ コンテンツと事前配信コンテンツの選択

Spider スクリプトは、オリジン サーバからコンテンツ候補のリストを収集するのに使用されます。一方、Manifest スクリプトは、Spider スクリプトによって収集されるこの情報を取捨選択して、Content Engine 上に配置するために ACNS ネットワークに実際にインポートするコンテンツを決定します。

事前配信コンテンツとライブ コンテンツとの対比

Manifest スクリプトは、事前配信する必要があるコンテンツと定義上事前配信できないライブ ストリーム コンテンツとを区別します。

live コマンドを使用した結果は、 prepos コマンドを使用した結果とほぼ同じです。どちらのコマンドでも、ライブ コンテンツとして配信しようとするもの、もしくは --prepos=match() または --prepos=type() を使用して事前配信コンテンツとして配信しようとするものを指定する必要があります。この 2 つのコマンドの違いは、 manifest.pl によって作成される .xml ファイルに含まれるタグだけです。 prepos コマンドを使用する場合、作成される .xml ファイルには、<item-group type="prepos"> タグが含まれます。 live コマンドを使用する場合、 .xml ファイルには、ストリーミング データが RealMedia であるか WMT であるかに応じて、<item-group type="wmt-live"> または <item-group type="real-live"> タグが含まれます。

prepos コマンドを使用する場合は、指定する基準を満たすコンテンツを識別してから事前配信します。たとえば、1 メガバイトを超える、Cisco.com からのイメージ ファイルを事前配信するには、次のコマンドを入力します。

perl manifest.pl --prepos=’type(image/*) and size > 1000k’ --db=ciscocontent.db --xml=cisco.xml
 

live コマンドを使用する場合は、ライブ コンテンツの URL を識別します。事前配信コンテンツとは異なり、ライブ コンテンツは、ヘッダーに保存されている情報では識別できません。したがって、コンテンツの URL に含まれている情報だけに基づいて、ライブ コンテンツを検出する方法を考案する必要があります。たとえば、次のコマンドを使用すると、ストリーム コンテンツを識別できます。

perl manifest.pl --live=‘match(http://*)’

Manifest スクリプト構文のガイドライン

表A-27 で説明されているように、Manifest スクリプトは次の構文に従います。

perl manifest.pl [ --file= filename | { --live= keyword_comparison ' | --prepos= keyword_comparison '} | --set= attribute=value : keyword_comparison ' | --playservertable= filename | --map= origin_server_url_prefix = cdn_prefix | --db= database_name .db | --xml= manifest_file_name . xml ]


) マニフェスト ファイルが Spider データベースから作成されるには、少なくとも 1 つの --prepos または --live キーワードが必要です。これらのキーワードのどちらも使用しない場合、作成されるマニフェスト ファイルは最小限のものであり、コンテンツ URL をいっさい含みません。


--prepos キーワードは、--type() または --match のいずれかと一緒に使用できます( 表A-28 を参照)。これらは、実行する機能が異なります。--match() キーワード修飾子は、テキスト一致であり、URL名に基づいて作用します。たとえば、 a.jaypeg という名前の jpeg ファイルを呼び出すには、--match(*.jaypeg)キーワード修飾子を使用してください。もう 1 つの例は、--match() キーワード修飾子を使用して、URL の名前で news を検出する場合です。また、次の例のように、--match() キーワード修飾子を使用することもできます。

perl manifest.pl -db=name.db --prepos==’match(*.jpg)’ -xml=xmlname.xml
 

--type() キーワード修飾子は、データベース ファイルで指定されたコンテンツと、Web サーバが戻すコンテンツ タイプ ヘッダーとの比較に使用します。このキーワードは、オブジェクトの MIME タイプをクライアントに知らせます。たとえば、 jpeg ファイルに *.jaypeg という名前を付けると、Web サーバは「Content-Type:image/jpeg」を戻し、これがデータベースに格納されます。

--type() キーワード修飾子の例はその他に、次のものがあります。

--prepos=type(text/html)
--prepos=type(text/plain)
--prepos=type(application/pdf)
--prepos=type(image/gif)
--prepos=type(image/jpeg)
--prepos=type(video/mpeg)
 

次の 2 つの例では、完全なコマンドラインで --type() キーワード修飾子を使用しています。

perl manifest.pl --db=name.db --prepos=”type(image/jpeg)” -xml=xmlname.xml
perl manifest.pl --db=name2.db --prepos=”type(application/pdf)” xml=xmlname2.xml

ヒント 一般に、引用符を使用する必要があるのはコマンドラインだけです。ルール ファイルでは、--file キーワードに引用符を使用する必要はありません。


--prepos キーワードが完全なコマンドラインで使用される場合は、次のように引用符が必要です。

Windows 2000

前述の例のように、単一引用符ではなく二重引用符を使用します。

Linux

二重引用符ではなく単一引用符を使用します。

次の rules.cfg ファイル例のように、ルール ファイル内で --file 引数と一緒に --prepos 引数が使用される場合、引用符は必要ないのでファイルを変更できます。

--start=www.cisco.com
--accept=forums.cisco.com
--reject=/cgi-bin
--limit=0
--db=ciscocontent.db
--prepos=match(image/gif) and size > 1000k
--xml=ciscomanifest.xml
 

ルール ファイル内から引用符を削除しないと、「Bareword found where operator expected」というメッセージが表示されます。

 

表A-27 Manifest スクリプトのキーワード

キーワード
説明
コマンドライン構文

--file

Manifest スクリプトに、指定されたファイルからコマンドを一度に 1 行ずつ読み取らせます。

--file=ciscocontent.cfg

--live

マニフェスト ファイル内で、キーワード比較の条件と一致するデータベース ファイル内のコンテンツ URL に、ライブ コンテンツ(live=type)のマークを付けます。

 

--prepos

マニフェスト ファイル内で、キーワード比較の条件と一致するデータベース ファイル内のコンテンツ URL に、事前配信コンテンツ(prepos=type)のマークを付けます。


type コマンドは、Spider データベース ファイルの Content-Type:フィールドと照合します。


--prepos=‘type(image/jpeg) and size > 1000k’

--set

データベース ファイル内で、キーワード比較と一致する URL を持つすべてのコンテンツ項目に指定された値に、指定された属性を設定します。

--set=‘ttl=10000:match(*/urgent/*)’

--playservertable

指定されたファイル内の再生サーバ テーブルをマニフェスト ファイルに追加します。再生サーバ テーブルは、特定の Content Engine 内のコンテンツに使用するために、MIME タイプ コンテンツとファイル名拡張子を特定のサーバ タイプ(たとえば、「real」や「wmt」)にマッピングします。

マニフェスト ファイルが正しく検証されるには、次の例のように、再生サーバ テーブル全体をマニフェスト ファイルの先頭に移動させます。

<CdnManifest>
<playServerTable>
...
</playServerTable>
<server>
...
</server>
...
</CdnManifest>
--playservertable=info.txt

--map

Manifest スクリプトは、オリジン サーバからの URL 内の最初の URL プレフィクスの代わりに、2 番めの URL プレフィクス(2 番めの = のあとに表示される)を使用します。

2 番めの URL プレフィクスには、完全パス名が必要です。--map キーワードは、 manifest.pl を使用する .xml ファイル内の名前を変更するのに使用します。 manifest.pl を実行するときに、 cdn-url 属性を持つ <item> タグを確認して、要求された名前に設定する必要があります。

--map= http://www.cisco.com/public/support/
tac/=/support

--db

オリジン サーバおよび受け入れられる任意のロケーションからのコンテンツ URL を格納するデータベース ファイルを指定します。指定されたファイルには、Manifest スクリプトが解析に使用するデータを含んでいます。

--db=ciscocontent.db

--xml

Manifest スクリプトによって生成されるマニフェスト ファイルを指定します。

--xml=ciscomanifest.xml

 

表A-28 Manifest スクリプト キーワード修飾子

修飾子
説明
コマンドライン構文

match( 比較条件

指定された値と同じコンテンツ URL 内のテキストを検索します。

--prepos=‘match( http://forums.cisco.com/ *)’

size( 比較条件

指定されたファイル サイズ パラメータに従って、データベース ファイルで指定されたコンテンツを識別します。ファイル サイズ パラメータは、キロバイト、メガバイト、またはギガバイト(k、KB、m、MB、g、GB)で指定できます。

--prepos=match(*.gif) and size > 1000k

modtime( 比較条件

コンテンツが最後に変更されてから経過した時間(時間数)に従って、データベース ファイルで指定されたコンテンツを識別します。


) ルール ファイル内で使用されたかどうかにかかわらず、「hours」の前にスペースを入れないでください。



) ルール ファイル内で time() キーワードを使用する場合は、引用符を使用しないでください。


構文例では、「modtime」は「now」 - <value> と比較されます。「now」は現在の時刻です(1970 年以降の秒数)。<value> は、時間単位(時間数)です。たとえば、「modtime」が現在の時刻から 2 時間マイナスした時刻である場合、次のように表示されます。

modtime < (now - 2hours)

次の例は、「>」文字を使用した時間比較をする .cfg ファイルを示しています。

--start=http://website.com
--db=time1.db
--limit=10000
--xml=time1.xml
# this works for bitmaps modified within 2 hours
--prepos=type(image/bmp) and modtime > (now - 2hours)
 

次の例は、「<」文字を使用した時間比較をする .cfg ファイルを示しています。

--start=http://website.com
--db=time2.db
--limit=10000
# this works for bitmaps that have NOT been modified within last 2 hours
--prepos=type(image/bmp) and modtime < (now - 2hours)
--xml=time2.xml

type(比較条件)

MIME タイプ(テキスト、アプリケーション、イメージなど)に従って、データベース ファイルで指定されたコンテンツを識別します。

--prepos=‘type(image/gif)’

Manifest スクリプトのカスタマイズ

Manifest スクリプトでは、一定のプラットフォームやシナリオが独自の Web サイト設定に対応しない可能性があることが予想されるため、シスコは Manifest スクリプト用の Perl ソース コードを用意しています。このソース コードは、ユーザのニーズに合わせて変更できます。

Spider スクリプトと Manifest スクリプト用のルール ファイルの作成

大規模な Web サーバ上で Spider スクリプトと Manifest スクリプトを使用する場合、スクリプトに対して設定するパラメータとルールが、非常に多数で複雑になる場合があります。この場合、カスタマイズされたルールのリストを含む別個のファイルを作成する方が便利です。ルールを適用するたびに長いコマンドを入力するのではなく、適用できるルールを単に指し示すことができます。

ルール ファイルを使用すると、Spider スクリプトと Manifest スクリプトの再実行が簡単になり、スクリプトが実行されるたびに同じコマンドを確実に受け取ることができます。さらに、Spider スクリプトと Manifest スクリプトの両方が、出力エラーを生成しないで、同じコマンド ファイルを読み取ることができます。Spider スクリプトは、Manifest スクリプトのコマンドを単に無視します。逆の場合も同じです。

Spider スクリプトと Manifest スクリプトのルール ファイルを作成する手順は、次のとおりです。


ステップ 1 テキスト エディタを開きます。

ステップ 2 一度に 1 つずつ、別々の行にコマンドを入力します。

ルール ファイルの各行は、1 つの引数としてスクリプトに送られます。次の例は、Cisco Web サイトのルール ファイルを示しています。

--start=www.cisco.com
--accept=forums.cisco.com
--reject=/cgi-bin
--limit=0
--db=ciscocontent.db
--prepos=match(image/gif) and size > 1000k
--xml=ciscomanifest.xml
 

ステップ 3 Spider スクリプトと Manifest スクリプトに関連したロケーションに、ファイルを保存します。

ステップ 4 --file コマンドを使用して、ルール ファイルを使用する各スクリプトを実行します。次に例を示します。

perl spider.pl --file=cisco-rules.cfg
perl manifest.pl --file=cisco-rules.cfg
 


 

ACNS Manifest Generator ツールの使用

ACNS Manifest Generator ツールは、ACNS 5.1 以降のソフトウェア リリース用に開発されました。このツールの目的は、マニフェスト ファイルの作成に慣れていない人でも、このツールを使用して基本的なマニフェスト ファイルを作成できるようにする、使いやすいインターフェイスを提供することです。

このツールは、ユーザのあらゆる入力を自動的に検証し、構文エラーのない XML 形式でマニフェスト ファイルを生成します。マニフェストのコピーをどこでも目的のロケーションにコピーして保存し、変更または追加を行うためにファイルを再度開くことができます。

このツールがサポートする XML タグは限定されていますが、マニフェスト ファイルが生成されたあとでも変更可能です。テキスト エディタまたは XML エディタを使用して、手動で XML ファイルに追加のタグを加えることができます。

ACNS Manifest Generator ツールを使用したマニフェストの作成タスクは、次のとおりです。

ホスト(オリジン サーバ)の設定

コンテンツ項目とクロール タスク用のグローバル設定値の指定

コンテンツ項目とクロール タスクの追加、削除、または編集

ACNS Manifest Generator へのマニフェスト属性の保存

XML マニフェスト ファイルの生成

サポートされるプラットフォーム

ACNS Manifest Generator がサポートされているプラットフォームは、次のとおりです。

Windows 98

Windows 2000

Windows XP

ACNS Manifest Generator のインストレーション

ACNS Manifest Generator をインストールする手順は、次のとおりです。


ステップ 1 インストーラ CD-ROM を CD-ROM ドライブに挿入します。

ステップ 2 Start メニューから、 Run... を選択し、 D:\Setup.exe と入力します。「D:」は、ご使用の CD-ROM ドライブ名に置き換えてください。

ステップ 3 このプログラムをインストールするには、 OK をクリックします。


 

ACNS Manifest Generator のユーザ インターフェイスの概要

ACNS Manifest Generator には、標準の Windows スタイル GUI ナビゲーション メニュー、ツールバー、およびアイコンが組み込まれています。メイン ウィンドウには、設定済みのコンテンツ項目およびクロール タスクが分割ウィンドウに表示されます。カラム見出しをクリックすると、項目とそのプロパティのリストを、カラムごとにソートできます(図A-2 を参照)。

図A-2 Manifest Generator ツールのメイン ウィンドウ

 

 

1

メニューバー

4

ソート可能なカラム見出し

2

ツールバー

5

コンテンツ項目のリスト ビュー

3

ドッキング可能なグローバル設定ダイアログバー

6

クロール タスクのリスト ビュー

 

ACNS Manifest Generator を使用した基本マニフェスト ファイルの作成

基本的なマニフェスト ファイルを作成する手順は、次のとおりです。


ステップ 1 ACNS Manifest Generator から、 File > New の順に選択して、新規マニフェスト ファイルの作成を開始します。Global Manifest Settings ウィンドウが表示されます(図A-3 を参照)。

図A-3 グローバル マニフェスト設定値

 

ステップ 2 マニフェスト ファイルのグローバル設定値を指定します。

a. 表示されるフィールドに、オリジン サーバのドメイン名を入力します。

b. Protocol Used to Fetch Content ドロップダウン リストから、プロトコルを選択します。デフォルトは HTTP です。

プロトコルの選択は、次のようにコンテンツ タイプによって異なります。

事前配信 -- HTTP、HTTPS、FTP

WMT(Live) -- RTSP または HTTP

Real(Live) -- RTSP

c. Content Type ドロップダウン リストから、コンテンツ タイプを選択します。選択項目は Pre-positioned WMT (Live) 、または Real (Live) です。デフォルトは Pre-positioned です。

d. Time Between Update Intervals フィールドに、値を分数で入力します。

e. 認証の場合、User Name フィールドにユーザ名を入力してから、Password フィールドにパスワードを入力します。

f. yyyy-mm-dd hh:mm:ss 形式を使用して、開始時刻と停止時刻を入力します。また、日付と時刻の選択ダイアログボックスを使用することもできます。日付と時刻の選択ダイアログボックスを使用して値を設定する場合は、テキスト フィールドの横にある「 ... 」ボタンをクリックしてください。Select Date フィールドで下矢印をクリックすると、表示されるカレンダから日付を選択できます。

g. 設定値を保存するには、 OK をクリックします。Manifest Generator ツールの ManifestTool ウィンドウの Global Settings バーに、グローバル設定値が表示されます。この設定値は、Content Item ダイアログボックスと Crawl Task ダイアログボックスにも伝播されます。

これらの設定値を使用して 1 つの項目グループが作成されます。項目またはクロール タスクを追加すると、それらはすべて、自動的にこの項目グループに関連付けられます。

表A-29 に、グローバル マニフェスト設定値フィールドと、それに対応する XML 要素と属性を示します。

 

表A-29 グローバル マニフェスト設定値

フィールド名
説明

Domain Name of Origin Server* 2

コンテンツが取得され、あとで事前配信される元の Web サーバまたはライブ サーバを定義します。

<item> 要素と <crawler> 要素の src 属性と start-url 属性の完全 URL にそれぞれ関連付けられます。

Protocol Used to Fetch Content

オリジン サーバからコンテンツを取得するのに使用されるプロトコルを指定します。

<item> 要素と <crawler> 要素の src 属性と start-url 属性の完全 URL にそれぞれ関連付けられます。

指定可能な値は、HTTP、HTTPS、または FTP です。デフォルトは HTTP です。

Content Type

オリジン サーバから取得されるコンテンツのタイプを指定します。

<item-group> 要素の type 属性に関連付けられます。指定可能な値は、Pre-positioned、WMT(Live)、または Real(Live)です。デフォルトは Pre-positioned です。

Time Between Update Intervals

コンテンツの再確認の時間間隔を分数で指定します。この値により、オリジン サーバのコンテンツに更新がないかどうか調べる頻度が決まります。

<item-group> 要素の ttl 属性に関連付けられます。有効な範囲は -1 ~ 8000 分です。

User Name

認証のためにユーザを指定します。

<item> 要素と <crawler> 要素の src 属性と start-url 属性の完全 URL にそれぞれ関連付けられます。

Password

認証のためにパスワードを設定します。

<item> 要素と <crawler> 要素の src 属性と start-url 属性の完全 URL にそれぞれ関連付けられます。

Start Time

Content Engine がコンテンツのサービスを開始できる時刻を yyyy-mm-dd hh:mm:ss の形式で指定します。サービス開始時刻が省略される場合、コンテンツは Content Engine に配信されたあと、いつでもサービスできます。

<item-group> 要素の serveStartTime 属性に関連付けられます。

Stop Time

ACNS ネットワークがコンテンツのサービスを一時的に停止する時刻を yyyy-mm-dd hh:mm:ss の形式で指定します。サービス停止時刻が省略される場合、マニフェスト ファイルの変更またはチャネルの名前変更によってコンテンツが削除されるまで、ACNS ネットワークはコンテンツを Content Engine にサービスします。

<item-group> 要素の serveStopTime 属性に関連付けられます。

OK

変更内容を Global Settings バーに保存します。

Cancel

Global Settings バーで保存していない変更を無視します。

2.アスタリスク(*)は、必須フィールドを示します。

ステップ 3 マニフェスト項目を追加します。

a. Edit > Add Content Item または Add Crawl Task を選択します。

Add Content Item を選択した場合、Content Item プロパティ ダイアログボックスが表示されます(図A-4 を参照)。

図A-4 Content Item プロパティ ダイアログ

 

Add Crawl Task を選択した場合、Crawl Task ダイアログボックスが表示されます(図A-5 を参照)。

図A-5 Crawl Task ダイアログ

 

ステップ 4 単一コンテンツ項目を追加するには、Content Item プロパティ ダイアログボックスに次の情報を入力します。

a. Source URL of Content Item フィールドに、ソース URL を入力します。


ヒント 右クリックすると、URL を Web ブラウザから Source URL フィールドにコピー アンド ペーストできます。

b. Acquisition Priority of this Item フィールドに、取得の優先順位を指定します。

c. Content Type ドロップダウン リストから、コンテンツ タイプを選択します(Global Manifest Settings ダイアログボックスでこの属性を設定していない場合)(図A-3 を参照)。

d. Time Between Update Intervals フィールドに、コンテンツを再確認する時間間隔を分数で指定します(Global Manifest Settings ダイアログボックスでこの属性を設定していない場合)。

e. Global Manifest Settings ダイアログボックスでコンテンツ配信の開始時刻と停止時刻を入力します(この属性を設定していない場合)。

f. メイン ウィンドウのコンテンツ項目リストに項目を追加するには、 OK または Ok/Add New をクリックします(図A-2 を参照)。

表A-30 に、Content Item プロパティ ダイアログボックスのフィールドを示します。

 

表A-30 Content Item プロパティ ダイアログボックスのフィールド

フィールド名
説明

Source URL of Content Item* 3

ホスト サーバ(オリジン サーバとも呼ばれます)から取得される特定のコンテンツを識別します。

<item> 要素の src 属性に関連付けられます。項目を入力する順序によって、マニフェスト内での順序が決まります。

Acquisition Priority of this Item

重要度の順序、つまりコンテンツ項目の処理順序を指定します。範囲は 0 ~ 2147483636 です。

<item> 要素の priority 属性に関連付けられます。

Content Type

コンテンツが ACNS ネットワーク上で事前配信されるか、ライブであるかを指定します。

指定可能な値は、Pre-positioned、WMT(Live)、または Real(Live)です。デフォルトは Pre-positioned です。


) このプロパティをグローバルに設定する場合は、Global Manifest Settings ダイアログボックスで設定します。Content Item プロパティ ダイアログボックスでこのプロパティを設定すると、ここで選択するタイプがグローバル設定より優先されます。


<item> 要素の type 属性に関連付けられます。

Time Between Update Intervals

コンテンツの再確認の時間間隔を分数で指定します。

<item> 要素の ttl 属性に関連付けられます。有効な範囲は -1 ~ 8000 分です。


) このプロパティをグローバルに設定する場合は、Global Manifest Settings ダイアログボックスで設定します。Content Item プロパティ ダイアログボックスでこのプロパティを設定すると、ここで入力する値がグローバル設定より優先されます。


Start Time

Content Engine がコンテンツのサービスを開始できる時刻を、yyyy-mm-dd hh:mm:ss の形式で指定します。サービス開始時刻が省略される場合、コンテンツは Content Engine に配信されたあと、いつでもサービスできます。

<item> 要素の serveStartTime 属性に関連付けられます。

Stop Time

ACNS ネットワークがコンテンツのサービスを一時的に停止する時刻を yyyy-mm-dd hh:mm:ss の形式で指定します。サービス停止時刻が省略される場合、マニフェスト ファイルの変更またはチャネルの名前変更によってコンテンツが削除されるまで、ACNS ネットワークはコンテンツを Content Engine にサービスします。

<item> 要素の serveStopTime 属性に関連付けられます。

Ok/Add New または OK

検証後、この項目設定をコンテンツ項目のリストに追加します。

Cancel

Content Item プロパティ ダイアログボックス内に保存されていない変更内容を無視し、ダイアログボックス ウィンドウを閉じます。

3.* = 入力必須フィールド。その他のフィールドはすべて任意です。

ステップ 5 クロール タスクをマニフェスト ファイルに追加するには、Crawl Task ダイアログボックスで次の情報を入力します。

a. Specification タブを選択し、クロール タスク設定情報を入力します。

Start URL of Crawl Task フィールドに、開始 URL を入力します。このフィールドは必須です。

Acquisition Priority of this Crawl フィールドに、取得の優先順位を指定します。

Time Between Update Intervals フィールドに、コンテンツを再確認する時間間隔を分数で指定します(Global Manifest Settings ダイアログボックスでこの属性を設定していない場合)。

b. 開始時刻と停止時刻を入力して、コンテンツ配信時刻を入力します(Global Manifest Settings ダイアログボックスでこの属性を設定していない場合)。

c. 階層の深さ、プレフィクス、および最大サイズを入力して、クロールの限界を指定します。これらのフィールドはオプションです。

Crawl Website up to Level フィールドに、深さの値(depth)を入力します。

ホスト名に追加したいプレフィクスを入力します。

指定されたプレフィクスは、一致する完全ホスト名を指定するために、ホスト名に追加されます。完全な hostname / prefix と一致する URL だけがクロールされます。

必要な最大オブジェクト サイズを設定し、単位(バイト、キロバイト、またはメガバイト)を選択します。

表A-31 に、Crawl Task ダイアログボックスのフィールドを示します。

 

表A-31 クローラー タスクのプロパティ

フィールド名
説明

Start URL of Crawl Task

指定されたクロール ジョブの、開始点となる URL を定義します。

<crawler> 要素の start-url 属性に関連付けられます。


) クローラー項目を入力する順序によって、マニフェスト内での順序が決まります。


Acquisition Priority of this Crawl

重要度の順序、つまりクロール ジョブの処理順序を指定します。範囲は 0 ~ 2147483636 です。

<crawler> 要素の priority 属性に関連付けられます。

Content Type

オプションは Pre-positioned だけです。クロール ジョブでは、Live コンテンツ タイプはサポートされません。

<crawler> 要素の type 属性に関連付けられます。

Time Between Update Intervals

コンテンツの再確認の時間間隔を分数で指定します。

<crawler> 要素の ttl 属性に関連付けられます。有効な範囲は -1 ~ 8000 分です。


) このプロパティをグローバルに設定する場合は、Global Manifest Settings ダイアログボックスで設定します。Crawl Task ダイアログボックスでこのプロパティを設定すると、ここで入力する値がグローバル設定より優先されます。


Start Time

Content Engine がコンテンツのサービスを開始できる時刻を、yyyy-mm-dd hh:mm:ss の形式で指定します。サービス開始時刻が省略される場合、コンテンツは Content Engine に配信されたあと、いつでもサービスできます。

<crawler> 要素の serveStartTime 属性に関連付けられます。

Stop Time

ACNS ネットワークがコンテンツのサービスを一時的に停止する時刻を yyyy-mm-dd hh:mm:ss の形式で指定します。サービス停止時刻が省略される場合、マニフェスト ファイルの変更またはチャネルの名前変更によってコンテンツが削除されるまで、ACNS ネットワークはコンテンツを Content Engine に配信します。

<crawler> 要素の serveStopTime 属性に関連付けられます。

Crawl Website up to Level

Web サイトがクロールされるリンク階層の深さ(depth)、または FTP サーバがクロールされるディレクトリ階層の深さ(depth)を指定します。デフォルトの深さは 20 レベルです。範囲は -1 ~ 2147483636 です。

depth = -1 の場合、深さの制限はありません。
depth = 0 の場合、開始 URL だけを取得します。
depth = 1 の場合、開始 URL とその参照コンテンツをすべて取得します。

<crawler> 要素の depth 属性に関連付けられます。

Acquire URLs Matching Prefix

指定されたプレフィクスをホスト名に追加します。完全な hostname / prefix と一致する URL だけがクロールされます。

省略すると、サーバのホスト名が完全 URL プレフィクスとして使用されます。

<crawler> 要素の prefix 属性に関連付けられます。

Acquire Objects up to Size

取得されるコンテンツの最大サイズをバイト、キロバイト、またはメガバイト単位で指定します。この値の範囲は 0 ~ 2147483636 です。単位はドロップダウン リストから選択します。

<crawler> 要素の maxTotalSizeInB/KB/MB 属性に関連付けられます。

d. Match Rules タブをクリックします。Match Rule エントリのリストが表示されます(図A-6 を参照)。

このウィンドウの表示される項目は、編集または削除できます。一度に 1 行ずつ選択して、 Edit ボタンをアクティブにします。 Edit ボタンをクリックするか、エントリをダブルクリックします。Match Rules ダイアログボックスが表示され、選択されたエントリの値を示します。

エントリを削除するには、少なくとも 1 行を選択して Delete ボタンをアクティブにしてから、 Delete をクリックします。

図A-6 Match Rules タブ--リスト ビュー

 

e. Add をクリックして、クロール タスクの一致規則を設定します。Match Rule ダイアログボックスが表示されます(図A-7 を参照)。

図A-7 Match Rule ダイアログボックス

 

表A-32 に、一致規則の設定に必要なフィールド情報を示します。

 

表A-32 Match Rules フィールドの説明

フィールド名
説明

MIME Type

取得される MIME タイプを指定します。オブジェクトが取得されるのは、その MIME タイプがここで設定された MIME タイプと一致する場合だけです。

<match> 要素の mime-type 属性に関連付けられます。

Extension

ファイル拡張子を指定します。オブジェクトが取得されるのは、その拡張子がここで設定された拡張子と一致する場合だけです。

<match> 要素の extension 属性に関連付けられます。

Time After

ここで設定する日時以降に変更されたコンテンツが取得されます。オブジェクトが取得されるのは、最後に変更された日時がここで指定された値よりあとの場合だけです。このフィールドの形式は yyyy-mm-dd hh:mm:ss です。

<match> 要素の time-after 属性に関連付けられます。

Time Before

ここで設定する日時以前に変更されたコンテンツが取得されます。オブジェクトが取得されるのは、最後に変更された日時がここで指定された値より前の場合だけです。このフィールドの形式は yyyy-mm-dd hh:mm:ss です。

<match> 要素の time-before 属性に関連付けられます。

Minimum Size

取得されるコンテンツ サイズが、この数値(バイト、キロバイト、またはメガバイト単位)より大きいか、等しくなければならないことを指定します。このフィールドの範囲は 0 ~ 2147483636 です。

<match> 要素の minFileSizeInB/KB/MB 属性に関連付けられます。

Maximum Size

取得されるコンテンツ サイズが、この数値(バイト、キロバイト、またはメガバイト単位)より小さいか、等しくなければならないことを指定します。このフィールドの範囲は 0 ~ 2147483636 です。

<match> 要素の maxFileSizeInB/KB/MB 属性に関連付けられます。

f. Match Rules ダイアログボックスで OK をクリックして設定を保存します。または Ok/Add New をクリックしてこの設定を保存し、他の一致規則の設定を追加します。クロール タスクを一覧表示するメイン ウィンドウにエントリが追加されます。

g. 一致規則の追加が終わったら、Crawl Task ダイアログボックスで OK をクリックしてクロール タスク設定を保存し、ダイアログボックスを閉じます。

ステップ 6 File > Save または Save As を選択して、使用中のマニフェスト ファイルを保存します。このファイルは、ACNS Manifest Generator ツールによる読み取り専用の拡張子(.amg)を付けて保存されます。使用中のマニフェストを保存するためのデフォルト ディレクトリは、AMG Files ディレクトリです。

ACNS Manifest Generator ツールを使ってあとでファイルを編集したい場合は、このツールに作業内容を保存しておく必要があります。生成された XML マニフェスト ファイルを編集するために、ACNS Manifest Generator で開くことはできません。ただし、生成されたファイルは任意のプレーン テキスト エディタを使用して編集できます。

ステップ 7 マニフェスト ファイルを生成します。

a. *.xml 拡張子を持つマニフェストを XML 形式で生成するには、 File > Generate XML の順に選択します。このファイルを表示するには、XML ビューアを関連付ける必要があります。

b. 生成されたマニフェスト ファイルを表示するには、 File > Preview XML の順に選択します。このオプションは、デフォルトの XML ビューアを起動し、生成された XML ファイルを表示します。Windows のデフォルト ビューアは Internet Explorer です。

マニフェスト ファイルを生成すると、Save As ダイアログボックスが表示されます。生成された XML ファイルを任意のロケーションに保存できます。生成された XML ファイルを保存するためのデフォルト ローカル ディレクトリは、XML Files ディレクトリです。

ステップ 8 生成された XML マニフェスト ファイルを、Content Distribution Manager からアクセスできるオリジン サーバ上の固有のロケーションに保存します。

Content Distribution Manager GUI の Modifying Channel ウィンドウでマニフェスト ファイル URL を入力するときに、マニフェスト ファイルにアクセスするように、Content Distribution Manager が設定されます( チャネルの作成と変更を参照)。


 

ACNS Manifest Generator でサポートされない要素とタグ

次の要素とタグは拡張設定とみなされているので、ACNS Manifest Generator を使用して定義できません。

Options 要素

timeZone -- ストリング、オプション、デフォルトは GMT/UTC

notFoundURL -- ストリング、オプション

alternateURL -- ストリング、オプション

noRedirectToOrigin -- ブール、デフォルトは false

requireAuth -- ブール、オプション

playDuration -- 数値、オプション

bitrate-in-bps -- 数値、オプション

bitrate-in-kbps -- 数値、オプション

bitrate-in-mbps -- 数値、オプション

ttl -- 数値、オプション

failRetryInterval -- 数値、オプション

prefetch -- ストリング、オプション

type -- prepos、wmt-live、または real-live の中から選択。デフォルトは prepos

Server/Host 要素:

<server > name -- ストリング(必須)。<host> 名属性と同一の値に設定

proxyServer -- ストリング、オプション

uuencoded -- ブール、オプション、デフォルトは false

sslAuthType -- weak または strong を選択、オプション、デフォルトは strong

Item 要素:

contains 要素

http-meta-data 要素

cdn-url -- ストリング、オプション

server -- ストリング、オプション

proxyServer -- ストリング、オプション

playServer -- ストリング、オプション

playDuration -- 数値、オプション

bitrate-in-bps -- 数値、オプション

bitrate-in-kbps -- 数値、オプション

bitrate-in-mbps -- 数値、オプション

noRedirectToOrigin -- ブール、オプション

requireAuth -- ブール、オプション

alternateUrl -- ストリング、オプション

failRetryInterval -- 数値、オプション

prefetch -- yyyy-mm-dd hh:mm:ss 形式のストリング、オプション

expires -- yyyy-mm-dd hh:mm:ss 形式のストリング、オプション

serveStartTime serveStopTime -- yyyy-mm-dd hh:mm:ss 形式のストリング、オプション

Crawler 要素:

http-meta-data 要素

accept -- ストリング、オプション

reject -- ストリング、オプション

max-number -- 数値、オプション

server -- ストリング、オプション

proxyServer -- ストリング、オプション

playServer -- ストリング、オプション

playDuration -- 数値、オプション

bitrate-in-bps -- 数値、オプション

bitrate-in-kbps -- 数値、オプション

bitrate-in-mbps -- 数値、オプション

noRedirectToOrigin -- ブール、オプション

requireAuth -- ブール、オプション

alternateUrl -- ストリング、オプション

failRetryInterval -- 数値、オプション

prefetch -- yyyy-mm-dd hh:mm:ss 形式のストリング、オプション

expires -- yyyy-mm-dd hh:mm:ss 形式のストリング、オプション

serve -- yyyy-mm-dd hh:mm:ss 形式のストリング、オプション

srcPrefix cdnPrefix 要素

Item-group 要素:

matchRule 要素

http-meta-data 要素

item 要素

server -- ストリング、オプション

proxyServer -- ストリング、オプション

playServer -- ストリング、オプション

playDuration -- 数値、オプション

bitrate-in-bps -- 数値、オプション

bitrate-in-kbps -- 数値、オプション

bitrate-in-mbps -- 数値、オプション

noRedirectToOrigin -- ブール、オプション

requireAuth -- ブール、オプション

alternateUrl -- ストリング、オプション

failRetryInterval -- 数値、オプション

priority -- 数値、オプション

prefetch -- yyyy-mm-dd hh:mm:ss 形式のストリング、オプション

expires -- yyyy-mm-dd hh:mm:ss 形式のストリング、オプション

serve -- yyyy-mm-dd hh:mm:ss 形式のストリング、オプション

srcPrefix cdnPrefix 要素

proxyServer 要素 -- 要素全体がサポートされません。

playServer 要素 -- 要素全体がサポートされません。