创建工作流

最近更新时间:2024-09-12 16:57:21

我的收藏

简介

创建工作流功能是由 数据万象(Cloud Infinite,CI)提供的,数据万象将处理能力与 COS SDK 完全结合,您可以直接按照本篇文档指引进行使用。 本文档提供关于创建工作流的相关 API 概览以及 SDK 示例代码。
注意:
COS Javascript SDK 版本需要大于等于 v1.3.1。
API
操作描述
创建工作流

创建工作流

功能说明

创建工作流。

使用示例

function createWorkflow() {
// sdk引入以及初始化请参考:https://cloud.tencent.com/document/product/436/11459
const config = {
// 需要替换成您自己的存储桶信息
Bucket: 'examplebucket-1250000000', // 存储桶,必须字段
Region: 'COS_REGION', // 存储桶所在地域,必须字段 如 ap-beijing
};
const key = 'workflow'; // 固定值
const host = `${config.Bucket}.ci.${config.Region}.myqcloud.com`;
const url = `https://${host}/${key}`;
// 替换为自己的模板id
const snapshotTemplate = 'xxx'; // 音视频截帧模板
const transcodeTemplate = 'xxx'; // 视频转码模板
const animationTemplate = 'xxx'; // 视频转动图模板
const concatTemplate = 'xxx'; // 音视频拼接模板
const voiceSeparateTemplate = 'xxx'; // 人声分离模板
const videoMontageTemplate = 'xxx'; // 精彩集锦模板
const watermarkTemplate = 'xxx'; // 视频水印模板
const body = COS.util.json2xml({
Request: {
MediaWorkflow: {
Name: 'my_workflow',
State: 'Active', // 创建并开启工作流
Topology: {
Dependencies: {
Start:
'Snapshot_1581665960536,Transcode_1581665960537,Animation_1581665960538,Concat_1581665960539,VoiceSeparate_1581665960551,VideoMontage_1581665960551,SDRtoHDR_1581665960553,Segment_1581665960667',
Snapshot_1581665960536: 'End',
Transcode_1581665960537: 'End',
Animation_1581665960538: 'End',
Concat_1581665960539: 'End',
VideoMontage_1581665960551: 'End',
SDRtoHDR_1581665960553: 'End',
Segment_1581665960667: 'End',
VoiceSeparate_1581665960551: 'End',
},
Nodes: {
Start: {
Type: 'Start',
Input: {
ObjectPrefix: 'test-',
NotifyConfig: {
Type: 'Url',
Url: 'http://www.callback.com',
Event: 'TaskFinish,WorkflowFinish',
},
ExtFilter: {
State: 'On',
Audio: 'true',
Custom: 'true',
CustomExts: 'mp4/mp3',
AllFile: 'false',
},
},
},
Snapshot_1581665960536: {
Type: 'Snapshot',
Operation: {
TemplateId: snapshotTemplate,
Output: {
Region: config.Region,
Bucket: config.Bucket,
Object: 'worlflow-test/${RunId}/snapshot-${number}.${Ext}',
SpriteObject: 'worlflow-test/${RunId}/snapshot-sprite-${number}.jpg',
},
},
},
Transcode_1581665960537: {
Type: 'Transcode',
Operation: {
TemplateId: transcodeTemplate,
Output: {
Region: config.Region,
Bucket: config.Bucket,
Object: 'worlflow-test/${RunId}/trans.mp4',
},
},
},
Animation_1581665960538: {
Type: 'Animation',
Operation: {
TemplateId: animationTemplate,
Output: {
Region: config.Region,
Bucket: config.Bucket,
Object: 'worlflow-test/${RunId}/bcd.gif',
},
},
},
Concat_1581665960539: {
Type: 'Concat',
Operation: {
TemplateId: concatTemplate,
Output: {
Region: config.Region,
Bucket: config.Bucket,
Object: 'worlflow-test/${RunId}/abc.${ext}',
},
},
},
VoiceSeparate_1581665960551: {
Type: 'VoiceSeparate',
Operation: {
TemplateId: voiceSeparateTemplate,
Output: {
Region: config.Region,
Bucket: config.Bucket,
Object: 'worlflow-test/${RunId}/background.mp3',
AuObject: 'worlflow-test/${RunId}/audio.mp3',
},
},
},
VideoMontage_1581665960551: {
Type: 'VideoMontage',
Operation: {
TemplateId: videoMontageTemplate,
Output: {
Region: config.Region,
Bucket: config.Bucket,
Object: 'worlflow-test/${RunId}/montage.mp4',
},
},
},
SDRtoHDR_1581665960553: {
Type: 'SDRtoHDR',
Operation: {
SDRtoHDR: {
HdrMode: 'HLG',
},
TranscodeTemplateId: transcodeTemplate,
WatermarkTemplateId: watermarkTemplate,
Output: {
Region: config.Region,
Bucket: config.Bucket,
Object: 'worlflow-test/${RunId}/SDRtoHDR.mp4',
},
},
},
Segment_1581665960667: {
Type: 'Segment',
Operation: {
Segment: {
Format: 'mp4',
Duration: '5',
},
Output: {
Region: config.Region,
Bucket: config.Bucket,
Object: 'worlflow-test/${RunId}/segment-trans${Number}',
},
},
},
},
},
},
},
});
cos.request(
{
Method: 'POST', // 固定值,必须
Key: key, // 必须
Url: url, // 请求的url,必须
Body: body, // 请求体参数,必须
ContentType: 'application/xml', // 固定值,必须
},
function (err, data) {
if (err) {
// 处理请求失败
console.log(err);
} else {
// 处理请求成功
console.log(data.Response);
}
}
);
}


参数说明

cos.request 方法参数说明:
参数名称
参数描述
类型
是否必填
Method
固定值:POST
String
Url
请求 url,固定值
String
Key
固定值:workflow
String
ContentType
固定值
String
Body
请求体详情请参见 创建工作流
Object

回调函数说明

function(err, data) { ... }
参数名称
参数描述
类型
err
请求发生错误时返回的对象,包括网络错误和业务错误。如果请求成功则为空,更多详情请参见 错误码
Object
- statusCode
请求返回的 HTTP 状态码,例如 200、403、404 等
Number
- headers
请求返回的头部信息
Object
data
请求成功时返回的对象,如果请求发生错误,则为空
Object
- statusCode
请求返回的 HTTP 状态码,例如 200、403、404 等
Number
- headers
请求返回的头部信息
Object
- Response
响应结果 详情请参见 创建工作流
Object

相关链接