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
Dieses Feature ist derzeit in Arbeitsbereichen nicht verfügbar.
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-Definition im Vergleich mit Platzhaltervorgängen
API Management unterstützt den Import von Web-Apps, die in App Service gehostet werden und eine OpenAPI-Definition (Swagger-Definition) enthalten. Eine OpenAPI-Definition ist jedoch nicht erforderlich.
Wenn die Web-App mit einer OpenAPI-Definition konfiguriert ist, wird dies von API Management erkannt. Alternativ können Sie die Definition manuell in API Management importieren. API Management erstellt dann API-Vorgänge, die direkt der Definition entsprechen, einschließlich erforderlicher Pfade, Parameter und Antworttypen.
Es wird empfohlen, eine OpenAPI-Definition 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 validieren, zu verwalten, zu sichern und zu aktualisieren.
Wenn keine OpenAPI-Definition bereitgestellt wird, generiert API Management Platzhaltervorgänge für die allgemeinen HTTP-Verben (GET, PUT usw.). 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
Bearbeiten Sie den folgenden Schnellstart: Erstellen einer neuen Azure API Management-Dienstinstanz
Stellen Sie sicher, dass Ihr Abonnement einen API-Dienst enthält. Weitere Informationen finden Sie in der App Service-Dokumentation.
Schritte zum Erstellen einer Beispiel-Web-API und zum Veröffentlichen als Azure Web-App finden Sie unter:
Navigieren zur API Management-Instanz
Suchen Sie im Azure-Portal nach API Management-Dienste, und wählen Sie diese Option aus.
Wählen Sie auf der Seite API Management-Dienste Ihre API Management-Instanz aus.
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.
Navigieren Sie im Azure-Portal zu Ihrem API Management-Dienst, und wählen Sie im Menü APIs aus.
Wählen Sie App Service aus der Liste aus.
Klicken Sie auf Durchsuchen, um die Liste der App Services in Ihrem Abonnement anzuzeigen.
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.
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.
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
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.
Klicken Sie auf Erstellen.
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.
Wählen Sie die API aus, die Sie im vorherigen Schritt erstellt haben.
Wählen Sie die Registerkarte Testen aus.
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.
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.
Wählen Sie die erstellte API und den Vorgang aus.
Wählen Sie die Registerkarte Testen aus.
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.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.
Navigieren Sie im Azure-Portal zu Ihrer Azure API Management-Instanz.
Wählen Sie auf der Seite Übersicht oder im Menü auf der linken Seite die Option APIs aus.
Klicken Sie neben der API, die Sie an eine andere API anfügen möchten, auf ....
Wählen Sie im Dropdownmenü Importieren aus.
Wählen Sie einen Dienst aus, aus dem eine API importiert werden soll.
Zugehörige Themen
- Einschränkungen beim API-Import
- Importieren einer OpenAPI-Spezifikation
- Importieren einer SOAP-API
- Importieren einer SOAP-API und Konvertieren dieser in REST
- Importieren einer App Service-API
- Importieren einer Container-App-API
- Importieren einer WebSocket-API
- Importieren einer GraphQL-API
- Importieren eines GraphQL-Schemas und Einrichten von Feldauflösern
- Importieren einer Azure Functions-App als API
- Importieren einer Logik-App als API
- Tutorial: Integrieren von API Management in Service Fabric in Azure
- Importieren einer Azure OpenAI-API
- Importieren einer OData-API
- Importieren von SAP OData-Metadaten
- Importieren einer gRPC-API
- Bearbeiten von APIs