开发者控制台

可选: 使用页面排序规则

可选: 使用页面排序规则

您可以根据页面排序规则,将目录巧妙地分成小部分提交,而不是整个提交。您可以根据页面排序规则,将整个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日