异步处理任务

最近更新时间:2023-09-12 15:05:27

我的收藏

简介

异步处理任务功能是由 数据万象(Cloud Infinite,CI)提供的,数据万象将处理能力与 COS SDK 完全结合,您可以直接按照本篇文档指引进行使用。 本文档提供关于异步处理任务的相关 API 概览以及 SDK 示例代码。
注意:
COS 小程序 SDK 版本需要大于等于 v1.1.1。
API
操作描述
用于提交一个文档转码任务
用于查询指定的文档转码任务
用于拉取符合条件(状态、创建时间等)的文档转码任务

提交文档转码任务

功能说明

本接口用于提交一个文档转码任务

使用示例

function createDocProcessJob() {
// sdk引入以及初始化请参考:https://cloud.tencent.com/document/product/436/31953
const config = {
// 需要替换成您自己的存储桶信息
Bucket: 'examplebucket-1250000000', // 存储桶,必须字段
Region: 'COS_REGION', // 存储桶所在地域,必须字段 如 ap-beijing
};
const key = `doc_jobs` //
const host = `${config.Bucket}.ci.${config.Region}.myqcloud.com`;
const url = `https://${host}/${key}`;
const body = COS.util.json2xml({
Request: {
// 创建任务的 Tag,目前仅支持:DocProcess;是否必传:是
Tag: "DocProcess",
// 待操作的文件对象;是否必传:是
Input: {
// 文件在 COS 上的文件路径,Bucket 由 Host 指定;是否必传:是
Object: "test.docx",
},
// 操作规则;是否必传:是
Operation: {
// 当 Tag 为 DocProcess 时有效,指定该任务的参数;是否必传:否
DocProcess: {
// 源数据的后缀类型,当前文档转换根据 cos 对象的后缀名来确定源数据类型,当 cos 对象没有后缀名时,可以设置该值;是否必传:否
SrcType: "",
// 转换输出目标文件类型:jpg,转成 jpg 格式的图片文件;如果传入的格式未能识别,默认使用 jpg 格式png,转成 png 格式的图片文件pdf,转成 pdf 格式文件(暂不支持指定页数);是否必传:否
TgtType: "",
// 从第 X 页开始转换;在表格文件中,一张表可能分割为多页转换,生成多张图片。StartPage 表示从指定 SheetId 的第 X 页开始转换。默认为1;是否必传:否
StartPage: 1,
// 转换至第 X 页;在表格文件中,一张表可能分割为多页转换,生成多张图片。EndPage 表示转换至指定 SheetId 的第 X 页。默认为-1,即转换全部页;是否必传:否
EndPage: 2,
// 表格文件参数,转换第 X 个表,默认为0;设置 SheetId 为0,即转换文档中全部表;是否必传:否
SheetId: 0,
// 表格文件转换纸张方向,0代表垂直方向,非0代表水平方向,默认为0;是否必传:否
PaperDirection: 0,
// 设置纸张(画布)大小,对应信息为: 0 → A4 、 1 → A2 、 2 → A0 ,默认 A4 纸张;是否必传:否
PaperSize: 0,
// 转换后的图片处理参数,支持 基础图片处理 所有处理参数,多个处理参数可通过 管道操作符 分隔,从而实现在一次访问中按顺序对图片进行不同处理;是否必传:否
ImageParams: "",
// 生成预览图的图片质量,取值范围 [1-100],默认值100。 例:值为100,代表生成图片质量为100%;是否必传:否
Quality: 0,
// 预览图片的缩放参数,取值范围[10-200], 默认值100。 例:值为200,代表图片缩放比例为200% 即放大两倍;是否必传:否
Zoom: 100,
// 按指定 dpi 渲染图片,该参数与 Zoom 共同作用,取值范围 96-600 ,默认值为 96 。转码后的图片单边宽度需小于65500像素;是否必传:否
ImageDpi: 96,
// 是否转换成单张长图,设置为 1 时,最多仅支持将 20 标准页面合成单张长图,超过可能会报错,分页范围可以通过 StartPage、EndPage 控制。默认值为 0 ,按页导出图片,TgtType="png"/"jpg" 时生效;是否必传:否
PicPagination: 0,
},
// 结果输出地址;是否必传:是
Output: {
// 存储桶的地域;是否必传:是
Region: config.Region,
// 存储结果的存储桶;是否必传:是
Bucket: config.Bucket,
// 输出文件路径。非表格文件输出文件名需包含 ${Number} 或 ${Page} 参数。多个输出文件,${Number} 表示序号从1开始,${Page} 表示序号与预览页码一致。${Number} 表示多个输出文件,序号从1开始,例如输入 abc_${Number}.jpg,预览某文件5 - 6页,则输出文件名为 abc_1.jpg,abc_2.jpg${Page} 表示多个输出文件,序号与预览页码一致,例如输入 abc_${Page}.jpg,预览某文件5-6页,则输出文件名为 abc_5.jpg,abc_6.jpg表格文件输出路径需包含 ${SheetID} 占位符,输出文件名必须包含 ${Number} 参数。例如 /${SheetID}/abc_${Number}.jpg,先根据 excel 转换的表格数,生成对应数量的文件夹,再在对应的文件夹下,生成对应数量的图片文件;是否必传:是
Object: "${Number}",
},
},
// 任务所在的队列 ID,开通预览服务后自动生成,请使用 查询队列 获取或前往 万象控制台 在存储桶中查询 ;是否必传:否
QueueId: "",
}
});
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);
}
},
);
}
createDocProcessJob()

参数说明

cos.request 方法参数说明:
参数名称
参数描述
类型
是否必填
Method
固定值:POST
String
Url
请求url,固定值
String
Key
固定值:doc_jobs
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

相关链接

查询指定的文档转码任务

功能说明

本用于查询指定的文档转码任务

使用示例

function describeDocProcessJob() {
// sdk引入以及初始化请参考:https://cloud.tencent.com/document/product/436/31953
const config = {
// 需要替换成您自己的存储桶信息
Bucket: 'examplebucket-1250000000', // 存储桶,必须字段
Region: 'COS_REGION', // 存储桶所在地域,必须字段 如 ap-beijing
};
const jobId = "xxx";
const key = `doc_jobs/${jobId}` // jobId:{jobId};
const host = `${config.Bucket}.ci.${config.Region}.myqcloud.com`;
const url = `https://${host}/${key}`;
cos.request(
{
Method: 'GET', // 固定值,必须
Key: key, // 必须
Url: url, // 请求的url,必须
},
function (err, data) {
if (err) {
// 处理请求失败
console.log(err);
} else {
// 处理请求成功
console.log(data.Response);
}
},
);
}
describeDocProcessJob()

参数说明

cos.request 方法参数说明:
参数名称
参数描述
类型
是否必填
Method
固定值:GET
String
Url
请求url,固定值
String
Key
doc_jobs/{jobId}
String

回调函数说明

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

相关链接

拉取符合条件的文档转码任务

功能说明

本接口用于拉取符合条件(状态、创建时间等)的文档转码任务

使用示例

function describeDocProcessJobList() {
// sdk引入以及初始化请参考:https://cloud.tencent.com/document/product/436/31953
const config = {
// 需要替换成您自己的存储桶信息
Bucket: 'examplebucket-1250000000', // 存储桶,必须字段
Region: 'COS_REGION', // 存储桶所在地域,必须字段 如 ap-beijing
};
const key = `doc_jobs` //
const host = `${config.Bucket}.ci.${config.Region}.myqcloud.com`;
const url = `https://${host}/${key}`;
cos.request(
{
Method: 'GET', // 固定值,必须
Key: key, // 必须
Url: url, // 请求的url,必须
Query: {
// 任务的 Tag:DocProcess;是否必传:是
tag: "DocProcess",
// 拉取该队列 ID 下的任务,可在任务响应内容或控制台中获取;是否必传:否
queueId: "",
// Desc 或者 Asc。默认为 Desc;是否必传:否
orderByTime: "Desc",
// 请求的上下文,用于翻页。上次返回的值;是否必传:否
nextToken: "",
// 拉取该状态的任务,以,分割,支持多状态:All、Submitted、Running、Success、Failed、Pause、Cancel。默认为 All;是否必传:否
states: "Success",
// 拉取创建时间大于等于该时间的任务。格式为:%Y-%m-%dT%H:%m:%S%z;是否必传:否
// startCreationTime: "",
// 拉取创建时间小于等于该时间的任务。格式为:%Y-%m-%dT%H:%m:%S%z;是否必传:否
// endCreationTime: "",
},
},
function (err, data) {
if (err) {
// 处理请求失败
console.log(err);
} else {
// 处理请求成功
console.log(data.Response);
}
},
);
}
describeDocProcessJobList()

参数说明

cos.request 方法参数说明:
参数名称
参数描述
类型
是否必填
Method
固定值:GET
String
Url
请求url,固定值
String
Key
固定值:doc_jobs
String
Query
请求参数
Object
Query 参数说明:
参数名称
参数描述
类型
是否必填
tag
任务的 Tag:DocProcess
String
queueId
拉取该队列 ID 下的任务,可在任务响应内容或控制台中获取
String
orderByTime
Desc 或者 Asc。默认为 Desc
String
nextToken
请求的上下文,用于翻页。上次返回的值
String
size
拉取的最大任务数。默认为10。最大为100
Number
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

回调函数说明

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

相关链接