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. 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

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

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

  2. Wählen Sie eine Container-App aus der Liste aus.

    Erstellen auf Grundlage einer Container-App

  3. Klicken Sie auf Durchsuchen, um die Liste der Container-Apps in Ihrem Abonnement anzuzeigen.

  4. 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.

  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 API Management-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.

    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
  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 auf Grundlage einer Container-App

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