Partager via


Appeler une analyse

Le lancement d’une tâche d’analyse se fait en envoyant une requête POST à l’itinéraire analyze. L’analyse peut s’avérer un long processus qui dure généralement plus d’une minute. L’API fait tout d’abord une validation de base, lance la requête en arrière-plan en soumettant une tâche, puis répond avec un code de statut 202 et une en-tête Location ou avec les détails appropriés propres à l’erreur. La valeur d’en-tête Location est une URL qui peut être utilisée pour vérifier le statut de la requête et pour obtenir les URL des résultats. Il existe différentes options via l’action POST pour personnaliser la tâche selon vos critères, comme la liste des règles ou ensembles de règles, les fichiers à exclure de l’analyse, etc. Vous pouvez lancer l’analyse en utilisant la [Geographical URL]/api/analyze?api-version=1.0 suivante.

Note

Il est préférable d’attendre entre 15 et 60 secondes entre les contrôles de statut. L’analyse prend en général 1 à 5 minutes pour être exécutée.
Cette API a besoin d’un jeton OAuth.

En-têtes

Nom Type Valeur attendue Obligatoire ?
l’autorisation, chaîne Le jeton porteur OAuth 1 avec la demande d’ID d’application Microsoft Entra ID. oui
x-ms-tenant-id GUID L’ID du client pour l’application. oui
x-ms-correlation-id GUID L’identificateur pour l’exécution de l’analyse. Vous devez fournir le même identifiant pour l’exécution toute entière (chargement, analyse, statut). oui
Accepter objet application/json, application/x-ms-sarif-v2 oui
Accepter-Langue string Le(s) code(s) de langage (par ex., en-US). La valeur par défaut est fr-FR. Si plusieurs langues sont fournies, la première est la principale. Toutefois, toutes les traductions (si la langue est prise en charge) sont incluses. non

Corps

Options couramment utilisées :

Propriété Type Valeur attendue Obligatoire ?
sasUriList tableau de chaînes Une liste des URI qui offre l’accès au service pour télécharger une seule solution, un fichier zip contenant plusieurs fichiers de solution, ou un pack. Oui
ruleSets tableau personnalisé 0 ou plus Non
ruleSets.id GUID L’identifiant de l’ensemble des règles, qui peut être trouvé en interrogeant l’API de l’ensemble de règles. Non, mais c’est généralement ce que vous utiliseriez. Vous devez utiliser cela ou ruleCodes.
ruleCodes.code string L’identifiant de la règle souhaitée, qui peut être trouvé en interrogeant l’ensemble de règles et les API de règle. Non, vous devez utiliser cela ou ruleSets.
fileExclusions tableau de chaînes Une liste des noms de fichier ou schémas de nom de fichier à exclure. Le support existe pour utiliser « * » comme caractère générique au début et/ou à la fin d’un nom de fichier (par ex.,*jquery.dll et *jquery*). No

Réponses attendues

Code de statut HTTP Scénario Result
202 La demande d’analyse a été acceptée et l’URI de contrôle du statut a été renvoyé dans l’en-tête Location Aucun corps de résultat
400 Un fichier non zip a été envoyé, des paramètres incorrects ou un fichier a été inclus avec un virus Aucun corps de résultat
409 Une demande avec une valeur d’en-tête x-ms-correlation-id dupliquée a été envoyée Aucun corps de résultat

En-têtes de réponse attendue

Nom Type Valeur attendue Obligatoire ?
Location Uri URL à utiliser pour la recherche du statut actuel et pour obtenir les résultats oui

Exemple : lancer une analyse

Il s’agit d’un exemple de lancement d’une tâche d’analyse avec l’ensemble de règles Certification AppSource, un fichier unique, et d’exclusion des fichiers qui contiennent le texte jquery et json dans le nom.

Demande

POST [Geographical URI]/api/analyze?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

{
    "ruleSets": [{
        "id": "0ad12346-e108-40b8-a956-9a8f95ea18c9"
    }],
    "sasUriList": ["https://testenvfakelocation.blob.core.windows.net/mySolution.zip"],
    "fileExclusions": ["*jquery*", "*json*"]
}

Réponse

HTTP/1.1 202 Accepted
Content-Type: application/json; charset=utf-8
Location: [Geographical URI]/api/status/9E378E56-6F35-41E9-BF8B-C0CC88E2B832&api-version=1.0

Voir aussi

Utiliser l’API Web du vérificateur Power Apps
Récupérer la liste d’ensembles de règles
Récupérer la liste de règles
Télécharger un fichier
Vérifier le statut d’analyse