有奖征文:轻量对象存储LighthouseCOS用户实践> HOT

简介

本文档提供关于数据万象媒体处理任务的相关 API 概览以及 SDK 示例代码,此处以动图任务举例。
API
操作名
操作描述
创建任务
创建一个媒体处理任务
删除任务
删除一个媒体处理任务,正在处理中的任务不可删除
查询任务
查询一个任务
查询任务列表
查询队列中的任务列表

基本操作

创建任务

功能说明

创建一个媒体处理任务。

方法原型

public MediaJobResponse createMediaJobs(MediaJobsRequest req);

参数说明

Request 中的具体数据描述如下:
节点名称(关键字)
父节点
描述
类型
必选
Tag
Request
创建任务的 Tag:Animation 动图任务,Snapshot 截图任务,Transcode 转码任务,SmartCover 智能封面任务
String
Input
Request
待操作的媒体信息
Container
Operation
Request
操作规则
Container
QueueId
Request
任务所在的队列 ID 开通预览服务后自动生成,请在数据万象控制台中查询
String
Container 类型 Input 的具体数据描述如下:
节点名称(关键字)
父节点
描述
类型
必选
Object
Request.Input
媒体文件的名字
String
Container 类型 Operation 的具体数据描述如下:
节点名称(关键字)
父节点
描述
类型
必选
Animation
Request.Operation
指定该任务的参数,同创建动图模板 CreateMediaTemplate 接口中的 Request.Animation
Container
Snapshot
Request.Operation
指定该任务的参数,同创建截图模板 CreateMediaTemplate 接口中的 Request.Snapshot
Container
Transcode
Request.Operation
指定该任务的参数,同创建转码模板 CreateMediaTemplate 接口中的 Request.Transcode
Container
Watermark
Request.Operation
指定该任务的参数,同创建水印模板 CreateMediaTemplate 接口中的 Request.Watermark
Container
SmartCover
Request.Operation
当 Tag 为 SmartCover 时有效,目前为空
Container
TemplateId
Request.Operation
指定的模板 ID
String
Output
Request.Operation
结果输出地址
Container
注意
优先使用 TemplateId,无 TemplateId 时使用对应任务类型的参数。
Container 类型 Animation 的具体数据描述如下:
节点名称(关键字)
父节点
描述
类型
必选
Container
Request.Operation.Animation
同动图模板 CreateMediaTemplate 接口中的 Request.Container
Container
Video
Request.Operation.Animation
同动图模板 CreateMediaTemplate 接口中的 Request.Video
Container
TimeInterval
Request.Operation.Animation
同动图模板 CreateMediaTemplate 接口中的 Request.TimeInterval
Container
Container 类型 Output 的具体数据描述如下:
节点名称(关键字)
父节点
描述
类型
必选
Region
Request.Operation.Output
存储桶的地域
String
Bucket
Request.Operation.Output
存储结果的存储桶
String
Object
Request.Operation.Output
结果文件的名字
String

返回结果说明

成功:返回 job 对象响应信息。
失败:发生错误(如 Bucket 不存在),抛出异常 CosClientException 或者 CosServiceException。详情请参见 异常处理

请求示例

//1.创建任务请求对象
MediaJobsRequest request = new MediaJobsRequest();
//2.添加请求参数 参数详情请见 API 接口文档
request.setBucketName("examplebucket-1250000000");
request.setTag("Transcode");
request.getInput().setObject("1.mp4");
request.getOperation().setTemplateId("t0e09a9456d4124542b1f0e44d501*****");
request.getOperation().getOutput().setBucket("examplebucket-1250000000");
request.getOperation().getOutput().setRegion("ap-chongqing");
request.getOperation().getOutput().setObject("2.mp4");
//3.调用接口,获取任务响应对象
MediaJobResponse response = client.createMediaJobs(request);

取消任务

功能说明

取消一个未在处理中的任务。

方法原型

public Boolean cancelMediaJob(MediaJobsRequest req);

参数说明

参数名称
描述
类型
必选
bucketName
Bucket 的命名规则为 BucketName-APPID,详情请参见 存储桶概述
String
jobId
要取消的任务 ID
String

返回结果说明

成功: 返回一个布尔类型,成功则返回 true。
失败: 发生错误(如身份认证失败),抛出异常 CosClientException 或者 CosServiceException。详情请参见 异常处理

请求示例

MediaJobsRequest request = new MediaJobsRequest();
request.setBucketName("examplebucket-1250000000");
request.setJobId("jae776cb4ec3011eab2cdd3817d4*****");
Boolean response = client.cancelMediaJob(request);

查询任务

功能说明

根据任务 id 查询任务详情。

方法原型

public MediaJobResponse describeMediaJob(MediaJobsRequest req);

参数说明

参数名称
描述
类型
必选
bucketName
Bucket 的命名规则为 BucketName-APPID,详情请参见 存储桶概述
String
jobId
要查询的任务 id
String

返回结果说明

成功: 返回任务详情响应包装类,类中包含一个 MediaJobObject 任务详情对象。
失败: 发生错误(如身份认证失败),抛出异常 CosClientException 或者 CosServiceException。详情请参见 异常处理

请求示例

//1.创建任务请求对象
MediaJobsRequest request = new MediaJobsRequest();
//2.添加请求参数 参数详情请见 API 接口文档
request.setBucketName("examplebucket-1250000000");
request.setJobId("j29a82fea08ba11ebb54bc9d1c05*****");
//3.调用接口,获取任务响应对象
MediaJobResponse response = client.describeMediaJob(request);

查询任务列表

功能说明

查询队列中的任务列表。

方法原型

public MediaListJobResponse describeMediaJobs(MediaJobsRequest cIMediaJobsRequest);

参数说明

节点名称(关键字)
描述
类型
必选
bucketName
Bucket 的命名规则为 BucketName-APPID,详情请参见 存储桶概述
String
queueId
拉取该队列 ID 下的任务 开通预览服务后自动生成,请在数据万象控制台中查询
String
tag
任务的Tag:Animation
String
orderByTime
Desc 或者 Asc。默认为 Desc
String
nextToken
请求的上下文,用于翻页。上次返回的值
String
size
拉取的最大任务数。默认为10。最大为100
Integer
states
拉取该状态的任务,以,分割支持多状态 All、Submitted、Running、Success Failed、Pause、Cancel。默认为 All
String
startCreationTime
拉取创建时间大于该时间的任务。格式为:%Y-%m-%dT%H:%m:%S%z
String
endCreationTime
拉取创建时间小于该时间的任务。格式为:%Y-%m-%dT%H:%m:%S%z
String

返回结果说明

成功: 返回一个任务集合响应实体。
失败: 发生错误(如身份认证失败),抛出异常 CosClientException 或者 CosServiceException。详情请参见 异常处理

请求示例

MediaJobsRequest request = new MediaJobsRequest();
request.setBucketName("examplebucket-1250000000");
request.setTag("Transcode");
MediaListJobResponse response = client.describeMediaJobs(request);
List<MediaJobObject> jobsDetail = response.getJobsDetail();