Hinweis
Für den Zugriff auf diese Seite ist eine Autorisierung erforderlich. Sie können versuchen, sich anzumelden oder das Verzeichnis zu wechseln.
Für den Zugriff auf diese Seite ist eine Autorisierung erforderlich. Sie können versuchen, das Verzeichnis zu wechseln.
In diesem Artikel wird erläutert, wie Sie die API-Analyse im Azure API Center aktivieren, um ein Lintingmodul und Trigger einzurichten. Diese Funktionen analysieren Ihre API-Definitionen zur Einhaltung von Regeln des Organisationsstils und generieren einzelne und zusammenfassende Berichte. Die API-Analyse hilft dabei, häufige Fehler und Inkonsistenzen in Ihren API-Definitionen zu erkennen.
Die folgenden Verfahren unterstützen die automatisierte Bereitstellung der Linting-Engine und des Ereignisabonnements in Ihrem API-Zentrum. Verwenden Sie die Azure Developer CLI (azd) für die bereitstellung der Lintinginfrastruktur in einem Schritt für einen optimierten Bereitstellungsprozess. Die Azure CLI Befehlsbeispiele können in PowerShell oder einer Bash-Shell ausgeführt werden. Bei Bedarf werden separate Befehlsbeispiele bereitgestellt.
Wenn Sie das Modul und die Ressourcen lieber über manual deployment einrichten möchten, lesen Sie das Azure API Center Analyzer GitHub Repository, um Anleitungen zur Bereitstellung der Funktions-App und zum Konfigurieren des Ereignisabonnements zu erhalten.
Hinweis
Azure API Center konfiguriert automatisch eine Standard-Linting-Engine sowie die Abhängigkeiten für die API-Analyse. Wenn Sie selbstverwaltete Analysen aktivieren, wie in diesem Artikel beschrieben, überschreiben Sie diese integrierten Features.
Übersicht über das Szenario
In diesem Szenario analysieren Sie API-Definitionen im API Center mithilfe des Spectral open source Lintingmoduls. Eine Funktions-App, die mit Azure Functions erstellt wurde, führt das Lintingmodul als Reaktion auf Ereignisse im API Center aus. Spectral prüft, ob die in einem JSON- oder YAML-Spezifikationsdokument definierten APIs den Regeln in einer anpassbaren API-Stilrichtlinie entsprechen. Es wird ein Analysebericht generiert, den Sie in Ihrem API Center anzeigen können.
Das folgende Diagramm zeigt die Schritte zum Aktivieren von Linten und Analyse im API Center.
Stellen Sie eine Funktions-App bereit, die das Spectral-Linting-Modul auf eine API-Definition anwendet.
Konfigurieren Sie ein Ereignisabonnement in einem Azure API Center, das die Funktions-App auslöst.
Ein Ereignis wird ausgelöst, indem eine API-Definition im API Center hinzugefügt oder ersetzt wird.
Beim Empfangen des Ereignisses ruft die Funktions-App die Spektral-Linting-Engine auf.
Die Linting-Engine überprüft, ob die in der Definition definierten APIs dem API-Stilleitfaden der Organisation entsprechen und einen Bericht generiert.
Zeigen Sie den Analysebericht im API-Zentrum an.
Begrenzungen
Linten unterstützt derzeit nur JSON- oder YAML-Spezifikationsdateien, z. B. OpenAPI- oder AsyncAPI-Spezifikationsdokumente.
Standardmäßig verwendet die Linting-Engine das integrierte
spectral:oasRegelset. Informationen zum Erweitern des Regelsatzes oder Erstellen von benutzerdefinierten API-Formatvorlagen finden Sie im Spectral-Repository auf GitHub.Die Funktions-App, die Linting aufruft, wird separat berechnet, und Sie sind für ihre Verwaltung und Wartung zuständig.
Voraussetzungen
Ein API-Center in Ihrem Azure-Abonnement. Informationen zum Erstellen eines Abonnements finden Sie in der Schnellstartanleitung: Erstellen Ihres API-Centers.
Der Event Grid-Ressourcenanbieter, der in Ihrem Abonnement registriert ist. Wenn Sie den Event Grid-Ressourcenanbieter registrieren müssen, lesen Sie Ereignisse abonnieren, die von einem Partner mit Azure Event Grid veröffentlicht wurden.
Azure Developer CLI (azd). Installieren Sie
azdauf Ihrem Computer in der Umgebung, die Sie für das folgende Verfahren verwenden möchten.Azure Functions Core Tools. Installieren Sie die Kerntools auf Ihrem Computer in der Umgebung, die Sie für das folgende Verfahren verwenden möchten. Stellen Sie sicher, dass die Tools von Ihren
PATHEinstellungen erreichbar sind.Für Azure CLI:
Verwenden Sie die Bash-Umgebung in Azure Cloud Shell. Weitere Informationen finden Sie unter Get started mit Azure Cloud Shell.
Wenn Sie CLI-Referenzbefehle lieber lokal ausführen möchten, install die Azure CLI. Wenn Sie Windows oder macOS verwenden, ziehen Sie in Betracht, Azure CLI in einem Docker-Container auszuführen. Weitere Informationen finden Sie unter How to run the Azure CLI in a Docker container.
Wenn Sie eine lokale Installation verwenden, melden Sie sich mit dem Befehl az login beim Azure CLI an. Führen Sie die in Ihrem Terminal angezeigten Schritte aus, um den Authentifizierungsprozess abzuschließen. Weitere Anmeldeoptionen finden Sie unter Authentifizierung bei Azure mithilfe von Azure CLI.
Wenn Sie dazu aufgefordert werden, installieren Sie die Azure CLI Erweiterung bei der ersten Verwendung. Weitere Informationen zu Erweiterungen finden Sie unter Use and manage extensions with the Azure CLI.
Führen Sie az version aus, um die Version und die Abhängigkeitsbibliotheken zu finden, die installiert sind. Um auf die neueste Version zu aktualisieren, führen Sie az upgrade aus.
Hinweis
Für die Befehle
az apicist die Erweiterungapic-extensionAzure CLI erforderlich. Die Erweiterung kann dynamisch installiert werden, wenn Sie den erstenaz apicBefehl ausführen, oder Sie können die Erweiterung manuell installieren. Weitere Informationen finden Sie unter Manage Azure CLI Extensions: Install, Update, and Remove.Die neuesten Änderungen und Updates in der
apic-extensionfinden Sie in den Versionshinweisen. Für bestimmte Features ist möglicherweise eine Vorschau oder eine bestimmte Version der Erweiterung erforderlich.
Verwenden Sie die azd-Bereitstellung für die Function-App und das Event-Abonnement
Die folgenden Verfahren stellen automatisierte Schritte für die Azure Developer CLI (azd) bereit, um die Funktions-App und das Ereignisabonnement zu konfigurieren, die Linting und Analyse in Ihrem API Center ermöglichen.
Hinweis
Wenn Sie das Modul und die Ressourcen lieber mit manual deployment einrichten möchten, lesen Sie den Azure API Center Analyzer GitHub Repository, um Anleitungen zur Bereitstellung der Funktions-App und zum Konfigurieren des Ereignisabonnements zu erhalten.
Ausführen des Beispiels mithilfe von azd
Klonen Sie das Beispiel Azure API Center Analyzer GitHub Repository auf Ihrem lokalen Computer.
Starten Sie Visual Studio Code, und wählen Sie File>Open Folder (Ctrl+K aus, Ctrl+O). Navigieren Sie zum
APICenter-AnalyzerOrdner für das geklonte Repository, und wählen Sie "Ordner auswählen" aus.Visual Studio Code Activity Bar wählen Sie Explorer (Ctrl+Shift+E) aus, damit Sie die Repositoryordnerstruktur anzeigen können.
Erweitern Sie den
resources/rulesetsOrdner, und beachten Sie dieoas.yamlDatei. Diese Datei spiegelt Ihr aktuelles API-Stilhandbuch wider. Sie können diese Datei ändern, um Ihre Organisationsanforderungen zu erfüllen.Erweitern Sie den
src/functionsOrdner, und beachten Sie dieApiAnalyzerFunction.tsDatei. Diese Datei stellt den Funktionscode für die Funktions-App bereit. Sie können diese Datei ändern, um das Funktionsverhalten an Ihre Anwendungsanforderungen anzupassen.
Öffnen Sie ein Terminal in Visual Studio Code, und authentifizieren Sie sich bei der Azure Developer CLI (
azd):azd auth loginTipp
Sie können Authentifizierungsprobleme in Entwicklungsumgebungen vermeiden, indem Sie die folgenden Befehle ausführen:
- Erstellen sie eine neue Entwicklungsumgebung:
azd env new - Abrufen Ihrer Mandanten-ID:
az account show --query tenantId -o tsv(Kopieren Sie die Ausgabe-ID für später) - Abmelden:
azd auth logoutBefehl - Melden Sie sich bei
azdmit IhremtenantId-Wert aus Schritt 2 an:azd auth login --tenant-id <tenant_ID>
Wenn Sie sich erfolgreich authentifizieren, wird in der Befehlsausgabe Logged in Azure als <your_user_alias> angezeigt.
- Erstellen sie eine neue Entwicklungsumgebung:
Melden Sie sich als Nächstes mit dem Azure CLI bei der Azure portal an:
az loginSie werden aufgefordert, Ihre Anmeldeinformationen einzugeben, um sich bei Azure anzumelden.
Ein Browserfenster bestätigt Ihre erfolgreiche Anmeldung. Schließen Sie das Fenster, und kehren Sie zu dieser Prozedur zurück.
Führen Sie den folgenden Befehl aus, um die Lintinginfrastruktur für Ihr Azure-Abonnement bereitzustellen.
Für diesen Befehl benötigen Sie die folgenden Informationen. Die meisten dieser Werte sind auf der Seite Overview für Ihre API Center-Ressource im Azure portal verfügbar.
- Abonnementname und -ID
- API-Zentrum Name
- Ressourcengruppenname für das API Center
- Bereitstellungsbereich für die Funktions-App (kann sich von Ihrer API Center-Region unterscheiden)
azd upFolgen Sie den Anweisungen, um die erforderlichen Bereitstellungsinformationen und -einstellungen bereitzustellen. Weitere Informationen finden Sie unter Ausführen des Beispiels mit dem Azure Developer CLI (azd).
Wenn die Bereitstellung fortschreitet, zeigt die Ausgabe die abgeschlossenen Bereitstellungsaufgaben an:
Hinweis
Es kann mehrere Minuten dauern, bis die Funktions-App bereitgestellt und für Azure bereitgestellt wird.
Packaging services (azd package) (✓) Done: Packaging service function - Build Output: C:\GitHub\APICenter-Analyzer - Package Output: C:\Users\<user>\AppData\Local\Temp\api-center-analyzer-function-azddeploy-0123456789.zip Loading azd .env file from current environment Provisioning Azure resources (azd provision) Provisioning Azure resources can take some time. Subscription: <your_selected_subscription> Location: <your_selected_region_for_this_process> You can view detailed progress in the Azure Portal: https://portal.azure.com/#view/HubsExtension/DeploymentDetailsBlade/~/overview/id/%2Fsubscriptions%2F00001111-a2a2-b3b3-c4c4-dddddd555555%2Fproviders%2FMicrosoft.Resources%2Fdeployments%2F<your_azd_environment_name-0123456789> (✓) Done: Resource group: <new_resource_group_for_function_app> (5.494s) (✓) Done: App Service plan: <new_app_service_plan> (5.414s) (✓) Done: Storage account: <new_storage_account> (25.918s) (✓) Done: Log Analytics workspace: <new_workspace> (25.25s) (✓) Done: Application Insights: <new_application_insights> (5.628s) (✓) Done: Portal dashboard: <new_dashboard> (1.63s) (✓) Done: Function App: <new_function_app> (39.402s)Die Ausgabe enthält einen Link zum Überwachen des Bereitstellungsfortschritts im Azure portal.
Nach Abschluss der Bereitstellung stellt der Prozess die neue Funktions-App für die Azure portal bereit:
Deploying services (azd deploy) (✓) Done: Deploying service function - Endpoint: https://<new_function_app>.azurewebsites.net/ Configuring EventGrid subscription for API Center Examples from AI knowledge baseWenn die Bereitstellung abgeschlossen ist, bestätigen Sie, dass die neue Function-App vorhanden ist und die Funktion veröffentlicht wurde.
Wenn die Funktion
apicenter-analyernicht aufgeführt ist oder der Status der Funktion nicht Enabled ist, veröffentlichen Sie die Funktion mit den Azure Functions Core Tools.Konfigurieren Sie ein Ereignisabonnement mit PowerShell oder einer Bash-Shell in Visual Studio Code.
Funktion bestätigen, die in Azure portal veröffentlicht wurde
Wenn die Bereitstellung abgeschlossen ist, vergewissern Sie sich, dass die neue Funktions-App im Azure portal vorhanden ist und die Funktion veröffentlicht wird.
Melden Sie sich beim Abschnitt Azure portal an, navigieren Sie zum Abschnitt Function App, und wählen Sie ihre neue Funktions-App in der Liste aus.
Bestätigen Sie auf der Seite Übersicht für die neue Funktions-App, dass der Status Status der Funktions-App Wird ausgeführt ist.
Vergewissern Sie sich im Abschnitt "Funktionen ", dass die
apicenter-analyerFunktion aufgelistet ist und der Statusaktiviert ist.
Veröffentlichen der Apicenter-Analyzer-Funktion mit Azure Functions Core Tools
Wenn der Bereitstellungsprozess die funktion apicenter-analyer nicht in der Funktions-App im Azure portal veröffentlicht, können Sie die folgenden Befehle in einem Visual Studio Codeterminal ausführen und den Vorgang abschließen.
Führen Sie den folgenden Befehl aus, um zu bestätigen, dass die Funktion nicht in der Funktions-App veröffentlicht wird:
Hinweis
Dieser Befehl verwendet die neue Ressourcengruppe, die vom Bereitstellungsprozess für die Funktions-App und nicht die Ressourcengruppe für Ihr API Center erstellt wurde. Ersetzen Sie
<function-app-name>und<new_resource_group_for_function_app>durch den Namen Ihrer Funktions-App und den Namen der Ressourcengruppe für die Funktions-App.az functionapp function list --name <function_app_name> --resource-group <new_resource_group_for_function_app> --query "[].name" -o tsvDie Befehlsausgabe sollte leer sein.
Erweitern Sie im Explorer den
src/functionsOrdner, und öffnen Sie dieApiAnalyzerFunction.tsDatei. Diese Aktion bestätigt, dass die Umgebung so eingestellt ist, dass sie an der richtigen Position nach Inhalten sucht.Vergewissern Sie sich, dass Ihre Umgebung die npm-package manager- und Knotenlaufzeitumgebung enthält, und installieren Sie alle erforderlichen Tools:
node --version npm --versionInstallieren Sie nach Bedarf die Azure Functions Codetools in der Umgebung:
npm install -g azure-functions-core-tools@4 --unsafe-perm trueFühren Sie den folgenden Befehl aus, um den Funktionscode in der Funktions-App im Azure portal zu veröffentlichen. Ersetzen Sie
<function-app-name>durch den Namen Ihrer Funktions-App.func azure functionapp publish <function_app_name> --typescriptDer Befehl zeigt die folgende Ausgabe:
Getting site publishing info... [2026-02-26T19:58:38.779Z] Starting the function app deployment... Uploading package... Uploading 33.8 MB [###############################################################################] Upload completed successfully. Deployment completed successfully. apicenter-analyzer - [eventGridTrigger]Bestätigen Sie im Azure-Portal, dass die Funktion
apicenter-analyzerjetzt veröffentlicht und für Ihre Funktions-App aktiviert ist.
Konfigurieren des Ereignisabonnements
Nachdem die Funktion erfolgreich in der Funktions-App im Azure portal veröffentlicht wurde, können Sie ein Ereignisabonnement in Ihrem API Center erstellen, um die Funktions-App auszulösen, wenn eine API-Definitionsdatei hochgeladen oder aktualisiert wird.
Rufen Sie die Ressourcen-ID Ihres API Centers ab. Ersetzen Sie
<apic-name>durch Ihren API Center-Namen und<resource-group-name>durch den Namen der Ressourcengruppe für Ihr API Center.#! /bin/bash apicID=$(az apic show --name <apic-name> --resource-group <resource-group-name> \ --query "id" --output tsv)# PowerShell syntax $apicID=$(az apic show --name <apic-name> --resource-group <resource-group-name> ` --query "id" --output tsv)Rufen Sie die Ressourcen-ID der Funktion in der Funktions-App ab. In diesem Beispiel ist der Funktionsname apicenter-analyzer. Ersetzen Sie
<function-app-name>durch den Namen Ihrer Funktions-App und<resource-group-name>durch den Namen der Ressourcengruppe Ihrer Funktions-App.#! /bin/bash functionID=$(az functionapp function show --name <function-app-name> \ --function-name apicenter-analyzer --resource-group <resource-group-name> \ --query "id" --output tsv)# PowerShell syntax $functionID=$(az functionapp function show --name <function-app-name> ` --function-name apicenter-analyzer --resource-group <resource-group-name> ` --query "id" --output tsv)Erstellen Sie ein Ereignisabonnement mithilfe des Befehls az eventgrid event-subscription create. Das erstellte Abonnement enthält Ereignisse zum Hinzufügen oder Aktualisieren von API-Definitionen.
#! /bin/bash az eventgrid event-subscription create --name MyEventSubscription \ --source-resource-id "$apicID" --endpoint "$functionID" \ --endpoint-type azurefunction --included-event-types \ Microsoft.ApiCenter.ApiDefinitionAdded Microsoft.ApiCenter.ApiDefinitionUpdated# PowerShell syntax az eventgrid event-subscription create --name MyEventSubscription ` --source-resource-id "$apicID" --endpoint "$functionID" ` --endpoint-type azurefunction --included-event-types ` Microsoft.ApiCenter.ApiDefinitionAdded Microsoft.ApiCenter.ApiDefinitionUpdatedDie Befehlsausgabe zeigt die Details des Ereignisabonnements an. Sie können auch Details über den Befehl az eventgrid event-subscription show abrufen:
az eventgrid event-subscription show --name MyEventSubscription --source-resource-id "$apicID"Hinweis
Es kann eine kurze Zeit dauern, bis das Ereignisabonnement an die Funktions-App weitergegeben wird.
Navigieren Sie im Azure portal zum API Center, und bestätigen Sie das neue Ereignisabonnement unter Events>Event Subscriptions.
Auslösen eines Ereignisses in Ihrem API Center
Um das Ereignisabonnement zu testen, versuchen Sie, eine API-Definitionsdatei hochzuladen oder zu aktualisieren, die einer API-Version im API Center zugeordnet ist. Laden Sie beispielsweise ein OpenAPI- oder AsyncAPI-Dokument hoch. Nachdem das Ereignisabonnement ausgelöst wurde, ruft die Funktions-App die API-Linting-Engine auf, um die API-Definition zu analysieren.
Ausführliche Schritte zum Hinzufügen einer API, API-Version und API-Definition zum API Center finden Sie im Lernprogramm: Registrieren von APIs im API Center.
Informationen zum Erstellen einer API durch Hochladen einer API-Definitionsdatei mit dem Azure CLI finden Sie unter Register-API aus einer Spezifikationsdatei.
So bestätigen Sie, dass das Ereignisabonnement ausgelöst wird:
Navigieren Sie zum API Center, und wählen Sie "Ereignisse" aus.
Wählen Sie die Registerkarte Ereignisabonnements und dann das Ereignisabonnement für Ihre Funktions-App aus.
Überprüfen Sie die Metriken, um zu bestätigen, dass das Ereignisabonnement ausgelöst und Linting erfolgreich aufgerufen wurde.
Hinweis
Es kann einige Minuten dauern, bis die Metriken angezeigt werden.
Nachdem das System die API-Definition analysiert hat, generiert das Lintingmodul basierend auf dem konfigurierten API-Stilleitfaden einen Bericht.
Anzeigen von API-Analyseberichten
Sie können den Analysebericht für Ihre API-Definition im Azure portal anzeigen. Nachdem eine API-Definition analysiert wurde, listet der Bericht Fehler, Warnungen und Informationen basierend auf dem konfigurierten API-Stilleitfaden auf.
Im Portal können Sie auch eine Zusammenfassung der Analyseberichte für alle API-Definitionen im API Center anzeigen.
Analysebericht für eine API-Definition
So zeigen Sie den Analysebericht für eine API-Definition im API-Center an:
Navigieren Sie im Portal zum API Center, erweitern Sie " Bestand", und wählen Sie "Objekte" aus.
Wählen Sie in der Ressourcenliste die API aus, für die Sie eine API-Definition hinzugefügt oder aktualisiert haben.
Wählen Sie "Versionen" aus, und erweitern Sie dann die Zeile für die zu untersuchende API.
Wählen Sie unter "Definition" den Definitionsnamen aus, den Sie hochgeladen oder aktualisiert haben.
Wählen Sie die Registerkarte "Analyse " aus.
Der API-Analysebericht wird geöffnet, und er zeigt die API-Definition und Fehler, Warnungen und Informationen basierend auf dem konfigurierten API-Stilleitfaden an. Der folgende Screenshot zeigt ein Beispiel für einen API-Analysebericht.
Zusammenfassung der API-Analyse
Sie können eine Zusammenfassung der Analyseberichte für alle API-Definitionen in Ihrem API Center anzeigen.
Navigieren Sie im Portal zu Ihrem API Center, erweitern Sie Governance, und wählen Sie API-Analyse aus.
Das Symbol rechts in jeder Zeile öffnet den API-Analysebericht für die Definition.