Condividi tramite


Verificare lo stato dell'analisi

Viene restituito un URL come parte dell'intestazione Location in risposta a una richiesta all'API analyze. Deve essere utilizzato per eseguire la query tramite HTTP GET per lo stato del processo di analisi. Al termine del processo di analisi, il corpo della risposta includerà l'URL o l'elenco degli URL in cui è possibile scaricare l'output dei risultati. Continua a chiamare questo URI fino a quando non viene restituito un codice di stato HTTP di 200. Mentre il processo è ancora in esecuzione, verrà restituito un codice di stato HTTP 202 con l'intestazione Location contenente lo stesso URI restituito da analyze. Una volta restituita una risposta 200, la proprietà resultFileUris includerà la singola posizione o l'elenco delle posizioni scaricabili dell'output, che è contenuto in un file zip. Il file formattato Static Analysis Results Interchange Format (SARIF) V2 è incluso in questo zip di download che è un file JSON formattato contenente i risultati dell'analisi. Il corpo della risposta conterrà un oggetto IssueSummary che contiene un riepilogo del conteggio dei problemi rilevati.

Nota

Ti consigliamo di attendere da 15 a 60 secondi tra i controlli di stato. L'analisi richiede in genere da 1 a 5 minuti per l'esecuzione.
Questa API richiede un token che deve essere un token per la stessa applicazione client che ha avviato il processo di analisi. OAuth

Intestazioni

Name Type Valore previsto Obbligatorio?
Autorizzazione string Il token OAuth 1 portatore con Microsoft Entra rivendicazione ID applicazione. yes
x-ms-tenant-id GUID L'ID del tenant per l'applicazione.
x-ms-correlation-id GUID L'identificatore per l'esecuzione dell'analisi. Devi fornire lo stesso ID per l'intera esecuzione (caricamento, analisi, stato)

Risposte previste

Codice di stato HTTP Scenario Risultato
200 Sono stati trovati uno o più risultati Vedi l'esempio seguente. Verrà restituito un risultato.
202 Ancora in elaborazione Vedi l'esempio seguente. Verrà restituito un risultato.
403 Non consentito Il richiedente non è uguale all'autore della richiesta di analisi.
404 Non trovato Impossibile trovare la richiesta di analisi con il riferimento fornito nell'URL.

Intestazioni di risposte previste

Nome Tipo Valore previsto Obbligatorio?
Titolo uri URI da utilizzare nelle query per lo stato corrente e per ottenere i risultati

Corpo della risposta prevista

La tabella seguente delinea la struttura della risposta per ogni richiesta (solo risposta HTTP 200 o 202).

Proprietà Tipo Valore previsto Obbligatorio?
privacyPolicy string L'URI dell'informativa sulla privacy.
Avanzamento int Un valore compreso tra 0 e 100 percento, dove 10 indica che l'elaborazione è completata per circa il 10%.
runCorrelationId GUID Identificatore della richiesta incluso in ciascuna richiesta. Può essere usato per correlare la richiesta, se necessario.
stato string InProgress viene restituito quando il lavoro è ancora in fase di elaborazione. Failed viene restituito quando si è verificato un problema catastrofico durante l'elaborazione del processo sul server. Dovrebbero esserci più dettagli nella proprietà dell'errore. Finished viene restituito quando il lavoro è stato completato correttamente senza problemi. FinishedWithErrors viene restituito quando il lavoro è stato completato correttamente, tuttavia una o più regole non sono state completate senza errori. Questo è puramente un segnale per farti sapere che il report potrebbe non essere completo. Microsoft è a conoscenza di questi problemi nel backend e lavorerà per diagnosticarli e risolverli.
resultFileUris matrice di stringhe Elenco di URI che consentono il download diretto dell'output. Dovrebbe essercene uno per file incluso nella chiamata API di analisi originale. No. Questo è incluso solo quando l'elaborazione è stata completata.
issueSummary IssueSummary Proprietà elencate di seguito No. Questo è incluso solo quando l'elaborazione è stata completata.
issueSummary.criticalIssueCount int Numero di problemi identificati con una gravità critica nel risultato
issueSummary.highIssueCount int Numero di problemi identificati con una gravità alta nel risultato
issueSummary.mediumIssueCount int Numero di problemi identificati con una gravità media nel risultato
issueSummary.lowIssueCount int Numero di problemi identificati con una gravità bassa nel risultato
issueSummary.informationalIssueCount int Numero di problemi identificati con una gravità informativa nel risultato

Esempio: controllo dello stato al termine

In questo esempio viene emessa una chiamata di controllo dello stato con il risultato che è un completamento.

Richiesta

GET [Geographical URI]/api/status/aaaa0000-bb11-2222-33cc-444444dddddd&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

risposta

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":"aaaa0000-bb11-2222-33cc-444444dddddd","status":"Finished","issueSummary":
    {
        "informationalIssueCount":0,
        "lowIssueCount":0,
        "mediumIssueCount":302,
        "highIssueCount":30,
        "criticalIssueCount":0
    }
}

Vedi anche

Utilizzare l'API Web di controllo Power Apps
Recupera l'elenco dei set di regole
Recupera l'elenco delle regole
Carica un file
Invoca analisi