Importieren einer Azure Web-App als API

GILT FÜR: Alle API Management-Ebenen

In diesem Artikel wird gezeigt, wie Sie eine Azure Web-App in Azure API Management importieren und die importierte API mithilfe des Azure-Portals testen.

Hinweis

Sie können die API Management-Erweiterung für Visual Studio Code zum Importieren und Verwalten von APIs verwenden. Informationen zur Installation und zu den ersten Schritten finden Sie unter Tutorial: Verwenden der API Management-Erweiterung für Visual Studio Code zum Importieren und Verwalten von APIs.

In diesem Artikel werden folgende Vorgehensweisen behandelt:

  • Eine in App Service gehostete Web-App importieren
  • Testen der API im Azure-Portal

Verfügbarmachen der Web-App mit API Management

Azure App Service ist ein HTTP-basierter Dienst zum Hosten von Webanwendungen, REST-APIs und mobilen Back-Ends. API-Entwickler können ihre bevorzugten Technologiestapel und Pipelines verwenden, um APIs zu entwickeln, und ihre API-Back-Ends als Web-Apps in einer sicheren, skalierbaren Umgebung zu veröffentlichen. Verwenden Sie anschließend API Management, um die Web-Apps verfügbar zu machen, die APIs während ihres Lebenszyklus zu verwalten und zu schützen, und sie für Consumer zu veröffentlichen.

API Management wird aus mehreren Gründen als Umgebung empfohlen, um eine von einer Web-App gehostete API verfügbar zu machen:

  • Entkoppeln der Verwaltung und Sicherung des Front-Ends, das API-Consumern zur Verfügung steht, von der Verwaltung und Überwachung der Back-End-Web-App
  • Verwalten von Web-APIs, die als Web-Apps gehostet werden, in derselben Umgebung wie Ihre anderen APIs
  • Anwenden von Richtlinien zum Ändern des API-Verhaltens, z. B. Aufrufratenbegrenzung
  • Verweisen von API-Consumern an das anpassbare Entwicklerportal von API Management, um Ihre APIs zu entdecken und kennenzulernen, Zugriff anzufordern und auszuprobieren

Weitere Informationen finden Sie unter Informationen zu API Management.

OpenAPI-Spezifikation im Vergleich zu Platzhaltervorgängen

API Management unterstützt den Import von Web-Apps, die in App Service gehostet werden, und eine OpenAPI-Spezifikation (Swagger-Definition) enthalten. Eine OpenAPI-Spezifikation ist jedoch nicht zwingend erforderlich.

  • Wenn für die Web-App eine OpenAPI-Spezifikation in einer API-Definition konfiguriert ist, erstellt API Management API-Vorgänge, die direkt der Definition entsprechen, einschließlich erforderlicher Pfade, Parameter und Antworttypen.

    Es wird empfohlen, eine OpenAPI-Spezifikation zu verwenden, da die API so mit hoher Genauigkeit in API Management importiert wird. Das gibt Ihnen die Flexibilität, Konfigurationen für jeden Vorgang separat zu überprüfen, zu verwalten, zu sichern und zu aktualisieren.

  • Wenn keine OpenAPI-Spezifikation bereitgestellt wird, generiert API Management Platzhaltervorgänge für die allgemeinen HTTP-Verben (GET, PUT etc.). Fügen Sie einen erforderlichen Pfad oder Parameter an einen Platzhaltervorgang an, um eine API-Anforderung an die Back-End-API zu übergeben.

    Bei Platzhaltervorgängen können Sie weiterhin die gleichen Features von API Management nutzen; Vorgänge werden jedoch standardmäßig nicht auf derselben Detailebene definiert. In beiden Fällen können Sie Vorgänge bearbeiten oder der importierten API hinzufügen.

Beispiel

Ihre Back-End-Web-App unterstützt möglicherweise zwei GET-Vorgänge:

  • https://myappservice.azurewebsites.net/customer/{id}
  • https://myappservice.azurewebsites.net/customers

Sie importieren die Web-App unter einem Pfad wie https://contosoapi.azureapi.net/store in Ihren API Management-Dienst. Die folgende Tabelle zeigt die Vorgänge, die in API Management importiert werden, entweder mit oder ohne OpenAPI-Spezifikation:

type Importierte Vorgänge Beispielanforderungen
OpenAPI-Spezifikation GET /customer/{id}

GET /customers
GET https://contosoapi.azureapi.net/store/customer/1

GET https://contosoapi.azureapi.net/store/customers
Platzhalter GET /* GET https://contosoapi.azureapi.net/store/customer/1

GET https://contosoapi.azureapi.net/store/customers

Der Platzhaltervorgang ermöglicht die gleichen Anforderungen an den Back-End-Dienst wie die Vorgänge in der OpenAPI-Spezifikation. Die von OpenAPI angegebenen Vorgänge können jedoch separat in API Management verwaltet werden.

Voraussetzungen

Navigieren zur API Management-Instanz

  1. Suchen Sie im Azure-Portal nach API Management-Dienste, und wählen Sie diese Option aus.

    Auswählen von API Management-Dienste

  2. Wählen Sie auf der Seite API Management-Dienste Ihre API Management-Instanz aus.

    Auswählen Ihrer API Management-Instanz

Importieren und Veröffentlichen einer Back-End-API

Tipp

Mit den folgenden Schritten starten Sie den Import mithilfe von Azure API Management im Azure-Portal. Sie können auch direkt in Ihrer Web-App eine Verknüpfung zu API Management erstellen, indem Sie im API-Menü der App API Management auswählen.

  1. Navigieren Sie im Azure-Portal zu Ihrem API Management-Dienst, und wählen Sie im Menü APIs aus.

  2. Wählen Sie App Service aus der Liste aus.

    Erstellen aus App Service

  3. Klicken Sie auf Durchsuchen, um die Liste der App Services in Ihrem Abonnement anzuzeigen.

  4. Wählen Sie einen App Service. Wenn der ausgewählten Web-App eine OpenAPI-Definition zugeordnet ist, ruft API Management sie ab und importiert sie.

    Wenn keine OpenAPI-Definition gefunden wird, macht API Management die API verfügbar, indem Platzhaltervorgänge für allgemeine HTTP-Verben generiert werden.

  5. Fügen Sie ein API-URL-Suffix hinzu. Das Suffix ist ein Name, der diese spezifische API in dieser API Management-Instanz identifiziert. Es muss in dieser APIM-Instanz eindeutig sein.

  6. Veröffentlichen Sie die API, indem Sie sie einem Produkt zuordnen. In diesem Fall wird das Produkt „Unlimited“ verwendet. Wenn Sie möchten, dass die API veröffentlicht wird, und dann Entwicklern zur Verfügung steht, fügen Sie sie einem Produkt hinzu. Sie können dies während der Erstellung der API vornehmen oder später festlegen.

    Hinweis

    Bei Produkten handelt es sich um API-Zuordnungen. Sie können viele verschiedene APIs einfügen, und sie Entwicklern über das Entwicklerportal zur Verfügung stellen. Entwickler müssen ein Produkt zunächst abonnieren, um Zugriff auf die API zu erhalten. Wenn sie ein Produkt abonnieren, erhalten sie einen Abonnementschlüssel, der für jede API in diesem Produkt gilt. Wenn Sie die APIM-Instanz erstellt haben, sind Sie bereits Administrator und haben dadurch standardmäßig alle Produkte abonniert.

    Standardmäßig enthält jede API Management-Instanz zwei Beispielprodukte:

    • Starter
    • Unbegrenzt
  7. Geben Sie weitere API-Einstellungen ein. Sie können die Werte während der Erstellung festlegen oder später über die Registerkarte Einstellungen konfigurieren. Die Einstellungen werden im Tutorial Importieren und Veröffentlichen Ihrer ersten API erläutert.

  8. Klicken Sie auf Erstellen. Erstellen einer API aus App Service

Testen der neuen API im Azure-Portal

Vorgänge können direkt aus dem Azure-Portal aufgerufen werden. Dies ist ein einfacher Weg, die Vorgänge einer API anzuzeigen und zu testen. Sie können die API auch im Entwicklerportal oder mit Ihren eigenen REST-Clienttools testen.

  1. Wählen Sie die API aus, die Sie im vorherigen Schritt erstellt haben.

  2. Wählen Sie die Registerkarte Testen aus.

  3. Wählen Sie einen Vorgang aus.

    Die Seite zeigt Felder für Abfrageparameter und Felder für die Header. Einer der Header ist „Ocp-Apim-Subscription-Key“. Er steht für den Abonnementschlüssel des Produkts, das dieser API zugeordnet ist. Wenn Sie die API Management-Instanz erstellt haben, sind Sie bereits Administrator, sodass der Schlüssel automatisch eingetragen wird.

  4. Klicken Sie auf Senden.

    Wenn die Anforderung erfolgreich ist, antwortet das Back-End mit 200 OK und einigen Daten.

Testen des Platzhaltervorgangs im Azure-Portal

Wenn Platzhaltervorgänge generiert werden, werden die Vorgänge möglicherweise nicht direkt der Back-End-API zugeordnet. Beispielsweise verwendet ein in API Management importierter GET-Platzhaltervorgang standardmäßig den Pfad /. Ihre Back-End-API unterstützt jedoch möglicherweise einen GET-Vorgang unter folgendem Pfad:

/api/TodoItems

Sie können den Pfad /api/TodoItems wie folgt testen.

  1. Wählen Sie die erstellte API und den Vorgang aus.

  2. Wählen Sie die Registerkarte Testen aus.

  3. Aktualisieren Sie unter Vorlagenparameter den Wert neben dem Platzhalternamen (*). Geben Sie beispielsweise api/TodoItems ein. Dieser Wert wird an den Pfad / für den Platzhaltervorgang angefügt.

    Testen des Platzhaltervorgangs

  4. Wählen Sie Send (Senden) aus.

Anfügen weiterer APIs

Sie können eine API aus APIs zusammensetzen, die von verschiedenen Diensten verfügbar gemacht werden, u. a.:

  • Eine OpenAPI-Spezifikation
  • SOAP-API
  • Eine GraphQL-API
  • In Azure App Service gehostete Web-App
  • Azure-Funktionen-App
  • Azure Logic Apps
  • Azure Service Fabric

Führen Sie zum Anfügen einer anderen API an eine vorhandene API die folgenden Schritte aus.

Hinweis

Wenn Sie eine andere API importieren, werden die Vorgänge an Ihre aktuelle API angefügt.

  1. Navigieren Sie im Azure-Portal zu Ihrer Azure API Management-Instanz.

    Navigieren zur Azure API Management-Instanz

  2. Wählen Sie auf der Seite Übersicht oder im Menü auf der linken Seite die Option APIs aus.

    Auswählen von „APIs“

  3. Klicken Sie neben der API, die Sie an eine andere API anfügen möchten, auf ....

  4. Wählen Sie im Dropdownmenü Importieren aus.

    Auswählen von „Importieren“

  5. Wählen Sie einen Dienst aus, aus dem eine API importiert werden soll.

    Auswählen des Diensts

Nächste Schritte