叫用分析
起始分析工作是透過將 POST
要求提交至 analyze
路由來完成 。 分析可能會是長時間執行的過程,通常持續超過一分鐘。 API 首先會進行一些基本驗證、提交工作以在後端起始要求,然後以狀態碼 202 和 Location
標頭來回應,或是以適當的錯誤詳細資料來回應。 Location
標頭值是一個 URL,可用於檢查要求的狀態,以及取得結果的 URL。 有各種根據您的準則透過 POST
動作調整工作的選項,例如規則或規則集的清單、要從分析排除的檔案及其他。 您可以使用下列 [Geographical URL]/api/analyze?api-version=1.0
來起始分析。
Note
建議在狀態檢查之間等待 15 至 60 秒。 分析通常需要 1 到 5 分鐘的時間來執行。
此 API 需要令牌 OAuth 。
標頭
姓名 | 類型 | 預期值 | 是必要的嗎? |
---|---|---|---|
授權 | string | OAuth ID 為 Application ID 聲明的 Microsoft Entra 1 個持有者令牌。 | yes |
x-ms-tenant-id | GUID | 應用程式的用戶識別碼。 | 是 |
x-ms-correlation-id | GUID | 分析執行的識別碼。 您應該為整段執行 (上傳、分析、狀態) 提供相同的識別碼。 | 是 |
接受 | 物件 | application/json, application/x-ms-sarif-v2 |
是 |
Accept-Language | string | 語言代碼 (例如 en-US)。 預設值為 en-US。 如果提供多種語言,則第一個會是主要語言。 不過,將會包含所有翻譯 (如果支援該語言的話)。 | 否 |
本文
常用選項:
屬性 | 類型 | 預期值 | 是必要的嗎? |
---|---|---|---|
sasUriList | 字串陣列 | 提供服務單一解決方案下載存取權的 URI 清單、包含多個解決方案檔案的 zip 檔案,或是套件。 | 是 |
ruleSets | 自訂的陣列 | 0 或更多 | 否 |
ruleSets.id | guid | 規則集的識別碼,可透過查詢規則集 API 來尋找。 | 否,但這通常是您想要使用的屬性。 您必須使用此屬性或 ruleCodes。 |
ruleCodes.code | string | 所需規則的識別碼,可透過查詢規則集和規則 API 來尋找。 | 否,您必須使用此屬性或 ruleSets。 |
fileExclusions | 字串陣列 | 要排除的檔案名稱或檔案名稱模式清單。 存在對檔案名稱開頭和/或結尾使用 "*" 做為萬用字元 (例如,*jquery.dll 和 *jquery*) 的支援。 | 無 |
預期的回覆
HTTP 狀態碼 | 案例 | Result |
---|---|---|
202 | 已接受分析要求,而且已在 Location 標頭中傳回狀態檢查 URI |
沒有結果本文 |
400 | 已傳送非 zip 檔案、不正確的參數,或是已將檔案與病毒一起包含在其中 | 沒有結果本文 |
409 | 已傳送包含重複 x-ms-correlation-id 標頭值的要求 |
沒有結果本文 |
預期回應標頭
姓名 | 類型 | 預期值 | 是必要的嗎? |
---|---|---|---|
地點 | Uri | 要在查詢目前狀態時使用,以及要取得結果的 URL | 是 |
範例:起始分析
這是使用 AppSource Certification 規則集、單一檔案,以及排除名稱中包含文字 jquery 和 json 之檔案來起始分析工作的範例。
請求
POST [Geographical URI]/api/analyze?api-version=1.0
Accept: application/json
Content-Type: application/json; charset=utf-8
x-ms-correlation-id: aaaa0000-bb11-2222-33cc-444444dddddd
x-ms-tenant-id: aaaabbbb-0000-cccc-1111-dddd2222eeee
{
"ruleSets": [{
"id": "0ad12346-e108-40b8-a956-9a8f95ea18c9"
}],
"sasUriList": ["https://testenvfakelocation.blob.core.windows.net/mySolution.zip"],
"fileExclusions": ["*jquery*", "*json*"]
}
回覆
HTTP/1.1 202 Accepted
Content-Type: application/json; charset=utf-8
Location: [Geographical URI]/api/status/aaaa0000-bb11-2222-33cc-444444dddddd&api-version=1.0