Перевірка стану аналізу
URL-адреса повертається як частина заголовка Location
у відповідь на запит до API analyze
. Вона має використовуватися для запиту через функцію GET
HTTP для стану завдання аналізу. Після завершення завдання аналізу текст відповіді включатиме URL-адресу або список URL-адрес, за якими можна завантажити вихідні дані результатів. Продовжуйте викликати цей URI, доки не буде повернуто код стану HTTP 200. Поки завдання ще виконується, із заголовком Location
буде повернуто код стану HTTP 202, який містить той самий URI, який було повернуто з analyze
. Після повернення відповіді 200 властивість resultFileUris
буде включати одне розташування або список розташувань для завантаження вихідних даних, що містяться в ZIP-файлі. Файл у форматі Static Analysis Results Interchange Format (SARIF) версії 2 включено в цей завантажуваний ZIP-файл (файл у форматі JSON
, що містить результати аналізу). Текст відповіді буде містити об’єкт IssueSummary
, який містить зведення про кількість знайдених проблем.
Нотатка
Рекомендується зачекати від 15 до 60 секунд між перевірками стану. Зазвичай аналіз триває від 1 до 5 хвилин.
Цей API вимагає токена OAuth , який має бути токеном для тієї ж клієнтської програми, яка ініціювала завдання аналізу.
Заголовки
Ім'я | Ввести | Очікуване значення | Обов’язкове? |
---|---|---|---|
Авторизація | рядок | Токен 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, який дозволяє пряме завантаження вихідних даних. Має бути включено один URI на файл, який було додано до вихідного виклику API аналізу. | Ні. URI додається лише після завершення обробки. |
issueSummary | IssueSummary | Властивості, перелічені нижче | Ні. URI додається лише після завершення обробки. |
issueSummary.criticalIssueCount | ціле | Кількість виявлених проблем із критичним рівнем важливості в результаті | Так |
issueSummary.highIssueCount | ціле | Кількість виявлених проблем із високим рівнем важливості в результаті | Так |
issueSummary.mediumIssueCount | ціле | Кількість виявлених проблем із середнім рівнем важливості в результаті | Так |
issueSummary.lowIssueCount | ціле | Кількість виявлених проблем із низьким рівнем важливості в результаті | Так |
issueSummary.informationalIssueCount | ціле | Кількість виявлених проблем із інформаційним рівнем важливості в результаті | Так |
Приклад: перевірка стану після завершення
Цей приклад видає виклик перевірки стану з результатом "Завершено".
Просити
GET [Geographical URI]/api/status/aaaa0000-bb11-2222-33cc-444444dddddd&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
відповідь
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":"aaaa0000-bb11-2222-33cc-444444dddddd","status":"Finished","issueSummary":
{
"informationalIssueCount":0,
"lowIssueCount":0,
"mediumIssueCount":302,
"highIssueCount":30,
"criticalIssueCount":0
}
}
Статті за темою:
Використовуйте Power Apps веб-API чекера
Отримання списку наборів правил
Отримати список правил
Завантажити файл
Аналіз виклику