Partager via


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