Vérifier le statut d’analyse
Une URL a renvoyée dans l’en-tête Location
en réponse à une requête vers l’API analyze
. Elle doit être utilisée pour exécuter une requête via le GET
HTTP pour le statut de la tâche d’analyse. Une fois la tâche d’analyse terminée, le corps de la réponse inclura l’URL ou la liste des URL dans laquelle les résultats peuvent être téléchargés. Continuez à appeler cet URI tant que le code du statut HTTP 200 est renvoyé. Même si la tâche est encore en cours d’exécution, un code de statut HTTP 202 sera renvoyé avec l’en-tête Location
contenant ce même URI qui a été renvoyé de analyze
. Une fois qu’une réponse 200 est renvoyée, la propriété resultFileUris
inclut le seul emplacement téléchargeable ou la liste des emplacements téléchargeables de la sortie, contenu dans un fichier zip. Un fichier Static Analysis Results Interchange Format (SARIF) V2 formaté est inclus dans ce téléchargement de zip qui est un fichier JSON
formaté contenant les résultats de l’analyse. Le corps de réponse contient un objet IssueSummary
qui contient un résumé du nombre de problèmes identifiés.
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 qui doit être un jeton pour la même application cliente qui a lancé la tâche d’analyse. OAuth
En-têtes
Nom | Type | Valeur attendue | Obligatoire ? |
---|---|---|---|
l’autorisation, | chaine | Le jeton porteur OAuth 1 avec la revendication d’ID d’application. Microsoft Entra | 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 |
Réponses attendues
Code de statut HTTP | Scénario | Résultat |
---|---|---|
200 | Un ou plusieurs résultats ont été trouvés. | Consultez l’exemple ci-dessous. Un résultat est renvoyé. |
202 | Traitement toujours en cours | Consultez l’exemple ci-dessous. Un résultat est renvoyé. |
403 | Interdit | Le demandeur est différent du créateur de la requête pour analyse. |
404 | Introuvable | Impossible de trouver la requête d’analyse avec la référence fournie dans l’URL. |
En-têtes de réponse attendue
Nom | Type | Valeur attendue | Obligatoire ? |
---|---|---|---|
Location | uri | URI à utiliser pour la recherche du statut actuel et pour obtenir les résultats | oui |
Corps de réponse attendue
Le tableau suivant présente la structure de la réponse pour chaque réponse (réponse HTTP 200 ou 202 uniquement).
Propriété | Type | Valeur attendue | Obligatoire ? |
---|---|---|---|
privacyPolicy | string | L’URI d’une politique de confidentialité. | Oui |
progress | int | Une valeur de pourcentage d’exécution comprise entre 0 et 100, où 10 signifie que le traitement est effectué à 10 %. | Oui |
runCorrelationId | GUID | L’identificateur de demande inclus dans chaque demande. Il peut être utilisé en référence à la demande, si nécessaire. | Oui |
statut | string | InProgress est renvoyé lorsque le travail est toujours en cours de traitement. Failed est renvoyé lorsqu’un problème catastrophique s’est produit lors du traitement du travail sur le serveur. La propriété d’erreur doit contenir plus de détails. Finished est renvoyé lorsque le travail s’est terminé avec succès sans problème. FinishedWithErrors est renvoyé lorsque le travail s’est terminé avec succès, mais qu’une ou plusieurs règles n’ont pas pu se terminer sans erreur. Cela vous indique que le rapport n’est peut être pas terminé. Microsoft est conscient de ces problèmes dans le backend et travaillera pour que les choses soient diagnostiquées et traitées. |
Oui |
resultFileUris | tableau de chaînes | Une liste d’URI autorisant le téléchargement direct du résultat. Il doit y en avoir un par fichier inclus dans l’appel d’API d’analyse d’origine. | Non. Cela est inclus uniquement une fois le traitement terminé. |
issueSummary | IssueSummary | Propriétés répertoriées ci-dessous | Non. Cela est inclus uniquement une fois le traitement terminé. |
issueSummary.criticalIssueCount | int | Nombre de problèmes repérés ayant une gravité majeure dans le résultat | Oui |
issueSummary.highIssueCount | int | Nombre de problèmes repérés ayant une gravité importante dans le résultat | Oui |
issueSummary.mediumIssueCount | int | Nombre de problèmes repérés ayant une gravité moyenne dans le résultat | Oui |
issueSummary.lowIssueCount | int | Nombre de problèmes repérés ayant une gravité faible dans le résultat | Oui |
issueSummary.informationalIssueCount | int | Nombre de problèmes repérés ayant une gravité informationnelle dans le résultat | Oui |
Exemple : vérification du statut une fois terminé
Cet exemple publie un appel de vérification de statut avec le résultat une fois terminé.
Demande
GET [Geographical URI]/api/status/9E378E56-6F35-41E9-BF8B-C0CC88E2B832&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
réponse
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":"9E378E56-6F35-41E9-BF8B-C0CC88E2B832","status":"Finished","issueSummary":
{
"informationalIssueCount":0,
"lowIssueCount":0,
"mediumIssueCount":302,
"highIssueCount":30,
"criticalIssueCount":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
Invoquer l’analyse