Freigeben über


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.

Screenshot einer Konsole mit der Dev Proxy-Überprüfung, ob die aufgezeichneten API-Anforderungen mit Produktionsversions-APIs übereinstimmen, die im Azure API Center registriert sind

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.

Screenshot des Azure API Center mit einer API mit unterschiedlichen Versionen

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.

Screenshot der Übersichtsseite des Azure API Center mit hervorgehobenen Eigenschaften

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.

Weitere Informationen