Analyse aufrufen

Die Initiierung eines Analyseauftrags erfolgt, indem eine POST-Anforderung zur analyze-Route gesendet wird. Die Analyse kann ein langer laufender Prozess sein, der meist länger dauert als eine Minute. Die API nimmt zunächst einige grundlegende Überprüfungen vor, initiiert die Anforderung im Backend durch Senden eines Auftrags und antwortet dann mit einem 202-Statuscode und einem Location-Kopf oder mit den entsprechenden Fehlerdetails. Der Location-Kopfzeilenwert ist eine URL, die verwendet werden kann, um den Status der Anforderung zu überprüfen und die URLs der Ergebnisse zu erhalten. Es stehen verschiedenste Optionen über die POST-Aktion zur Verfügung, um den Auftrag entsprechend Ihren Kriterien anzupassen, wie die Liste von Regeln oder Regelsätzen, aus der Analyse auszuschließende Dateien und mehr. Sie können die Analyse mithilfe der folgenden [Geographical URL]/api/analyze?api-version=1.0 initiieren.

Notiz

Es wird empfohlen, 15 bis 60 Sekunden zwischen den Statusprüfungen zu warten. Die Analyse wird in der Regel in nur 1 bis 5 Minuten ausgeführt.
Die API erfordert ein OAuth-Token.

Kopfzeilen

Name Typ Erwarteter Wert Erforderlich?
Autorisierung string Das OAuth-1-Bearertoken mit Microsoft Entra-ID-Anwendungs-ID-Anspruch. yes
x-ms-tenant-id GUID Die ID des Mandanten für die Anwendung. Ja
x-ms-correlation-id GUID Der Bezeichner für die Analyseausführung. Sie sollten dieselbe ID für die gesamte Ausführung angeben (Upload, Analyse, Status). Ja
Akzeptieren Objekt application/json, application/x-ms-sarif-v2 Ja
Sprache-akzeptieren Zeichenfolge Der Sprachcode oder die Codes (z. B. en-US). Der Standard ist en-US. Falls mehrere Sprachen angegeben sind, ist die erste die primäre Sprache. Allerdings sind alle Übersetzungen (sofern die Sprache unterstützt wird) enthalten. nein

Textkörper

Allgemein verwendete Optionen:

Eigenschaft Typ Erwarteter Wert Erforderlich?
sasUriList Zeichenfolgenarray Eine Liste der URIs, die den Servicezugang bietet, um eine zentrale Lösung, eine ZIP-Datei mit mehreren Lösungsdateien oder ein Paket herunterzuladen. Ja
ruleSets Array von benutzerdefinierten 0 oder mehr Nein
ruleSets.id guid Die ID des Regelsatzes, der gesucht werden kann, indem die Regelsatz-API abgefragt wird. Nein, dies ist jedoch das, was Sie meist verwenden würden. Sie müssen entweder dies oder ruleCodes verwenden.
ruleCodes.code Zeichenfolge Die ID der gewünschten Regel, die gesucht werden kann, indem die Regelsatz- und Regel-APIs abgefragt werden. Nein, Sie müssen entweder dies oder ruleSets verwenden.
fileExclusions Zeichenfolgenarray Eine Liste der auszuschließenden Dateinamen oder Dateinamenmuster. Unterstützung gibt es für die Verwendung von „*“ als Platzhalter am Anfang und/oder Ende eines Dateinamens (z. B. *jquery.dll und *jquery*). Nein

Erwartete Antworten

HTTP-Statuscode Szenario Result
202 Die Analyseanforderung wurde akzeptiert und der Statusprüfungs-URI wurde in der Location-Kopfzeile zurückgegeben Kein Ergebnistext
400 Eine Nicht-ZIP-Datei wurde gesendet, falsche Parameter, oder eine Datei wurde mit einem Virus eingeschlossen Kein Ergebnistext
409 Eine Anfrage mit einem doppelten x-ms-correlation-id-Kopfzeilenwert wurde gesendet Kein Ergebnistext

Erwartete Antwortkopfzeilen

Name Typ Erwarteter Wert Erforderlich?
Location Uri URL zum Verwenden in Abfragen für den aktuellen Status und zum Abrufen der Ergebnisse Ja

Beispiel: eine Analyse initiieren

Dies ist ein Beispiel des Initiierens eines Analyseauftrags mit dem AppSource Zertifizuierungs-Regelsatz, einer einzelnen Datei und des Ausschließens von Dateien, die den Text jquery und json im Namen enthalten.

Anforderung

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*"]
}

Antwort

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

Siehe auch

Verwenden der Power Apps-Überprüfungs-Web-API
Abrufen der Regelsatz-Liste
Abrufen der Regel-Liste
Hochladen einer Datei
Überprüfen des Analysestatus