IProgramLineupProvider2
更新后的IProgramLineupProvider接口,支持部分成功提交,并对未能提交的节目提供错误反馈。
该提供者用于更新EPG中的节目单。可以在同一个提供者对象中多次调用upsert() 函数,将节目添加到提交队列中。调用commit() 函数时,在提供者中执行的所有操作都将保留。请注意,此接口并非线程安全。请勿出于应用于不同线程之目的为该对象创建多个实例,以免发生不确定行为。如果此对象的任一方法已出现错误,请弃用此对象并创建一个新实例。
属性
clearAllPrograms
clearAllPrograms:
() => Promise<void>
清除数据存储区中的所有节目。
移除数据存储区中的所有节目。在调用commit() 前不会保留此操作。这样操作不会清除数据存储区中的频道信息。只有当需要从电子节目指南 (EPG) 中移除已添加的节目时,才使用该函数。在同一交易中,clearAllPrograms()的函数调用必须优先于所有upsert()调用执行。
方法
upsert()
upsert(programs: IProgram
[]):Promise<IUpsertProgramFailure[]>
为EPG中的节目单更新和插入节目列表。将跳过所有插入失败的节目,并将继续尝试插入所提供的剩余节目。
将节目插入到直播TV提供者数据存储区中。在调用commit()前不会保留此操作。
参数
programs
IProgram[]
要插入的节目实例数组。
抛出
- 如果在提供者使用的某一方法出现错误后继续调用该函数,则抛出
IllegalStateError。 - 如果由于任何其他原因无法将数据添加到提交队列中,则抛出
InternalError。 - 如果该函数遇到因引入的数据超过存储限制导致的错误,则抛出
StorageLimitError。如果您遇到此错误,请咨询您的亚马逊联系人。
返回值
Promise<IUpsertProgramFailure[]>
IUpsertProgramFailure*[] 未能添加到提交队列的节目列表以及导致失败的错误。如果成功将所有节目添加到提交队列中,则将返回一个空数组。
commit()
commit(version:
string):Promise<void>
将所有未导致IUpsertProgramFailure的待处理操作提交到数据存储区。
这个函数必须在使用提供者接口中的其他方法对提供者执行操作之后才能调用。调用成功后,EpgLineupInformation.getLastCommittedProgramLineupVersion()将开始返回该版本值。
参数
version
string
一个字符串,表示将因本次提交操作而添加到数据存储区的节目单版本。
抛出
- 如果在提供者使用的某一方法出现
InternalError后继续调用该函数,则抛出IllegalStateError。 - 如果数据无法提交到数据存储区,则抛出
InternalError。
返回值
Promise<void>
Last updated: 2026年7月22日

