调用分析

通过POST请求 analyze 例程启动分析作业。 分析的运行时间可能很,持续时间通常超过一分钟。 API 首先执行一些基本验证,通过提交作业在后端启动请求,然后使用状态代码 202 和 Location 标头或响应错误详细信息进行响应。 Location 标头值是 URL,可用于检查请求的状态和获取结果的 URL。 POST 操作提供多种选项,用于根据条件(如规则或规则集的列表、分析中要排除的文件等)调整作业。 可以使用以下 [Geographical URL]/api/analyze?api-version=1.0 启动分析。

备注

建议在两次状态检查之间等待 15 到 60 秒。 通常需要 1 到 5 分钟才能完成分析的运行。
此 API 不需要 OAuth 令牌。

标头

客户 Type 预期值 是否为必填?
授权 字符串 包含 Microsoft Entra ID 应用程序 ID 声明的 OAuth 1 持有者令牌。
x-ms-tenant-id GUID 应用程序的租户的 ID。
x-ms-correlation-id GUID 分析运行的标识符。 应该为整个执行(上载、分析、状态)提供同一个 ID。
接受 对象 application/json, application/x-ms-sarif-v2
Accept-Language 字符串 语言代码(例如,en-US)。 默认值为 en-US。 如果提供了多种语言,则第一种语言为主语言。 但是,将包含所有翻译(如果支持该语言)。

正文​​

常用选项:

属性 类型 预期值 是否为必填?
sasUriList 字符串数组 URI 的列表,这些 URI 提供服务访问权限以下载单个解决方案、包含多个解决方案文件的 zip 文件,或数据包。
ruleSets 自定义的数组 0 或更多
ruleSets.id guid 规则集的 ID,可以通过查询规则集 API 找到。 否,但是这是您通常需要使用的。 必须使用此项或 ruleCodes。
ruleCodes.code string 所需规则的 ID,可以通过查询规则集和规则 API 找到。 否,必须使用此项或 ruleSets。
fileExclusions 字符串数组 要排除的文件名或文件名模式的列表。 支持在文件名开始/或结束位置使用“*”作为通配符(例如,*jquery.dll 和 *jquery*)。 No

预期响应

HTTP 状态代码 场景 结果
202 接受了分析请求,并且在 Location 标头中返回了状态检查 URI 无结果正文
400 发送了非 zip 文件,参数不正确或包含的文件中有病毒 无结果正文
409 发送了 x-ms-correlation-id 标头值重复的请求 无结果正文

预期响应标头

客户 Type 预期值 是否为必填?
Location Uri 用于查询当前状态和获取结果的 URL

示例:启动分析

这是使用 AppSource 认证规则集(这是一个文件)启动分析作业,并排除名称中包含 jqueryjson 的文件的示例。

请求

POST [Geographical URI]/api/analyze?api-version=1.0
Accept: application/json
Content-Type: application/json; charset=utf-8
x-ms-correlation-id: 9E378E56-6F35-41E9-BF8B-C0CC88E2B832
x-ms-tenant-id: F2E60E49-CB87-4C24-8D4F-908813B22506

{
    "ruleSets": [{
        "id": "0ad12346-e108-40b8-a956-9a8f95ea18c9"
    }],
    "sasUriList": ["https://testenvfakelocation.blob.core.windows.net/mySolution.zip"],
    "fileExclusions": ["*jquery*", "*json*"]
}

Response

HTTP/1.1 202 Accepted
Content-Type: application/json; charset=utf-8
Location: [Geographical URI]/api/status/9E378E56-6F35-41E9-BF8B-C0CC88E2B832&api-version=1.0

另请参阅

使用 Power Apps 检查器 Web API
检索规则集列表
检索规则列表
上载文件
检查分析状态