Проверка на състоянието на анализ
URL адрес се връща като част от заглавката Location
в отговор на искане до analyze
API. Той трябва да се използва за заявки чрез HTTP GET
за състоянието на заданието за анализ. Когато задачата за анализ е завършена, органът за отговор ще включва URL адреса или списъка с URL адреси, в които резултатите от резултатите могат да бъдат изтеглени. Продължавайте да извиквате този URI, докато не се върне HTTP код на състоянието от 200. Докато заданието все още се изпълнява, HTTP състоянието код 202 ще бъде върнат със заглавка Location
, съдържаща същия този URI, който е върнат от analyze
. След като се върне 200 отговора, то свойството resultFileUris
ще включва единичния или списък на места за изтегляне на изхода, който се съдържа в zip файл. Формат за обмен на резултати от статичен анализ (SARIF) V2 форматиран файл е включен в това изтегляне на zip, което е JSON
форматиран файл, съдържащ резултатите от анализа. Основният текст на отговор ще съдържа IssueSummary
обект, който съдържа обобщение на броя на намерените проблеми.
Бележка
Препоръчва се да изчакате между 15 и 60 секунди между проверките на състоянието. Обикновено анализът отнема между 1 до 5 минути.
Този API изисква OAuth маркер, който трябва да е маркер за същото клиентско приложение, което е инициирало задачата за анализ.
Заглавки
Име | Тип | Очаквана стойност | Задължително? |
---|---|---|---|
Удостоверяване | string | Токенът OAuth на 1 приносител с Microsoft Entra заявление за идентификационен номер на приложението. | да |
x-ms-tenant-id | GUID | Идентификационен номер на клиента за приложението. | да |
x-ms-correlation-id | GUID | Идентификаторът за извършване на анализа. Трябва да предоставите един и същ идентификационен номер за цялото изпълнение (качване, анализ, състояние) | да |
Очаквани отговори
Код на състояние на HTTP | Сценарий | Резултат |
---|---|---|
200 | Намерени са един или повече резултати | Вижте примера по-долу. Един резултат ще бъде върнат. |
202 | Още се обработва | Вижте примера по-долу. Един резултат ще бъде върнат. |
403 | Забранено | Заявителят не е същият като инициатора на заявката за анализ. |
404 | Не е открито | Не може да се намери заявката за анализ с препратката, предоставена в URL адреса. |
Очаквани заглавки на отговорите
Име | Тип | Очаквана стойност | Задължително? |
---|---|---|---|
Местоположение | uri | URI, който да използвате при запитване за текущото състояние и за получаване на резултатите | да |
Основен текст на очакван отговор
Следващата таблица очертава структурата на отговора за всяка заявка (само HTTP 200 или 202 отговор).
Свойство | Тип | Очаквана стойност | Задължително? |
---|---|---|---|
privacyPolicy | string | URI на политиката за поверителност. | Да |
Ход на изпълнение | целочислен | Стойност, варираща от 0-100 процента завършена, където 10 означава, че обработката е приблизително 10% завършена. | Да |
runCorrelationId | GUID | Идентификаторът на заявка, който е включен във всяка заявка. Това може да се използва за корелация на заявката, ако е необходимо. | Да |
състояние | string | InProgress се връща, когато заданието все още се обработва. Failed се връща, когато е възникнал катастрофален проблем при обработката на задачата на сървъра. Трябва да има повече подробности в свойството за грешка. Finished се връща, когато задачата е завършена успешно без проблеми. FinishedWithErrors се връща, когато задачата е завършена успешно, но едно или повече правила не са успели да бъдат изпълнени без грешка. Това е чисто сигнал, за да знаете, че докладът може да не е пълен. Microsoft е наясно с тези проблеми в бекенд и ще работи, за да диагностицира и адресира нещата. |
Да |
resultFileUris | масив от низове | Списък на URI, които позволяват директно изтегляне на изхода. Трябва да има по един файл, който е включен в оригиналния разговор на API за анализ. | Не. Това се включва само когато обработката приключи. |
issueSummary | IssueSummary | Изброени по-долу свойства | Не. Това се включва само когато обработката приключи. |
issueSummary.criticalIssueCount | целочислен | Брой идентифицирани проблеми, имащи критична тежест в резултата | Да |
issueSummary.highIssueCount | целочислен | Брой идентифицирани проблеми, имащи голяма тежест в резултата | Да |
issueSummary.mediumIssueCount | целочислен | Брой идентифицирани проблеми, имащи средна тежест в резултата | Да |
issueSummary.lowIssueCount | целочислен | Брой идентифицирани проблеми, имащи малка тежест в резултата | Да |
issueSummary.informationalIssueCount | целочислен | Брой идентифицирани проблеми, имащи информативна тежест в резултата | Да |
Пример: проверка на състоянието, когато сте готови
Този пример издава повикване за проверка на състоянието, като резултатът е завършване.
Молба
GET [Geographical URI]/api/status/9E378E56-6F35-41E9-BF8B-C0CC88E2B832&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
отговор
HTTP/1.1 200 OK
Content-Type: application/json; charset=utf-8
{
"privacyPolicy":"https://go.microsoft.com/fwlink/?LinkID=310140",
"progress":100,
"resultFileUris":["https://fakeblob.blob.core.windows.net/report-files/mySolution.zip?sv=2017-11-09&sr=b&sig=xyz&se=2019-06-11T20%3A27%3A59Z&sp=rd"],"runCorrelationId":"9E378E56-6F35-41E9-BF8B-C0CC88E2B832","status":"Finished","issueSummary":
{
"informationalIssueCount":0,
"lowIssueCount":0,
"mediumIssueCount":302,
"highIssueCount":30,
"criticalIssueCount":0
}
}
Вижте също
Използвайте уеб API за Power Apps проверка
Извличане на списъка с набори от правила
Извличане на списъка с правила
Качване на файл
Анализ на извикване