功能描述
通过独立任务参数触发批量数据处理任务。
授权说明
服务开通
使用限制
请求
请求示例
POST /inventorytriggerjob HTTP/1.1Host: <BucketName-APPID>.ci.<Region>.myqcloud.comDate: <GMT Date>Authorization: <Auth String>Content-Length: <length>Content-Type: application/xml<body>
请求头
请求体
该请求操作的实现需要有如下请求体。
<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 | 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.1Authorization: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.comContent-Length: 166Content-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 OKContent-Type: application/xmlContent-Length: 230Connection: keep-aliveDate: Mon, 28 Jun 2022 15:23:12 GMTServer: tencent-cix-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>