简介
本文档提供关于云查毒接口的 API 概览和 SDK 示例代码。
注意:
COS Javascript SDK 版本需要大于等于 v1.3.1。
API | 操作描述 |
用于提交一个病毒检测任务 | |
用于查询病毒检测任务结果 |
提交病毒检测任务
功能说明
用于提交一个病毒检测任务。
使用示例
function postVirusDetect() {var config = {// 需要替换成您自己的存储桶信息Bucket: 'examplebucket-1250000000', /* 存储桶,必须 */Region: 'COS_REGION', /* 存储桶所在地域,必须字段 */};var host = config.Bucket + '.ci.' + config.Region + '.myqcloud.com/virus/detect';var url = 'https://' + host;var body = COS.util.json2xml({Request: {Input: {Object: 'virus.doc', // 文件名,取值为文件在当前存储桶中的完整名称,与 Url 参数二选一// Url: 'http://examplebucket-1250000000.cos.ap-shanghai.myqcloud.com/virus.doc', // 病毒文件的链接地址,与Object参数二选一},Conf: {DetectType: 'Virus', // 检测的病毒类型,当前固定为:Virus// CallBack: 'http://callback.demo.com', // 任务回调的地址},}});cos.request({Method: 'POST',Key: 'virus/detect',Url: url,Body: body,ContentType: 'application/xml',},function(err, data){console.log(err || data);});}postVirusDetect();
参数说明
节点名称(关键字) | 父节点 | 描述 | 类型 | 是否必选 |
Request | 无 | 病毒检测的具体配置项。 | Container | 是 |
Container 类型 Request 的具体数据描述如下:
节点名称(关键字) | 父节点 | 描述 | 类型 | 是否必选 |
Input | Request | 需要检测的文件信息。 | Container | 是 |
Conf | Request | 检测规则配置。 | Container | 是 |
Container 类型 Input 的具体数据描述如下:
节点名称(关键字) | 父节点 | 描述 | 类型 | 是否必选 |
Object | Request.Input | 存储在 COS 存储桶中的病毒文件名称,例如在目录 test 中的文件 virus.doc,则文件名称为 test/virus.doc。 注意:Object 和 Url 只能选择其中一种。 | String | 是 |
Url | Request.Input | 病毒文件的链接地址,例如 http://examplebucket-1250000000.cos.ap-shanghai.myqcloud.com/virus.doc。 注意:Object 和 Url 只能选择其中一种。 | String | 否 |
Container 类型 Conf 的具体数据描述如下:
节点名称(关键字) | 父节点 | 描述 | 类型 | 是否必选 |
DetectType | Request.Conf | 检测的病毒类型,当前固定为:Virus | String | 是 |
Callback | Request.Conf | 检测结果回调通知到您设置的地址,支持以 http:// 或者 https:// 开头的地址,例如:http://www.callback.com | String | 否 |
返回结果说明
查询病毒检测任务结果
功能说明
用于查询病毒检测任务结果。
使用示例
function getVirusDetectResult() {var config = {// 需要替换成您自己的存储桶信息Bucket: 'examplebucket-1250000000', /* 存储桶,必须 */Region: 'COS_REGION', /* 存储桶所在地域,必须字段 */};var jobId = 'ssdb2dab23bcdb11ed9efb5254009411xx'; // 提交病毒检测任务后会返回当前任务的 jobIdvar host = config.Bucket + '.ci.' + config.Region + '.myqcloud.com/virus/detect/' + jobId;var url = 'https://' + host;cos.request({Method: 'GET',Key: 'virus/detect/' + jobId,Url: url,},function(err, data){console.log(err || data);});}getVirusDetectResult();
参数说明
节点名称(关键字) | 父节点 | 描述 | 类型 |
Response | 无 | 病毒检测任务结果。 | Container |
Container 节点 Response 的内容:
节点名称(关键字) | 父节点 | 描述 | 类型 |
JobsDetail | Response | 病毒检测任务的详细信息。 | Container |
Container 节点 JobsDetail 的内容:
节点名称(关键字) | 父节点 | 描述 | 类型 |
Code | Response.JobsDetail | 错误码,只有 State 为 Failed 时有意义。 | String |
Message | Response.JobsDetail | 错误描述,只有 State 为 Failed 时有意义。 | String |
JobId | Response.JobsDetail | 本次病毒检测任务的 ID。 | String |
State | Response.JobsDetail | 病毒检测任务的状态,值为 Submitted(已提交检测)、Success(检测成功)、Failed(检测失败)、Auditing(检测中)其中一个。 | String |
CreationTime | Response.JobsDetail | 病毒检测任务的创建时间。 | String |
Object | Response.JobsDetail | 检测的文件为存储在 COS 中的文件时,该字段表示本次检测的文件名称。 | String |
Url | Response.JobsDetail | 检测的文件为一条文件链接时,该字段表示本次检测的文件链接。 | String |
Suggestion | Response.JobsDetail | 该字段表示本次判定的检测结果,您可以根据该结果,进行后续的操作;建议您按照业务所需,对不同的检测结果进行相应处理。 有效值:nomal(检测正常),block (检测到文件含有病毒)。 | String |
DetectDetail | Response.JobsDetail | 本次检测的详细信息。 | Container Array |
Container 节点 DetectDetail 的内容:
节点名称(关键字) | 父节点 | 描述 | 类型 |
Result | Response.JobsDetail.DetectDetail | 单个文件的检测结果,可能有多个结果。 | Array |
Array 节点 Result 的内容:
节点名称(关键字) | 父节点 | 描述 | 类型 |
FileName | Response.JobsDetail.DetectDetail.Result | 检测的文件名称,如果是压缩文件,该字段表示解压后内部的具体文件名。 | String |
VirusName | Response.JobsDetail.DetectDetail.Result | 检测到的病毒名称。 | String |