文件推送到云端检测。
接口说明
通过此接口将文件推送到云端检测,支持恶意文件检测和 Skill 压缩包检测两种场景。
文件上传方式
文件上传方式支持预先上传和下载链接。
如果使用预先上传的方式,调用前请确认文件已成功上传,文件上传方式参考 CreateFileDetectUploadUrl 接口。
如果使用下载链接的方式,请通过 DownloadUrl 参数传入可通过公网访问的下载链接。
恶意文件检测场景支持以上两种方式。Skill 压缩包检测场景(Type 为 6)暂不支持预先上传方式,只能传入下载链接。
文件唯一标识
文件检测相关接口均包含 HashKey 参数,表示此次检测文件的唯一标识,用于查询检测结果。
Skill 压缩包检测场景(Type 为 6)不需要提前计算 HashKey,本接口将会返回全局唯一的 UUID 作为文件标识,后续通过该标识查询结果。
恶意文件检测场景(Type 为 0)需要在调用接口前提前计算 HashKey,且仅支持传入文件完整内容的 MD5 或 SHA-256。
计算文件内容的 MD5 或 SHA-256 值可以参考以下两个步骤:
-
使用 MD5、SHA-256 算法对数据进行加密,生成 128 位或 256 位的散列值。现有工具库包括 Java 的 MessageDigest 工具、Python 的 hashlib 库等。
-
将生成的散列值编码为十六进制字符串形式,现有工具库包括 Java 的 Codec 工具、Python 的 hex 函数等。请确认最终生成的字符串为数字和小写英文字符的组合,MD5 为 32 个字符,SHA-256 为 64 个字符。
注意,单次检测的推送和查询接口必须使用同一个 HashKey,否则无法正确推送检测和查询结果。
调试
您可以在OpenAPI Explorer中直接运行该接口,免去您计算签名的困扰。运行成功后,OpenAPI Explorer可以自动生成SDK代码示例。
调试
授权信息
|
操作 |
访问级别 |
资源类型 |
条件关键字 |
关联操作 |
|
yundun-sas:CreateFileDetect |
create |
*全部资源
|
无 | 无 |
请求参数
|
名称 |
类型 |
必填 |
描述 |
示例值 |
| SourceIp |
string |
否 |
访问源的 IP 地址。 |
115.213.XX.XX |
| Type |
integer |
是 |
需要检测的文件类型。取值:
|
0 |
| HashKey |
string |
否 |
文件唯一标识。 Type 为 0 时此参数必填,且必须为文件的 MD5 或 SHA-256。 Type 为 6 时此参数不用填,文件唯一标识通过接口返回值获取。 |
0a212417e65c26ff133cfff28f6c**** |
| OssKey |
string |
否 |
文件在 OSS Bucket 中的存储 key。 如果通过 DownloadUrl 推送文件检测,此参数可不填。此参数通过 CreateFileDetectUploadUrl 接口获取。 说明
Type 为 6 时不支持此参数。 |
1/2022/06/23/15/41/16559701077444693a0c6-33b2-4cc2-a99f-9f38b8b8**** |
| DownloadUrl |
string |
否 |
文件下载链接。支持传入文件下载链接(公网 URL)直接触发文件检测,不需要提前上传文件。 说明
Skill 压缩包目前只支持通过 URL 传入文件,所以 Type 为 6 时此参数必填。 |
https://xxxxxxxx.oss-cn-hangzhou-1.aliyuncs.com/xxxxx/xxxxxxxxxxxxxx?Expires=1671448125&OSSAccessKeyId=xxx |
| Decompress |
boolean |
否 |
是否识别压缩包并解压。取值:
说明
Type 为 6 时不支持此参数。 |
false |
| DecompressMaxLayer |
integer |
否 |
当压缩包内,存在多个层级的压缩包嵌套时,解压的最大解压层数。最大取值为 5。 Decompress 设置为 true 时,此参数不可为空。 说明
Type 为 6 时不支持此参数。 |
1 |
| DecompressMaxFileCount |
integer |
否 |
解压的最大文件数。最大取值为 1000。 Decompress 设置为 true 时,此参数不可为空。 说明
Type 为 6 时不支持此参数。 |
100 |
返回参数
|
名称 |
类型 |
描述 |
示例值 |
|
object |
|||
| RequestId |
string |
本次调用请求的 ID,是由阿里云为该请求生成的唯一标识符,可用于排查和定位问题。 |
7E0618A9-D5EF-4220-9471-C42B5E92719F |
| HashKey |
string |
文件标识。 |
0a212417e65c26ff133cfff28f6c**** |
示例
正常返回示例
JSON格式
{
"RequestId": "7E0618A9-D5EF-4220-9471-C42B5E92719F",
"HashKey": "0a212417e65c26ff133cfff28f6c****"
}
错误码
|
HTTP status code |
错误码 |
错误信息 |
描述 |
|---|---|---|---|
| 400 | RequestTooFrequently | Request too frequently, please try again later | 请求太频繁,请稍后再试 |
| 400 | GetFileError | Get file error, please check input params and file size, and make sure upload file success. | 获取文件失败,请依次检查输入参数无误且文件大小未超出限制,并确认文件已上传成功。 |
| 400 | InvalidDownloadUrl | Invalid file download URL. | 无效的文件下载链接。 |
| 400 | FileSizeOverLimit | File size over limit. | 文件大小超出限制。 |
| 500 | ServerError | ServerError | 服务故障,请稍后重试! |
| 500 | SystemBusy | System busy, please try again later. | 系统繁忙,请稍后重试。 |
| 403 | NoPermission | caller has no permission | 当前操作未被授权,请联系主账号在RAM控制台进行授权后再执行操作。 |
访问错误中心查看更多错误码。
变更历史
更多信息,参考变更详情。