Importieren einer Azure-Container-App als API
GILT FÜR: Alle API Management-Ebenen
In diesem Artikel wird gezeigt, wie Sie eine Azure-Container-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:
- Importieren einer Container-App, die eine Web-API verfügbar macht
- Testen der API im Azure-Portal
Verfügbarmachen von Container-Apps mit API Management
Mit Azure Container Apps können Sie Container-Apps bereitstellen, ohne eine komplexe Infrastruktur verwalten zu müssen. API-Entwickler können Code mit ihrer bevorzugten Programmiersprache oder ihrem bevorzugten Framework schreiben, Microservices mit vollständiger Unterstützung für Distributed Application Runtime (Dapr) erstellen und basierend auf HTTP-Datenverkehrsaufkommen oder anderen Ereignissen skalieren.
Aus folgenden Gründen wird API Management als Umgebung empfohlen, um eine von einer Container-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-API
- Verwalten von Web-APIs, die als Container-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 Container-Apps, die über eine OpenAPI-Spezifikation (Swagger-Definition) verfügen. Eine OpenAPI-Spezifikation ist jedoch nicht zwingend erforderlich. Es wird empfohlen, eine OpenAPI-Spezifikation bereitzustellen. API Management kann einzelne Vorgänge importieren, sodass Sie Konfigurationen für jeden Vorgang separat überprüfen, verwalten, sichern und aktualisieren können.
Wenn die Container-App eine OpenAPI-Spezifikation verfügbar macht, erstellt API Management API-Vorgänge, die unmittelbar der Definition entsprechen. API Management wird an mehreren Stellen nach einer OpenAPI-Spezifikation suchen.
- Die Container-App-Konfiguration.
/openapi.json
/openapi.yml
/swagger/v1/swagger.json
Wenn keine OpenAPI-Spezifikation bereitgestellt wird, generiert API Management Platzhaltervorgänge für die allgemeinen HTTP-Verben (GET, PUT etc.). Sie können weiterhin die gleichen Features von API Management nutzen, Vorgänge werden jedoch nicht mit demselben Detailgrad definiert.
In beiden Fällen können Sie Vorgänge bearbeiten oder der API nach dem Import hinzufügen.
Beispiel
Ihre Back-End-Container-App unterstützt möglicherweise zwei GET-Vorgänge:
https://myappservice.azurewebsites.net/customer/{id}
https://myappservice.azurewebsites.net/customers
Sie importieren die Container-App unter einem Pfad wie https://contosoapi.azure-api.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.azure-api.net/store/customer/1 GET https://contosoapi.azure-api.net/store/customers |
Platzhalter | GET /* |
GET https://contosoapi.azure-api.net/store/customer/1 GET https://contosoapi.azure-api.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 es eine Container-App gibt, die eine Web-API in Ihrem Abonnement verfügbar macht. Weitere Informationen hierzu finden Sie in der Dokumentation von Azure Container Apps.
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
Navigieren Sie im Azure-Portal zu Ihrem API Management-Dienst, und wählen Sie im Menü APIs aus.
Wählen Sie eine Container-App aus der Liste aus.
Klicken Sie auf Durchsuchen, um die Liste der Container-Apps in Ihrem Abonnement anzuzeigen.
Wählen Sie eine Container-App aus. Wenn der ausgewählten Container-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 API Management-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.
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 API Management-Instanz erstellt haben, sind Sie Administrator und haben standardmäßig alle Produkte abonniert.
Jede neu erstellte API Management-Instanz enthält 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