CreateFileDetect - 文件推送检测

更新时间:
复制为 MD 格式

文件推送到云端检测。

接口说明

通过此接口将文件推送到云端检测,支持恶意文件检测和 Skill 压缩包检测两种场景。

文件上传方式

文件上传方式支持预先上传和下载链接。

如果使用预先上传的方式,调用前请确认文件已成功上传,文件上传方式参考 CreateFileDetectUploadUrl 接口。

如果使用下载链接的方式,请通过 DownloadUrl 参数传入可通过公网访问的下载链接。

恶意文件检测场景支持以上两种方式。Skill 压缩包检测场景(Type 为 6)暂不支持预先上传方式,只能传入下载链接。

文件唯一标识

文件检测相关接口均包含 HashKey 参数,表示此次检测文件的唯一标识,用于查询检测结果。

Skill 压缩包检测场景(Type 为 6)不需要提前计算 HashKey,本接口将会返回全局唯一的 UUID 作为文件标识,后续通过该标识查询结果。

恶意文件检测场景(Type 为 0)需要在调用接口前提前计算 HashKey,且仅支持传入文件完整内容的 MD5 或 SHA-256。

计算文件内容的 MD5 或 SHA-256 值可以参考以下两个步骤:

  1. 使用 MD5、SHA-256 算法对数据进行加密,生成 128 位或 256 位的散列值。现有工具库包括 Java 的 MessageDigest 工具、Python 的 hashlib 库等。

  2. 将生成的散列值编码为十六进制字符串形式,现有工具库包括 Java 的 Codec 工具、Python 的 hex 函数等。请确认最终生成的字符串为数字和小写英文字符的组合,MD5 为 32 个字符,SHA-256 为 64 个字符。

注意,单次检测的推送和查询接口必须使用同一个 HashKey,否则无法正确推送检测和查询结果。

调试

您可以在OpenAPI Explorer中直接运行该接口,免去您计算签名的困扰。运行成功后,OpenAPI Explorer可以自动生成SDK代码示例。

调试

授权信息

下表是API对应的授权信息,可以在RAM权限策略语句的Action元素中使用,用来给RAM用户或RAM角色授予调用此API的权限。具体说明如下:

  • 操作:是指具体的权限点。

  • 访问级别:是指每个操作的访问级别,取值为写入(Write)、读取(Read)或列出(List)。

  • 资源类型:是指操作中支持授权的资源类型。具体说明如下:

    • 对于必选的资源类型,用前面加 * 表示。

    • 对于不支持资源级授权的操作,用全部资源表示。

  • 条件关键字:是指云产品自身定义的条件关键字。

  • 关联操作:是指成功执行操作所需要的其他权限。操作者必须同时具备关联操作的权限,操作才能成功。

操作

访问级别

资源类型

条件关键字

关联操作

yundun-sas:CreateFileDetect

create

*全部资源

*

请求参数

名称

类型

必填

描述

示例值

SourceIp

string

访问源的 IP 地址。

115.213.XX.XX

Type

integer

需要检测的文件类型。取值:

  • 0:恶意文件检测

  • 6:Skill 压缩包检测

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

是否识别压缩包并解压。取值:

  • true:是。

  • false:否。

说明

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控制台进行授权后再执行操作。

访问错误中心查看更多错误码。

变更历史

更多信息,参考变更详情