Поділитися через


Виклик аналізу

Ініціювання завдання аналізу виконується шляхом надсилання запиту POST до маршруту analyze. Аналіз може бути довгим процесом, який зазвичай триває довше хвилини. API спочатку робить деякі базові перевірки, ініціює запит на стороні сервера, надсилаючи завдання, а потім відповідає з кодом стану 202 і заголовком Location або з відповідними відомостями про помилку. Значення заголовка Location — це URL-адреса, яку можна використовувати для перевірки стану запиту та отримання URL-адрес результатів. Існують різноманітні параметри в дії POST для налаштування завдання залежно від критеріїв, наприклад списку правил або наборів правил, файлів, які потрібно виключити з аналізу, тощо. Аналіз можна ініціювати за допомогою наступного [Geographical URL]/api/analyze?api-version=1.0.

Нотатка

Рекомендується зачекати від 15 до 60 секунд між перевірками стану. Зазвичай аналіз триває від 1 до 5 хвилин.
Для цього API потрібен токен. OAuth

Заголовки

Ім'я Ввести Очікуване значення Обов’язкове?
Авторизація рядок Токен OAuth на 1 пред’явника з Microsoft Entra ID заявки ID. так
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*). No

Очікувані відповіді

Код стану HTTP Сценарій Результат
202 Запит на аналіз був прийнятий і повернуто стан перевірки URI у заголовку Location Текст без результатів
400 Був надісланий файл не у форматі ZIP, неправильні параметри або файл було включено з вірусом Текст без результатів
409 Надіслано запит з повторюваним значенням заголовка x-ms-correlation-id Текст без результатів

Очікувані заголовки відповіді

Ім'я Тип Очікуване значення Обов’язкове?
Розташування URI URL-адреса для використання в запитах поточного стану та отримання результатів так

Приклад: ініціювати аналіз

Це приклад ініціювання завдання аналізу з набором правил Сертифікація AppSource, одним файлом і виключенням файлів, які містять текст 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

Статті за темою:

Використовуйте Power Apps веб-API чекера
Отримання списку наборів правил
Отримати список правил
Завантажити файл
Перевірка статусу аналізу