オプション: ページ照合を使用する
ページ照合は、大きいカタログを1つ送信する代わりに、カタログを小さい部分に分けて柔軟に送信できるようにする機能です。ページ照合を使用すると、すべてのコンテンツを1つのXMLファイルに含めるのではなく、CDFカタログ全体を複数のXMLファイルに分割して表すことができます。そのためには、個々のページをXMLファイルとして送信するとともに、全体を構成するページのリストを記述したマニフェストを送信します。マニフェストは、これらのページを1つのCDFカタログにまとめるように統合システムにリクエストします。
このページのガイダンスでは、カタログでページ照合を使用する方法について説明します。
ページ照合プロセス
S3バケットのpagesフォルダに各ページを送信し、manifestsフォルダにマニフェストを送信します。これらのフォルダは、S3バケットのcatalogsフォルダとは分けられています。ページ照合が完了すると、統合システムによって最終的なカタログがcatalogsフォルダに送信され、統合ジョブが開始されます。
pagesフォルダ
pagesフォルダには、結合する個々のページが含まれます。各ページは有効な構文のCDFファイルにする必要があり、全体の一部として含める作業項目のサブセットを記述します。ページ照合では、最終的に、完全にマージされたCDFファイルがAmazonにより作成されます。このため、項目の参照を複数のページに分割することに制限はありません。たとえば、あるページに含まれている番組が、別のページに含まれている関連エピソードを参照していても構いません。参照されているすべての項目がページのコレクション全体に含まれている限り、問題が発生することはありません。IDの一意性、参照、画像の要件などのすべての検証要件は、単一の完全なカタログファイルを統合する場合と同様に、ページのセットにも適用されます。
Amazonでは、ページ名を一意に保つことを推奨しています。これを実現するには、UUIDやタイムスタンプ、その他の方法を使用できます。ページ名は、異なるマニフェスト間で再利用して参照することができます。ページのコンテンツを更新するには、ページの新しいXMLファイルをアップロードする必要があります。ページ照合ジョブでは、まだ使用中のページが30日間のライフサイクルポリシーによってクリーンアップされるのを防ぐために、新しいマニフェストがページを参照するとページのメタデータが更新されます。
manifestsフォルダ
manifestsフォルダは、フォルダ内へのマニフェストオブジェクトの作成をリッスンします。マニフェストファイルをアップロードすると、ページ照合ジョブを開始するイベントがトリガーされます。マニフェストファイルには、pagesフォルダにあるページファイルの名前のリストを指定します。各ファイル名は改行で区切ります。マニフェストファイルの拡張子は.manifestにする必要があります。Amazonでは、ページに使用するのと同じ命名規則に従って、マニフェストファイルに一意の名前を付けることをお勧めします。
フォルダ構造
S3バケットのフォルダ構造は次のようになります。
s3://cdf-{プロバイダー名}/
-> reports/
-> report.html // 送信された最新のカタログから生成されます。
-> catalogs/
-> catalog.xml // プロバイダーが送信したカタログ。
-> full_catalog1.xml.zst // manifest1.manifestのリクエストによって作成されます。
-> full_catalog2.xml.zst // manifest2.manifestのリクエストによって作成されます。
-> pages/
-> page1.xml
-> page2.xml
-> page3.xml
-> manifests/
-> manifest1.manifest // page1.xml、page2.xmlが含まれます。
-> manifest2.manifest // page1.xml、page2.xml、page3.xmlが含まれます。
条件とポリシー
カタログのページ照合を使用する場合は、次の条件とポリシーが適用されます。
- ページサイズ:最大250MBのページを、圧縮形式または非圧縮形式で送信できます。
- サポートされる圧縮形式:Zstd形式またはGzip形式でページを圧縮できます。
- 許可される最大ページ数:マニフェストごとに最大10,000ページまで許可されます。
- ページの再利用:各ページは新しいマニフェストで再利用できます。
- 上書きポリシー:catalogsフォルダでは上書きが許可されますが、ページオブジェクトとマニフェストオブジェクトは上書きできません。新しいマニフェストやページは一意でなければなりません。そうでない場合、ジョブは失敗します。
- 有効期限ポリシー:ページとマニフェストは30日後に有効期限が切れ、バケットから削除されます。マニフェストによってページが使用されると、有効期限が切れないように、ページのライフサイクルが更新されます。
フィードバックレポート
ページ照合ジョブが失敗した場合、ジョブはレポートを生成し、reportsフォルダに追加します。エラーが発生しなければ、統合ジョブは標準プロセスに従って、CDFファイルの作成、ファイルの評価、レポートの生成を行います。
以下の画像は、ページ照合ジョブが失敗したときのフィードバックレポートの例を示しています。
フロー図
ここでは、いくつかのシナリオについて、ページ照合の使用時に発生する可能性のあるイベントのフロー図を示します。最初の図は、開発者(プロバイダー)がページを送信し、ページ照合ジョブの開始がトリガーされるときのフローを示しています。
次の図は、既存のカタログに新しいページを追加するフローを示しています。
最後の図は、ページ照合中にエラーが発生した場合のフローを示しています。
例
ここでは、マニフェスト、マニフェストから参照されるページの例と、Amazonが統合する前の最終的なCDFファイルの構造を示します。
サンプルファイルは以下からダウンロードできます。
マニフェスト
ファイル名:manifest1.manifest
ファイルのコンテンツ:
pages/page1.xml
pages/page2.xml
pages/page3.xml
ページ
ファイル名:page1.xml
ファイルのコンテンツ:
<?xml version="1.0" encoding="utf-8"?>
<Catalog xmlns="http://www.amazon.com/FireTv/2014-04-11/ingestion" version="FireTv-v1.3">
<Partner>パートナー</Partner>
<Works>
<TvEpisode>
<ID>EPISODE_1</ID>
<Title locale="ja-JP">こんにちはワンコ</Title>
<Synopsis locale="ja-JP">うちの愛犬を紹介します。</Synopsis>
<Language>ja-JP</Language>
<Genres>
<Genre locale="ja-JP">コメディ</Genre>
</Genres>
<!-- ...残りのCDFデータ -->
<ShowID>SHOW_1</ShowID>
<SeasonID>SERIES_2</SeasonID>
<EpisodeInSeason>1</EpisodeInSeason>
</TvEpisode>
<TvEpisode>
<ID>EPISODE_2</ID>
<Title locale="ja-JP">こんにちはニャンコ</Title>
<Synopsis locale="ja-JP">子猫を紹介します。</Synopsis>
<Language>ja-JP</Language>
<Genres>
<Genre locale="ja-JP">サスペンス</Genre>
</Genres>
<!-- ...残りのCDFデータ -->
<ShowID>SHOW_1</ShowID>
<SeasonID>SEASON_1</SeasonID>
<EpisodeInSeason>2</EpisodeInSeason>
</TvEpisode>
</Works>
</Catalog>
ファイル名:page2.xml
ファイルのコンテンツ:
<?xml version="1.0" encoding="utf-8"?>
<Catalog xmlns="http://www.amazon.com/FireTv/2014-04-11/ingestion" version="FireTv-v1.3">
<Partner>パートナー</Partner>
<Works>
<Movie>
<ID>MOVIE_1</ID>
<Title locale="ja-JP">さよならワニさん</Title>
<Synopsis locale="ja-JP">ワニは去らなければなりません。</Synopsis>
<Language>ja-JP</Language>
<Genres>
<Genre locale="ja-JP">ドラマ</Genre>
</Genres>
<!-- ...残りのCDFデータ -->
</Movie>
</Works>
</Catalog>
ファイル名:page3.xml
ファイルのコンテンツ:
<?xml version="1.0" encoding="utf-8"?>
<Catalog xmlns="http://www.amazon.com/FireTv/2014-04-11/ingestion" version="FireTv-v1.3">
<Partner>パートナー</Partner>
<Works>
<TvShow>
<ID>SHOW_1</ID>
<Title locale="ja-JP">ドメスティクス</Title>
<Synopsis locale="ja-JP">猫と犬を迎えましょう。</Synopsis>
<Language>ja-JP</Language>
<Genres>
<Genre locale="ja-JP">コメディ</Genre>
</Genres>
<!-- ...残りのCDFデータ -->
</TvShow>
<TvSeason>
<ID>SEASON_1</ID>
<Title locale="ja-JP">シーズン1</Title>
<Synopsis locale="ja-JP">ドメスティクスのシーズン1。</Synopsis>
<Language>ja-JP</Language>
<Genres>
<Genre locale="ja-JP">コメディ</Genre>
</Genres>
<!-- ...残りのCDFデータ -->
<ShowID>SHOW_1</ShowID>
<SeasonInShow>1</SeasonInShow>
</TvSeason>
</Works>
</Catalog>
結合結果
ファイル名:full_catalog1.xml.zst(圧縮解除)
ファイルのコンテンツ:
<?xml version="1.0" encoding="utf-8"?>
<Catalog xmlns="http://www.amazon.com/FireTv/2014-04-11/ingestion" version="FireTv-v1.3">
<Partner>パートナー</Partner>
<Works>
<TvEpisode>
<ID>EPISODE_1</ID>
<Title locale="ja-JP">こんにちはワンコ</Title>
<Synopsis locale="ja-JP">うちの愛犬を紹介します。</Synopsis>
<Language>ja-JP</Language>
<Genres>
<Genre locale="ja-JP">コメディ</Genre>
</Genres>
<!-- ...残りのCDFデータ -->
<ShowID>SHOW_1</ShowID>
<SeasonID>SERIES_2</SeasonID>
<EpisodeInSeason>1</EpisodeInSeason>
</TvEpisode>
<TvEpisode>
<ID>EPISODE_2</ID>
<Title locale="ja-JP">こんにちはニャンコ</Title>
<Synopsis locale="ja-JP">子猫を紹介します。</Synopsis>
<Language>ja-JP</Language>
<Genres>
<Genre locale="ja-JP">サスペンス</Genre>
</Genres>
<!-- ...残りのCDFデータ -->
<ShowID>SHOW_1</ShowID>
<SeasonID>SEASON_1</SeasonID>
<EpisodeInSeason>2</EpisodeInSeason>
</TvEpisode>
<Movie>
<ID>MOVIE_1</ID>
<Title locale="ja-JP">さよならワニさん</Title>
<Synopsis locale="ja-JP">ワニは去らなければなりません。</Synopsis>
<Language>ja-JP</Language>
<Genres>
<Genre locale="ja-JP">ドラマ</Genre>
</Genres>
<!-- ...残りのCDFデータ -->
</Movie>
<TvShow>
<ID>SHOW_1</ID>
<Title locale="ja-JP">ドメスティクス</Title>
<Synopsis locale="ja-JP">猫と犬を迎えましょう。</Synopsis>
<Language>ja-JP</Language>
<Genres>
<Genre locale="ja-JP">コメディ</Genre>
</Genres>
<!-- ...残りのCDFデータ -->
</TvShow>
<TvSeason>
<ID>SEASON_1</ID>
<Title locale="ja-JP">シーズン1</Title>
<Synopsis locale="ja-JP">ドメスティクスのシーズン1。</Synopsis>
<Language>ja-JP</Language>
<Genres>
<Genre locale="ja-JP">コメディ</Genre>
</Genres>
<!-- ...残りのCDFデータ -->
<ShowID>SHOW_1</ShowID>
<SeasonInShow>1</SeasonInShow>
</TvSeason>
</Works>
</Catalog>
Last updated: 2023年12月21日