注意事项
注意事项:
查询任务接口(V1)、查询媒体库任务接口(V1/V2)仅支持查询最近 30 天内创建的任务;查询任务接口 V2(空间级)无此说明,以其返回为准。
前期准备
开始操作前,确保您已经完成了 SDK 初始化。如果您还没有初始化 SDK,请先参考快速入门文档完成。
查询任务
功能说明
queryTaskV2 实现查询任务,用于查询指定空间下异步任务的执行状态和结果。支持多种任务类型,每种任务类型有对应的结果结构。使用示例
// 查询任务const res = await smh.task.queryTaskV2({spaceId: 'your-space-id',taskId: '6927125',userId: 'xxx'});if (res.status === 200) {console.log('任务查询成功', res.data);}
参数说明
spaceId | 空间 ID,如果媒体库为单租户模式,则该参数固定为连字符(-);如果媒体库为多租户模式,则必须指定该参数 | String | 是 |
taskId | 任务唯一标识符 | String | 是 |
userId | 用户身份识别 | String | 否 |
返回值说明
响应字段说明
taskId | 任务唯一标识符 | String |
taskType | 任务类型标识,用于根据类型解析对应的结果结构 | String |
status | 任务状态码,202: 处理中,200: 成功,207: 部分成功,400: 全部失败,500: 任务失败 | Number |
batchMoveResults | 批量移动任务结果(taskType 为 batchMove 时返回) | Array |
batchCopyResults | 批量复制任务结果(taskType 为 batchCopy 时返回) | Array |
batchDeleteResults | 批量删除任务结果(taskType 为 batchDelete 时返回) | Array |
batchRestoreRecycleResults | 批量恢复回收站任务结果(taskType 为 batchRestoreRecycle 时返回) | Array |
convertFileResult | 文档转换任务结果(taskType 为 convertFile 时返回) | Object |
calibrateDirectoryStatsResult | 目录统计校准任务结果(taskType 为 calibrateDirectoryStats 时返回) | Object |
videoTranscodeResult | 视频转码任务结果(taskType 为 videoTranscode 时返回) | Object |
fileUncompressResult | 文件解压任务结果(taskType 为 fileUncompress 时返回) | Object |
任务类型枚举
batchMove | 批量移动文件 | batchMoveResults | BatchMoveResultItem[] |
batchCopy | 批量复制文件 | batchCopyResults | BatchCopyResultItem[] |
batchDelete | 批量删除文件 | batchDeleteResults | BatchDeleteResultItem[] |
batchRestoreRecycle | 批量恢复回收站 | batchRestoreRecycleResults | BatchRestoreRecycleResultItem[] |
convertFile | 文档转换 | convertFileResult | ConvertFileResult |
calibrateDirectoryStats | 目录统计校准 | calibrateDirectoryStatsResult | CalibrateDirectoryStatsResult |
videoTranscode | 视频转码 | videoTranscodeResult | VideoTranscodeResult |
fileUncompress | 文件解压 | fileUncompressResult | FileUncompressResult |
V2 任务状态码说明
状态码 | 说明 |
202 | 任务进行中,需继续轮询 |
200 | 任务成功完成且有返回结果 |
207 | 批量任务部分成功 |
400 | 所有子任务全部失败 |
500 | 任务执行失败 |
查询任务(V1)
功能说明
queryTask 实现查询任务(V1),用于查询指定空间下一个或多个异步任务的执行状态,taskId 支持逗号分隔批量查询。如需结构化的任务结果,建议使用「查询任务」(V2)接口。使用示例
// 批量查询任务(V1)const res = await smh.task.queryTask({spaceId: 'your-space-id',taskIdList: '6927125,6927126', // 多个任务 ID 用英文逗号分隔});if (res.status === 200) {for (const task of res.data) {console.log('任务', task.taskId, '状态:', task.status);// status:202 进行中、200 成功有结果、204 成功无结果、500 失败}}
参数说明
参数名 | 参数描述 | 类型 | 是否必填 |
spaceId | 空间 ID,如果媒体库为单租户模式,则该参数固定为连字符(-);如果媒体库为多租户模式,则必须指定该参数 | String | 是 |
taskIdList | 任务 ID 列表,多个任务 ID 使用英文逗号(,)分隔 | String | 是 |
userId | 用户身份识别 | String | 否 |
返回值说明
HTTP 状态码:200,返回任务数组。
字段 | 说明 | 类型 |
taskId | 任务唯一标识符 | Number |
status | 任务状态码:202 进行中、200 成功有结果、204 成功无结果、500 失败 | Number |
result | 任务结果,结构随任务类型而不同 | Object |
查询媒体库任务
功能说明
queryLibraryTaskV2 实现查询媒体库任务,用于查询媒体库级别异步任务的执行状态和结果。与空间级别的任务查询接口不同,本接口不需要指定 SpaceId,适用于媒体库级别的耗时任务。使用示例
const res = await smh.task.queryLibraryTaskV2({taskId: '6927125',userId: 'xxx'});if (res.status === 200) {console.log('媒体库任务查询成功', res.data);}
参数说明
taskId | 任务唯一标识符 | String | 是 |
userId | 用户身份识别 | String | 否 |
返回值说明
响应字段说明
taskId | 任务唯一标识符 | String |
taskType | 任务类型标识,用于根据类型解析对应的结果结构 | String |
status | 任务状态码,202: 处理中,200: 成功,500: 任务失败 | Number |
clearLibraryHistoryResult | 清空媒体库历史版本任务结果(taskType 为 clearLibraryHistory 时返回) | Object |
任务类型枚举
clearLibraryHistory | 清空媒体库历史版本 | clearLibraryHistoryResult | ClearLibraryHistoryResult |
查询媒体库任务(V1)
功能说明
queryLibraryTask 实现查询媒体库任务(V1),用于查询媒体库级别异步任务的执行状态,taskId 支持逗号分隔批量查询,无需指定 SpaceId。使用示例
const res = await smh.task.queryLibraryTask({taskIdList: '6927125',});if (res.status === 200) {for (const task of res.data) {console.log('任务', task.taskId, '状态:', task.status);}}
参数说明
参数名 | 参数描述 | 类型 | 是否必填 |
taskIdList | 任务 ID 列表,多个任务 ID 使用英文逗号(,)分隔 | String | 是 |
userId | 用户身份识别 | String | 否 |
返回值说明
HTTP 状态码:200,返回任务数组,字段同「查询任务(V1)」:taskId(Number)、status(202 进行中 / 200 成功有结果 / 204 成功无结果 / 500 失败)、result(Object)。