Вызов задания анализа
Инициирование задания анализа осуществляется путем отправки запроса POST
на маршрут analyze
. Анализ может быть длительным процессом, который обычно длится дольше минуты. API-интерфейс сначала выполняет некоторую базовую проверку, инициирует запрос на сервер, отправляя задание, затем отвечает с кодом состояния 202 и заголовком Location
или с соответствующей информацией об ошибке. Значение заголовка Location
— это URL-адрес, который можно использовать для проверки состояния запроса и для получения URL-адресов результатов. Существуют различные варианты через действие POST
по настройке задания в соответствии с вашими критериями, такими как список правил или наборов правил, файлы, исключаемые из анализа, и многое другое. Вы можете начать анализ, используя следующий [Geographical URL]/api/analyze?api-version=1.0
.
Заметка
Рекомендуется подождать от 15 до 60 секунд между проверками состояния. Анализ обычно занимает от 1 до 5 минут.
Для этого API требуется OAuth токен.
Заголовки
Полное имя | Type | Ожидаемое значение | Обязательное? |
---|---|---|---|
Авторизация | string | OAuth 1 токен на предъявителя с Microsoft Entra заявкой на идентификатор приложения. | 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 | Запрос на анализ принят, и 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 проверки
Получить список наборов правил
Получить список правил
Загрузить файл
Проверить статус анализа