为确保在网络波动或客户端重试等场景下,同一个媒体处理任务不被重复执行,视频点播的任务提交接口(如 StartWorkflow、StartExecution、CreateDramaScriptTask)支持幂等性设计。本文为您介绍媒体处理任务提交时的幂等行为、目的和条件等内容。
当您调用接口发起一次媒体处理请求后,系统会根据请求的关键参数组合生成一个唯一标识。如果在该任务完成前,系统收到一个具有相同标识的请求,将不会创建新任务,而是会返回与首次请求相同的结果(例如,返回同一个 RunId或 TaskId)。
系统通过校验以下三个核心要素的组合来判断请求的唯一性。只有当一个新请求与某个历史请求在这三个要素上完全相同时,幂等性才会被触发。
SpaceName,请求中提供的所有输入文件信息必须完全相同。判断标准:使用相同的 Vid,或者使用相同的 DirectUrl(包括 SpaceName 和 FileName)。StartExecution 接口:指 Operation 及其所有内部参数相同。StartWorkflow 接口:指工作流相同(即同一个工作流 ID 在未修改的情况下被调用)以及 Input 参数相同。ClientToken 必须相同。这包含两种情况:
ClientToken。ClientToken。ClientToken。ClientToken 为 "task-enhance-user123-20251125"。如果请求超时,您只需使用同一个Token 再次发起请求即可。ClientToken。vid-abc 已经执行了一个工作流。您需要对 vid-abc 重新发起完全相同的工作流请求。此时,您必须为第二次请求提供一个新的ClientToken。