可选: 使用页面排序规则
您可以根据页面排序规则,将目录巧妙地分成小部分提交,而不是整个提交。您可以根据页面排序规则,将整个CDF目录表示为单个XML文件,而不是将所有内容涵盖在单个XML文件中。为此,您需要将单个页面作为XML文件提交,同时提交列有包含页面的清单。根据清单要求,引入系统需要将这些页面合并为一整个CDF目录。
请根据本页指南学习如何将页面排序规则应用于您的目录。
页面排序过程
提交页面到页面文件夹下的S3存储桶,然后提交清单到清单文件夹。上述文件夹独立于S3存储桶中的目录文件夹。页面排序完成后,引入系统会提交最终目录到目录文件夹,然后启动引入作业。
页面文件夹
页面文件夹中包含您要合并的单独页面。每个页面都是语法正确的CDF文件,其中包含您要添加的作品项目的子集。页面排序的最终结果是由亚马逊创建完全合并的CDF文件,因此在拆分页面间项目引用时没有限制。例如,某个页面上的节目引用了其他页面上的相关剧集,只要这些页面在整体排序时考虑到所引用的全部项目就没问题。诸如ID唯一性、参考流程和图像要求等所有验证要求仍适用于这组页面,和引入一个完整目录文件的效果一样。
亚马逊建议您保持页面名称的唯一性。您可以使用UUID、时间戳或其他方法来完成此操作。不同清单可以重复使用和引用页面名称。要更新页面内容,请务必为此页面上传XML新文件。页面排序作业会在更新清单引用页面元数据时刷新此数据,以免使用中的页面根据30天生命周期策略进行清除。
清单文件夹
清单文件夹会监听此文件夹中创建的任何清单对象。此文件夹会在您上传清单文件时触发事件,以启动页面排序作业。请在清单文件中列出页面文件夹下的页面文件的名称,并使用新行分隔每个文件名。清单文件必须具有.manifest扩展名。在为清单文件提供唯一名称时,亚马逊建议您遵循为页面命名时采用的相同命名规范。
文件夹结构
您的S3存储桶将采用以下文件夹结构。
s3://cdf-{provider-name}/
-> 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页。
- 页面重复使用:新清单可能会重复使用页面。
- 覆盖策略:允许在目录文件夹下执行覆盖操作,不包括页面和清单对象。新清单和新页面必须是唯一的,否则作业将失败。
- 到期政策:存储桶将移除保存30天以上的页面和清单。经过清单使用的页面将会更新自身生命周期,不会过期。
反馈报告
如果页面排序作业失败,则会生成报告并将此事件添加到报告文件夹下。如果成功,则按照标准流程进行引入作业:创建CDF文件、评估文件并生成报告。
下图显示了页面排序作业失败时的反馈报告示例。
流程图
这些图表显示的场景事件流是您在使用页面排序时可能遇到的。第一张图显示了您(提供方)提交页面并启动页面排序作业时的流程。
下图显示了向现有目录添加新页面的流程。
最后图表显示了应对页面排序期间出现的故障的流程。
示例
清单示例、引用页面和亚马逊引入前的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="zh-CN">你好,小狗</Title>
<Synopsis locale="zh-CN">和我的小狗打个招呼吧</Synopsis>
<Language>zh-CN</Language>
<Genres>
<Genre locale="zh-CN">喜剧片</Genre>
</Genres>
<!--……剩余CDF数据-->
<ShowID>SHOW_1</ShowID>
<SeasonID>SERIES_2</SeasonID>
<EpisodeInSeason>1</EpisodeInSeason>
</TvEpisode>
<TvEpisode>
<ID>EPISODE_2</ID>
<Title locale="zh-CN">你好,小猫</Title>
<Synopsis locale="zh-CN">和我的小猫打个招呼吧</Synopsis>
<Language>zh-CN</Language>
<Genres>
<Genre locale="zh-CN">悬疑片</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="zh-CN">告别鳄鱼</Title>
<Synopsis locale="zh-CN">快把鳄鱼赶走。</Synopsis>
<Language>zh-CN</Language>
<Genres>
<Genre locale="zh-CN">剧情片</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="zh-CN">末世家园</Title>
<Synopsis locale="zh-CN">有请小猫和小狗登场。</Synopsis>
<Language>zh-CN</Language>
<Genres>
<Genre locale="zh-CN">喜剧片</Genre>
</Genres>
<!--……剩余CDF数据-->
</TvShow>
<TvSeason>
<ID>SEASON_1</ID>
<Title locale="zh-CN">第1季</Title>
<Synopsis locale="zh-CN">《末世家园》第1季。</Synopsis>
<Language>zh-CN</Language>
<Genres>
<Genre locale="zh-CN">喜剧片</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="zh-CN">你好,小狗</Title>
<Synopsis locale="zh-CN">和我的小狗打个招呼吧</Synopsis>
<Language>zh-CN</Language>
<Genres>
<Genre locale="zh-CN">喜剧片</Genre>
</Genres>
<!--……剩余CDF数据-->
<ShowID>SHOW_1</ShowID>
<SeasonID>SERIES_2</SeasonID>
<EpisodeInSeason>1</EpisodeInSeason>
</TvEpisode>
<TvEpisode>
<ID>EPISODE_2</ID>
<Title locale="zh-CN">你好,小猫</Title>
<Synopsis locale="zh-CN">和我的小猫打个招呼吧</Synopsis>
<Language>zh-CN</Language>
<Genres>
<Genre locale="zh-CN">悬疑片</Genre>
</Genres>
<!--……剩余CDF数据-->
<ShowID>SHOW_1</ShowID>
<SeasonID>SEASON_1</SeasonID>
<EpisodeInSeason>2</EpisodeInSeason>
</TvEpisode>
<Movie>
<ID>MOVIE_1</ID>
<Title locale="zh-CN">告别鳄鱼</Title>
<Synopsis locale="zh-CN">快把鳄鱼赶走。</Synopsis>
<Language>zh-CN</Language>
<Genres>
<Genre locale="zh-CN">剧情片</Genre>
</Genres>
<!--……剩余CDF数据-->
</Movie>
<TvShow>
<ID>SHOW_1</ID>
<Title locale="zh-CN">末世家园</Title>
<Synopsis locale="zh-CN">有请小猫和小狗登场。</Synopsis>
<Language>zh-CN</Language>
<Genres>
<Genre locale="zh-CN">喜剧</Genre>
</Genres>
<!--……剩余CDF数据-->
</TvShow>
<TvSeason>
<ID>SEASON_1</ID>
<Title locale="zh-CN">第1季</Title>
<Synopsis locale="zh-CN">《末世家园》第1季。</Synopsis>
<Language>zh-CN</Language>
<Genres>
<Genre locale="zh-CN">喜剧片</Genre>
</Genres>
<!--……剩余CDF数据-->
<ShowID>SHOW_1</ShowID>
<SeasonInShow>1</SeasonInShow>
</TvSeason>
</Works>
</Catalog>
Last updated: 2023年12月21日