So überprüfen Sie, ob meine App APIs auf Produktionsebene verwendet
Beim Erstellen Ihrer App verwenden Sie möglicherweise APIs, die sich noch in der Vorschau befinden. Sie verwenden häufig Vorschau-APIs, wenn Sie neue Features integrieren, die parallel zu Ihrer App erstellt werden. Bevor Sie Ihre App in der Produktion freigeben, sollten Sie sicherstellen, dass Sie APIs auf Produktionsebene verwenden. Wenn Sie stabile APIs verwenden, die von Vereinbarungen zum Servicelevel (Service Level Agreements, SLAs) unterstützt und abgedeckt werden, ist Ihre App robuster.
Um zu überprüfen, ob Ihre App APIs auf Produktionsebene verwendet, können Sie das ApiCenterProductionVersionPlugin
Plug-In verwenden. Dieses Plug-In vergleicht die Informationen zu API-Anforderungen aus Ihrer App mit Informationen aus dem Azure API Center und berichtet über alle Nichtproduktions-API-Anforderungen. Außerdem empfiehlt es die Produktionsversionen der verwendeten APIs.
Vor der Installation
Um Nichtproduktions-API-Anforderungen zu erkennen, müssen Sie über eine Azure API Center-Instanz mit Informationen zu den APIs verfügen, die Sie in Ihrer Organisation verwenden.
Erstellen einer Azure API Center-Instanz
Erstellen Sie zunächst eine Azure API Center-Instanz, und registrieren Sie APIs, die Sie in Ihrer Organisation verwenden. Definieren Sie für jede API die verwendeten Versionen, und geben Sie deren Lebenszyklusphase an.
Anhand ApiCenterProductionVersionPlugin
dieser Informationen können Sie überprüfen, ob die APIs, die Ihre App verwendet, zu Produktions- oder Nichtproduktions-APIs gehören.
Kopieren von API Center-Informationen
Kopieren Sie auf der Seite „Übersicht“ der Azure API Center-Instanz den Namen der API Center-Instanz sowie den Namen der Ressourcengruppe und die Abonnement-ID. Diese Informationen benötigen Sie, um ApiCenterProductionVersionPlugin
so zu konfigurieren, dass eine Verbindung mit Ihrer Azure API Center-Instanz hergestellt werden kann.
Konfigurieren von Dev Proxy
Um zu überprüfen, ob Ihre App APIs auf Produktionsebene verwendet, müssen Sie in der Konfigurationsdatei für Dev Proxy das ApiCenterProductionVersionPlugin
aktivieren. Um einen Bericht der APIs zu erstellen, die Ihre App verwendet, fügen Sie einen Reporter hinzu.
Aktivieren des ApiCenterProductionVersionPlugin
-Plug-Ins
Fügen Sie in der Datei devproxyrc.json
die folgende Konfiguration hinzu:
{
"$schema": "https://raw.githubusercontent.com/microsoft/dev-proxy/main/schemas/v0.19.0/rc.schema.json",
"plugins": [
{
"name": "ApiCenterProductionVersionPlugin",
"enabled": true,
"pluginPath": "~appFolder/plugins/dev-proxy-plugins.dll",
"configSection": "apiCenterProductionVersionPlugin"
}
],
"urlsToWatch": [
"https://jsonplaceholder.typicode.com/*"
],
"apiCenterProductionVersionPlugin": {
"subscriptionId": "aaaa0a0a-bb1b-cc2c-dd3d-eeeeee4e4e4e",
"resourceGroupName": "demo",
"serviceName": "contoso-api-center",
"workspaceName": "default"
}
}
Geben Sie in den Eigenschaften subscriptionId
, resourceGroupName
und serviceName
die Informationen zu Ihrer Azure API Center-Instanz an.
Geben Sie in der Eigenschaft urlsToWatch
die URLs an, die Ihre App verwendet.
Tipp
Verwenden Sie die Visual Studio Code-Erweiterung Dev Proxy Toolkit, um die Dev Proxy-Konfiguration mühelos zu verwalten.
Hinzufügen eines Reporters
Das ApiCenterProductionVersionPlugin
-Plug-In erstellt einen Bericht der APIs, die Ihre App verwendet. Fügen Sie ihrer Konfigurationsdatei für Dev Proxy einen Reporter hinzu, um diesen Bericht anzuzeigen. Dev Proxy bietet mehrere Reporter. In diesem Beispiel verwenden Sie den Nur-Text-Reporter.
Aktualisieren Sie Ihre devproxyrc.json
-Datei mit einem Verweis auf den Nur-Text-Reporter:
{
"$schema": "https://raw.githubusercontent.com/microsoft/dev-proxy/main/schemas/v0.19.0/rc.schema.json",
"plugins": [
{
"name": "ApiCenterProductionVersionPlugin",
"enabled": true,
"pluginPath": "~appFolder/plugins/dev-proxy-plugins.dll",
"configSection": "apiCenterProductionVersionPlugin"
},
{
"name": "PlainTextReporter",
"enabled": true,
"pluginPath": "~appFolder/plugins/dev-proxy-plugins.dll"
}
],
"urlsToWatch": [
"https://jsonplaceholder.typicode.com/*"
],
"apiCenterProductionVersionPlugin": {
"subscriptionId": "aaaa0a0a-bb1b-cc2c-dd3d-eeeeee4e4e4e",
"resourceGroupName": "demo",
"serviceName": "contoso-api-center",
"workspaceName": "default"
}
}
Überprüfen, ob Ihre App APIs auf Produktionsebene verwendet
Um zu überprüfen, ob Ihre App APIs auf Produktionsebene verwendet, müssen Sie eine Verbindung mit Ihrem Azure-Abonnement herstellen, Dev Proxy ausführen und Dev Proxy die API-Anforderungen von Ihrer App abfangen lassen. Dev Proxy vergleicht daraufhin die Informationen zu den API-Anforderungen mit den Informationen aus Azure API Center und meldet alle Nichtproduktions-APIs.
Verbinden mit Ihrem Azure-Abonnement
Dev Proxy verwendet Informationen aus Azure API Center, um zu ermitteln, ob die von Ihrer App verwendeten APIs auf Produktionsebene sind. Um diese Informationen zu erhalten, benötigt sie eine Verbindung mit Ihrem Azure-Abonnement. Es bestehen verschiedene Möglichkeiten, eine Verbindung mit Ihrem Azure-Abonnement herzustellen.
Ausführen von Dev Proxy
Starten Sie Dev Proxy, nachdem Sie eine Verbindung mit Ihrem Azure-Abonnement hergestellt haben. Wenn Sie Dev Proxy aus demselben Ordner starten, in dem sich Ihre devproxyrc.json
-Datei befindet, wird die Konfiguration automatisch geladen. Geben Sie andernfalls mithilfe der Option --config-file
den Pfad zur Konfigurationsdatei an.
Beim Starten von Dev Proxy wird überprüft, ob eine Verbindung mit Ihrem Azure-Abonnement hergestellt werden kann. Wenn die Verbindung erfolgreich hergestellt werden kann, wird eine Meldung wie die folgende angezeigt:
info Plugin ApiCenterProductionVersionPlugin connecting to Azure...
info Listening on 127.0.0.1:8000...
Hotkeys: issue (w)eb request, (r)ecord, (s)top recording, (c)lear screen
Press CTRL+C to stop Dev Proxy
Drücken Sie R, um die Aufzeichnung der API-Anforderungen von Ihrer App zu starten.
Verwenden der App
Verwenden Sie Ihre App wie gewohnt. Dev Proxy fängt die API-Anforderungen ab und speichert Informationen zu ihnen im Arbeitsspeicher. An der Befehlszeile, an der Dev Proxy ausgeführt wird, sollten Informationen zu API-Anforderungen Ihrer App angezeigt werden.
info Plugin ApiCenterProductionVersionPlugin connecting to Azure...
info Listening on 127.0.0.1:8000...
Hotkeys: issue (w)eb request, (r)ecord, (s)top recording, (c)lear screen
Press CTRL+C to stop Dev Proxy
◉ Recording...
req ╭ GET https://jsonplaceholder.typicode.com/posts?api-version=v1.0
api ╰ Passed through
req ╭ GET https://jsonplaceholder.typicode.com/users?api-version=beta
api ╰ Passed through
Überprüfen von API-Versionen
Beenden Sie die Aufzeichnung, indem Sie s drücken. Dev Proxy stellt eine Verbindung mit der API Center-Instanz her und vergleicht die Informationen zu den Anforderungen mit den Informationen aus API Center.
info Plugin ApiCenterProductionVersionPlugin connecting to Azure...
info Listening on 127.0.0.1:8000...
Hotkeys: issue (w)eb request, (r)ecord, (s)top recording, (c)lear screen
Press CTRL+C to stop Dev Proxy
◉ Recording...
req ╭ GET https://jsonplaceholder.typicode.com/posts?api-version=v1.0
api ╰ Passed through
req ╭ GET https://jsonplaceholder.typicode.com/users?api-version=beta
api ╰ Passed through
○ Stopped recording
info Checking if recorded API requests use production APIs as defined in API Center...
info Loading APIs from API Center...
info Analyzing recorded requests...
warn Request GET https://jsonplaceholder.typicode.com/users?api-version=beta uses API version beta which is defined as Preview. Upgrade to a production version of the API. Recommended versions: v1.0
info DONE
Nach Abschluss der Analyse erstellt Dev Proxy einen Bericht in einer Datei namens ApiCenterProductionVersionPlugin_PlainTextReporter.txt
mit dem folgenden Inhalt:
Non-production APIs:
GET https://jsonplaceholder.typicode.com/users?api-version=beta
Production APIs:
GET https://jsonplaceholder.typicode.com/posts?api-version=v1.0
Zusammenfassung
Mithilfe des ApiCenterProductionVersionPlugin
-Steuerelements können Sie überprüfen, ob Ihre App APIs auf Produktionsebene verwendet. Das Plug-In vergleicht die Informationen zu API-Anforderungen aus Ihrer App mit den Informationen in Azure API Center und meldet alle Anforderungen an Nichtproduktions-APIs. Außerdem empfiehlt es die Produktionsversionen der verwendeten APIs. Indem Sie überprüfen, welche APIs Ihre App verwendet, können Sie sicherstellen, dass Ihre App stabile APIs verwendet, die von SLAs unterstützt und abgedeckt werden, und machen Ihre App damit robuster. Sie können diese Überprüfung manuell ausführen oder mit Ihrer CI/CD-Pipeline integrieren, um sicherzustellen, dass Ihre App APIs auf Produktionsebene verwendet, bevor Sie sie für die Produktion freigeben.