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 nécessite un jeton. OAuth
En-têtes
Nom | Type | Valeur attendue | Obligatoire ? |
---|---|---|---|
l’autorisation, | chaine | Le jeton porteur OAuth 1 avec Microsoft Entra ID d’application ID de revendication. | yes |
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
Utilisez l’API Web du vérificateur Power Apps
Récupérer la liste des ensembles de règles
Récupérer la liste des règles
Télécharger un fichier
Vérifier l’état de l’analyse