触发任务(独立节点)

最近更新时间:2024-11-14 12:49:32

我的收藏

功能描述

通过独立任务参数触发批量数据处理任务。


授权说明

授权策略中 action 设置为 ci:CreateInventoryTriggerJob 。查看所有 action

服务开通

使用该功能需提前开通数据万象,并绑定存储桶。详情请参见 绑定存储桶

使用限制

使用该接口时,请先确认相关限制条件。详情请参见 使用限制

请求

请求示例

POST /inventorytriggerjob HTTP/1.1
Host: <BucketName-APPID>.ci.<Region>.myqcloud.com
Date: <GMT Date>
Authorization: <Auth String>
Content-Length: <length>
Content-Type: application/xml

<body>
说明
Authorization: Auth String(详情请参见 请求签名 文档)。
通过子账号使用时,需要授予相关的权限,详情请参见 授权粒度详情 文档。

请求头

此接口仅使用公共请求头部,详情请参见 公共请求头部 文档。

请求体

该请求操作的实现需要有如下请求体。
<Request>
<Name>demo</Name>
<Type>Job</Type>
<Input>
<Prefix>input</Prefix>
</Input>
<Operation>
<TimeInterval>
<Start>2022-02-01T12:00:00+0800</Start>
<End>2022-05-01T12:00:00+0800</End>
</TimeInterval>
<QueueId>p893bcda225bf4945a378da6662e81a89</QueueId>
<UserData>this is my inventorytriggerjob</UserData>
<CallBack>https://www.callback.com</CallBack>
<Tag>Transcode</Tag>
<JobParam>
<TemplateId>t1460606b9752148c4ab182f55163ba7cd</TemplateId>
</JobParam>
<Output>
<Region>ap-chongqing</Region>
<Bucket>test-1234567890</Bucket>
<Object>output/${InventoryTriggerJobId}/out.mp4</Object>
</Output>
<JobLevel>0</JobLevel>
</Operation>
</Request>
具体的数据描述如下:
节点名称(关键字)
父节点
描述
类型
是否必选
Request
保存请求的容器
Container
Container 类型 Request 的具体数据描述如下:
节点名称(关键字)
父节点
描述
类型
是否必选
Name
Request
存量触发任务名称,支持中文、英文、数字、—和_,长度限制128字符
String
Type
Request
批量处理任务类型:Job
String
Input
Request
待操作的文件信息
Container
Operation
Request
操作规则
Container
Container 类型 Input 的具体数据描述如下:
节点名称(关键字)
父节点
描述
类型
是否必选
Manifest
Request.Input
COS 清单列表文件名,COS 清单生成的 manifest.json 文件
String
UrlFile
Request.Input
URL 文件名,文件中每行的 URL 为一个 COS 中对象的访问地址
String
Prefix
Request.Input
Object 前缀
String
Object
Request.Input
文件路径
String
Container 类型 Operation 的具体数据描述如下:
节点名称(关键字)
父节点
描述
类型
是否必选
TimeInterval
Request.Operation
按时间过滤的触发范围
Container
Tag
Request.Operation
创建的媒体任务类型 Tag
String
Output
Request.Operation
输出地址信息
当媒体任务类型不为 VideoTag 、 ExtractDigitalWatermark 、 MediaInfo 、 QualityEstimate 时,该参数必选
Container
JobParam
Request.Operation
任务参数
Container
QueueId
Request.Operation
队列 ID
String
QueueType
Request.Operation
队列类型,限制为 SpeedTranscoding ,当 Tag 为 Transcode 且 QueueId 为空时生效,表示为开启倍速转码
String
UserData
Request.Operation
用户信息
String
JobLevel
Request.Operation
任务优先级,级别限制:0 、1 、2。级别越大任务优先级越高,默认为0
Int
CallBackFormat
Request.Operation
任务回调格式,JSON 或 XML,默认 XML,优先级高于队列的回调格式
String
CallBackType
Request.Operation
任务回调类型,Url 或 TDMQ,默认 Url,优先级高于队列的回调类型
String
CallBack
Request.Operation
任务回调地址,优先级高于队列的回调地址。设置为 no 时,表示队列的回调地址不产生回调
String
CallBackMqConfig
Request.Operation
任务回调 TDMQ 配置,当 CallBackType 为 TDMQ 时必填
Container
Container 类型 CallBackMqConfig 的具体数据描述如下:
节点名称(关键字)
父节点
描述
类型
是否必选
MqRegion
Request.Operation.CallBackMqConfig
消息队列所属园区,目前支持园区 sh(上海)、bj(北京)、gz(广州)、cd(成都)、hk(香港)
String
MqMode
Request.Operation.CallBackMqConfig
消息队列使用模式,默认 Queue :
主题订阅:Topic
队列服务: Queue
String
MqName
Request.Operation.CallBackMqConfig
TDMQ 主题名称
String
Operation.Tag 支持的类型如下:
任务类型
Tag
视频转动图
Animatin
智能封面
SmartCover
音视频转码
Transcode
视频截图
Snapshot
语音识别
SpeechRecognition
音视频拼接
Concat
人声分离
VoiceSpearte
精彩集锦
VideoMontage
SDR to HDR
SDRtoHDR
人声分离
VoiceSeparate
视频增强
VideoProcess
超级分辨率
SuperResolution
音视频转封装
Segment
视频标签
VideoTag
图片处理
PicProcess
数字水印
DigitalWatermark
提取数字水印
ExtractDigitalWatermark
异步获取媒体信息
MediaInfo
音视频流分离
StreamExtract
语音合成
Tts
音频降噪
NoiseReduction
视频质量分析
QualityEstimate
Container 类型 TimeInterval 的具体数据描述如下:
节点名称(关键字)
父节点
描述
类型
是否必选
默认值
限制
Start
Request.Operation.TimeInterval
开始时间
String
0
扫描对象的上传时间
%Y-%m-%dT%H:%m:%S%z
End
Request.Operation.TimeInterval
结束时间
String
当前时间
扫描对象的上传时间
%Y-%m-%dT%H:%m:%S%z
Container 类型 Output 的具体数据描述如下:
节点名称(关键字)
父节点
描述
类型
是否必选
限制
Region
Request.Operation.Output
存储桶的地域
String
Bucket
Request.Operation.Output
存储桶的名称
String
Object
Request.Operation.Output
结果文件名称
String
当媒体任务类型不为 Snapshot 、 VoiceSeparate 、 StreamExtract 时,该参数必选
当媒体任务类型为SmartCover,且Request.Operation.JobParam.SmartCover.Count 大于1时,必须包含 ${Number} 参数
当媒体任务类型为 Snapshot,且 Snapshot.Count 大于1时,必须包含 ${Number} 参数
AuObject
Request.Operation.Output
人声结果文件名
String
当媒体任务类型为 VideoSeParete 时,该参数有效,且不能和 Object 同时为空
SpriteObject
Request.Operation.Output
雪碧图名
String
当媒体任务类型为 Snapshot 时,该参数有效,且不能和 Object 同时为空
当 Snapshot.Count 大于1时,必须包含 ${Number} 参数
仅支持 jpg
StreamExtract
Request.Operation.Output
流分离结果文件配置信息,当媒体任务类型为 StreamExtract 时该参数有效,且必选
Container
Container 类型 StreamExtract 的具体数据描述如下:
节点名称(关键字)
父节点
描述
类型
是否必选
Index
Request.Operation.Output.StreamExtract
流的编号,对应媒体信息中的 Response.MediaInfo.Stream.Video.Index
和 Response.MediaInfo.Stream.Audio.Index,详见 获取媒体信息接口,当输入媒体格式为 mxf 格式时,只支持提取 video 流
String
Object
Request.Operation.Output.StreamExtract
结果输出文件名
String
Container 类型 JobParam 的具体数据描述如下:
节点名称(关键字)
父节点
描述
类型
是否必选
TemplateId
Request.Operation.JobParam
模板 ID
String
TranscodeTemplateId
Request.Operation.JobParam
转码模板 ID,当媒体任务类型为 VideoProcess 、SuperResolution 、 SDR2HDR 时有效
Container
Animation
Request.Operation.JobParam
动图任务参数,当媒体任务类型为 Animation 时有效
Container
Transcode
Request.Operation.JobParam
转码任务参数,当媒体任务类型为 Transcode 、VideoProcess 、SuperResolution 、 SDR2HDR 时该参数有效
String
SmartCover
Request.Operation.JobParam
智能封面任务参数,当媒体任务类型为 SmartCover 时有效
Container
DigitalWatermark
Request.Operation.JobParam
数字水印参数,当媒体任务类型为 Transcode 、VideoProcess 、SuperResolution 、 DigitalWatermark 时该参数有效
Container
Watermark
Request.Operation.JobParam
水印模板参数,同创建水印模板 CreateMediaTemplate 接口的 Request.Watermark,当媒体任务类型为 Transcode 、 SDR2HDR 、 VideoProcess 、 SuperResolution 时该参数有效
Container
WatermarkTemplateId
Request.Operation.JobParam
水印模板参数,同创建水印模板 CreateMediaTemplate 接口的 Request.Watermark ,当媒体任务类型为 Transcode 、 SDR2HDR 、 VideoProcess 、 SuperResolution 时该参数有效
Container
RemoveWatermark
Request.Operation.JobParam
去除水印参数,当媒体任务类型为 Transcode 时有效
Container
Subtitles
Request.Operation.JobParam
字幕参数,当媒体任务类型为 Transcode 时有效
Container
Snapshot
Request.Operation.JobParam
截图任务参数,当媒体任务类型为 Snapshot 时有效
Container
SpeechRecognition
Request.Operation.JobParam
语音识别任务参数,当媒体任务类型为 SpeechRecognition 时有效
Container
ConcatTemplate
Request.Operation.JobParam
拼接任务参数,当媒体任务类型为 Concat 时有效
Container
VoiceSeparate
Request.Operation.JobParam
人声分离任务参数,当媒体任务类型为 VoiceSeparate 时有效
Container
VideoMontage
Request.Operation.JobParam
精彩集锦任务参数,当媒体任务类型为 VideoMontage 时有效
Container
SDRtoHDR
Request.Operation.JobParam
SDR2HDR 任务参数,当媒体任务类型为 SDRtoHDR 时有效
Container
VideoProcess
Request.Operation.JobParam
视频增强任务参数,当媒体任务类型为 VideoProcess 时有效
Container
SuperResolution
Request.Operation.JobParam
超分辨率任务参数,当媒体任务类型为 SuperResolution 时有效
Container
Segment
Request.Operation.JobParam
转封装任务参数,当媒体任务类型为 Segment 时有效
Container
ExtractDigitalWatermark
Request.Operation.JobParam
提取数字水印任务参数,当媒体任务类型为 ExtractDigitalWatermark 时有效
Container
VideoTag
Request.Operation.JobParam
视频标签任务参数,当媒体任务类型为 VideoTag 时有效
Container
TtsTpl
Request.Operation.JobParam
语音合成模板参数,当媒体任务类型为 Tts 时有效
Container
NoiseReduction
Request.Operation.JobParam
音频降噪模板参数,当媒体任务类型为 NoiseReduction 时有效
Container
注意
优先使用 TemplateId,无 TemplateId 时使用对应任务类型的参数。
Container 类型 DigitalWatermark 的具体数据描述如下:
节点名称(关键字)
父节点
描述
类型
是否必选
Message
Request.Operation.JobParam.DigitalWatermark
数字水印嵌入的字符串信息,长度不超过64个字符,仅支持中文、英文、数字、_、-和*
String
Type
Request.Operation.JobParam.DigitalWatermark
水印类型,当前仅可设置为 Text
String
Version
Request.Operation.JobParam.DigitalWatermark
水印版本,当前仅可设置为 V1
String
IgnoreError
Request.Operation.JobParam.DigitalWatermark
当添加水印失败是否忽略错误继续执行任务,限制为 true/false,默认为false
当 Request.Operation.Tag 为 DigitalWatermark 时,该参数无效,添加水印失败任务失败
Bool
Container 类型 Animation 的内容: 同 提交动图任务 的 Request.Operation.Animation
Container 类型 Transcode 的内容: 同 提交音视频转码任务 的 Request.Operation.Transcode
Container 类型 Watermark 的内容: 同 提交音视频转码任务 的 Request.Operation.Watermark
Container 类型 RemoveWatermark 的内容: 同 提交音视频转码任务 的 Request.Operation.RemoveWatermark
Container 类型 SmartCover 的内容: 同 提交智能封面任务 的 Request.Operation.SmartCover
Container 类型 Snapshot 的内容: 同 提交截图任务 的 Request.Operation.Snapshot
Container 类型 SpeechRecognition 的内容: 同 提交语音识别任务 的 Request.Operation.SpeechRecognition
Container 类型 ConcatTemplate 的内容: 同 提交拼接任务 的 Request.Operation.ConcatTemplate
Container 类型 VoiceSeparate 的内容: 同 提交人声分离任务 的 Request.Operation.VoiceSeparate
Container 类型 VideoMontage 的内容: 同 提交精彩锦集任务 的 Request.Operation.VideoMontage
Container 类型 SDRtoHDR 的内容: 同 提交SDRtoHDR任务 的 Request.Operation.SDRtoHDR
Container 类型 VideoProcess 的内容: 同 提交视频增强任务 的 Request.Operation.VideoProcess
Container 类型 SuperResolution 的内容: 同 提交超分辨率任务 的 Request.Operation.SuperResolution
Container 类型 Segment 的内容: 同 提交转封装任务 的 Request.Operation.Segment
Container 类型 ExtractDigitalWatermark 的内容: 同 提交提取数字水印任务 的 Request.Operation.ExtractDigitalWatermark
Container 类型 VideoTag 的内容: 同 提交智能视频标签任务 的 Request.Operation.VideoTag
Container 类型 TtsTpl 的内容: 同 提交语音合成任务 的 Request.Operation.TtsTpl
Container 类型 NoiseReduction 的内容: 同 提交音频降噪任务 的 Request.Operation.NoiseReduction

响应

响应头

此接口仅返回公共响应头部,详情请参见 公共响应头部 文档。

响应体

该响应体返回为 application/xml 数据,包含完整节点数据的内容展示如下:
<Response>
<RequestId>NjJiZDU1ZmZfOTBmYTUwNjRfNzdjY18xYQ==<RequestId>
<JobsDetail>
<Code>Success</Code>
<Type>Job</Type>
<Message/>
<Name>demo</Name>
<JobId>be8f65004eb8511eaaed4f377124a303c</JobId>
<State>Running</State>
<CreationTime>2022-06-27T15:23:10+0800</CreationTime>
<StartTime>2022-06-27T15:23:11+0800</StartTime>
<EndTime>2022-06-27T15:25:10+0800</EndTime>
<Input>
<Prefix>input</Prefix>
</Input>
<Operation>
<TimeInterval>
<Start>2022-02-01T12:00:00+0800</Start>
<End>2022-05-01T12:00:00+0800</End>
</TimeInterval>
<QueueId>p893bcda225bf4945a378da6662e81a89</QueueId>
<UserData>this is my inventorytriggerjob</UserData>
<CallBack>https://www.callback.com</CallBack>
<Tag>Transcode</Tag>
<JobParam>
<TemplateId>t1460606b9752148c4ab182f55163ba7cd</TemplateId>
</JobParam>
<Output>
<Region>ap-chongqing</Region>
<Bucket>test-1234567890</Bucket>
<Object>output/${InventoryTriggerJobId}/out.mp4</Object>
</Output>
<JobLevel>0</JobLevel>
</Operation>
</JobsDetail>
</Response>
具体的数据内容如下:
节点名称(关键字)
父节点
描述
类型
Response
保存结果的容器
Container
Container 节点 Response 的内容:
节点名称(关键字)
父节点
描述
类型
RequestId
Response
请求的唯一 ID
String
JobsDetail
Response
任务的详细信息
Container
Container 节点 JobsDetail 的内容:
节点名称(关键字)
父节点
描述
类型
Code
Response.JobsDetail
错误码,只有 State为 Failed 时有意义
String
Message
Response.JobsDetail
错误描述,只有 State为 Failed 时有意义
String
Type
Response.JobsDetail
批量处理任务类型,Job
String
Name
Response.JobsDetail
新创建任务的名称
String
JobId
Response.JobsDetail
新创建任务的 ID
String
State
Response.JobsDetail
任务的状态,为 Submitted、Running、Success、Failed、Pause、Cancel 其中一个
String
CreationTime
Response.JobsDetail
任务的创建时间
String
StartTime
Response.JobsDetail
任务的开始时间
String
EndTime
Response.JobsDetail
任务的结束时间
String
Input
Response.JobsDetail
该任务的输入资源地址,同请求中的 Request.Input 节点
Container
Operation
Response.JobsDetail
该任务的操作规则,同请求中的 Request.Input Operation
Container

错误码

该请求操作无特殊错误信息,常见的错误信息请参见 错误码 文档。

实际案例

请求

POST /inventorytriggerjob HTTP/1.1
Authorization:q-sign-algorithm=sha1&q-ak=************************************&q-sign-time=1497530202;1497610202&q-key-time=1497530202;1497610202&q-header-list=&q-url-param-list=&q-signature=****************************************
Host:bucket-1250000000.ci.ap-beijing.myqcloud.com
Content-Length: 166
Content-Type: application/xml

<Request>
<Name>demo</Name>
<Type>Job</Type>
<Input>
<Prefix>input</Prefix>
</Input>
<Operation>
<TimeInterval>
<Start>2022-02-01T12:00:00+0800</Start>
<End>2022-05-01T12:00:00+0800</End>
</TimeInterval>
<QueueId>p893bcda225bf4945a378da6662e81a89</QueueId>
<UserData>this is my inventorytriggerjob</UserData>
<CallBack>https://www.callback.com</CallBack>
<Tag>Transcode</Tag>
<JobParam>
<TemplateId>t1460606b9752148c4ab182f55163ba7cd</TemplateId>
</JobParam>
<Output>
<Region>ap-chongqing</Region>
<Bucket>test-1234567890</Bucket>
<Object>output/${InventoryTriggerJobId}/out.mp4</Object>
</Output>
<JobLevel>0</JobLevel>
</Operation>
</Request>

响应

HTTP/1.1 200 OK
Content-Type: application/xml
Content-Length: 230
Connection: keep-alive
Date: Mon, 28 Jun 2022 15:23:12 GMT
Server: tencent-ci
x-ci-request-id: NjJiZDU1ZmZfOTBmYTUwNjRfNzdjY18xYQ==

<Response>
<RequestId>NjJiZDU1ZmZfOTBmYTUwNjRfNzdjY18xYQ==<RequestId>
<JobsDetail>
<Code>Success</Code>
<Type>Job</Type>
<Message/>
<Name>demo</Name>
<JobId>be8f65004eb8511eaaed4f377124a303c</JobId>
<State>Running</State>
<CreationTime>2022-06-27T15:23:10+0800</CreationTime>
<StartTime>2022-06-27T15:23:11+0800</StartTime>
<EndTime>2022-06-27T15:25:10+0800</EndTime>
<Input>
<Prefix>input</Prefix>
</Input>
<Operation>
<TimeInterval>
<Start>2022-02-01T12:00:00+0800</Start>
<End>2022-05-01T12:00:00+0800</End>
</TimeInterval>
<QueueId>p893bcda225bf4945a378da6662e81a89</QueueId>
<UserData>this is my inventorytriggerjob</UserData>
<CallBack>https://www.callback.com</CallBack>
<Tag>Transcode</Tag>
<JobParam>
<TemplateId>t1460606b9752148c4ab182f55163ba7cd</TemplateId>
</JobParam>
<Output>
<Region>ap-chongqing</Region>
<Bucket>test-1234567890</Bucket>
<Object>output/${InventoryTriggerJobId}/out.mp4</Object>
</Output>
<JobLevel>0</JobLevel>
</Operation>
</JobsDetail>
</Response>