Importowanie aplikacji kontenera platformy Azure jako interfejsu API

DOTYCZY: Wszystkie warstwy usługi API Management

W tym artykule pokazano, jak zaimportować aplikację kontenera platformy Azure do usługi Azure API Management i przetestować zaimportowany interfejs API przy użyciu witryny Azure Portal. W tym artykule omówiono sposób wykonywania następujących zadań:

  • Importowanie aplikacji kontenera, która uwidacznia internetowy interfejs API
  • Testowanie interfejsu API w witrynie Azure Portal

Uwidacznianie aplikacji kontenera za pomocą usługi API Management

Usługa Azure Container Apps umożliwia wdrażanie konteneryzowanych aplikacji bez zarządzania złożoną infrastrukturą. Deweloperzy interfejsu API mogą pisać kod przy użyciu preferowanego języka programowania lub struktury, tworzyć mikrousługi z pełną obsługą środowiska uruchomieniowego aplikacji rozproszonej (Dapr) i skalować na podstawie ruchu HTTP lub innych zdarzeń.

Usługa API Management jest zalecanym środowiskiem do uwidocznienia internetowego interfejsu API hostowanego przez aplikację kontenera z kilku powodów:

  • Oddzielenie od zarządzania frontonem i zabezpieczania frontonu uwidocznionego dla użytkowników interfejsu API przed zarządzaniem internetowym interfejsem API zaplecza i monitorowaniem go
  • Zarządzanie internetowymi interfejsami API hostowanymi jako usługa Container Apps w tym samym środowisku co inne interfejsy API
  • Stosowanie zasad w celu zmiany zachowania interfejsu API, takiego jak ograniczanie liczby wywołań
  • Bezpośredni użytkownicy interfejsu API do portalu deweloperów z możliwością dostosowywania usługi API Management w celu odnalezienia interfejsów API, żądania dostępu i wypróbowania ich

Aby uzyskać więcej informacji, zobacz About API Management (Informacje o usłudze API Management).

Specyfikacja interfejsu OpenAPI a operacje symboli wieloznacznych

Usługa API Management obsługuje importowanie usługi Container Apps, które udostępniają specyfikację interfejsu OpenAPI (definicja struktury Swagger). Jednak specyfikacja interfejsu OpenAPI nie jest wymagana. Zalecamy udostępnienie specyfikacji interfejsu OpenAPI. Usługa API Management może importować poszczególne operacje, co umożliwia oddzielne weryfikowanie, zabezpieczanie i aktualizowanie konfiguracji oraz zarządzanie nimi.

Jeśli aplikacja kontenera uwidacznia specyfikację interfejsu OpenAPI, usługa API Management tworzy operacje interfejsu API mapujące bezpośrednio na definicję. Usługa API Management będzie szukać w kilku lokalizacjach specyfikacji interfejsu OpenAPI

  • Konfiguracja aplikacji kontenera.
  • /openapi.json
  • /openapi.yml
  • /swagger/v1/swagger.json

Jeśli nie podano specyfikacji interfejsu OpenAPI, usługa API Management generuje operacje symboli wieloznacznych dla typowych czasowników HTTP (GET, PUT itd.). Nadal można korzystać z tych samych funkcji usługi API Management, ale operacje nie są zdefiniowane na tym samym poziomie szczegółowości.

W obu przypadkach można edytować lub dodawać operacje do interfejsu API po zaimportowaniu.

Przykład

Aplikacja kontenera zaplecza może obsługiwać dwie operacje GET:

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

Zaimportujesz aplikację kontenera do usługi API Management w ścieżce, takiej jak https://contosoapi.azure-api.net/store. W poniższej tabeli przedstawiono operacje zaimportowane do usługi API Management z lub bez specyfikacji interfejsu OpenAPI:

Typ Zaimportowane operacje Przykładowe żądania
Specyfikacja interfejsu OpenAPI GET /customer/{id}

GET /customers
GET https://contosoapi.azure-api.net/store/customer/1

GET https://contosoapi.azure-api.net/store/customers
Symbole wieloznaczne GET /* GET https://contosoapi.azure-api.net/store/customer/1

GET https://contosoapi.azure-api.net/store/customers

Operacja symboli wieloznacznych umożliwia wysyłanie tych samych żądań do usługi zaplecza co operacje w specyfikacji interfejsu OpenAPI. Jednak operacje określone w interfejsie OpenAPI można zarządzać oddzielnie w usłudze API Management.

Wymagania wstępne

  • Wykonaj procedury przedstawione w następującym przewodniku Szybki start: Tworzenie wystąpienia usługi Azure API Management.
  • Upewnij się, że istnieje aplikacja kontenera, która uwidacznia internetowy interfejs API w ramach subskrypcji. Aby uzyskać więcej informacji, zobacz dokumentację usługi Container Apps.

Przechodzenie do wystąpienia usługi API Management

  1. W witrynie Azure Portal wyszukaj i wybierz pozycję Usługi API Management.

    Wybieranie usług API Management

  2. Na stronie Usługi API Management wybierz wystąpienie usługi API Management.

    Wybieranie wystąpienia usługi API Management

Importowanie i publikowanie interfejsu API zaplecza

  1. Przejdź do usługi API Management w witrynie Azure Portal i wybierz z menu pozycję Interfejsy API.

  2. Wybierz pozycję Aplikacja kontenera z listy.

    Tworzenie na podstawie aplikacji kontenera

  3. Wybierz pozycję Przeglądaj , aby wyświetlić listę aplikacji kontenerów w ramach subskrypcji.

  4. Wybierz aplikację kontenera. Jeśli definicja interfejsu OpenAPI jest skojarzona z wybraną aplikacją kontenera, usługa API Management pobiera ją i importuje. Jeśli definicja interfejsu OpenAPI nie zostanie znaleziona, usługa API Management uwidacznia interfejs API, generując operacje symboli wieloznacznych dla typowych czasowników HTTP.

  5. Dodaj sufiks adresu URL interfejsu API. Sufiks to nazwa, która identyfikuje dany interfejs API w tym wystąpieniu usługi API Management. Musi być unikatowa w tym wystąpieniu usługi API Management.

  6. Opublikuj interfejs API przez skojarzenie go z produktem. W takim przypadku jest używany produkt typu „Nieograniczony”. Jeśli chcesz, aby interfejs API został opublikowany i dostępny dla deweloperów, dodaj go do produktu.

    Uwaga

    Produkty to skojarzenia co najmniej jednego interfejsu API. Możesz dołączyć wiele interfejsów API i oferować je deweloperom za pośrednictwem portalu dla deweloperów. Przed uzyskaniem dostępu do interfejsu API deweloperzy muszą najpierw zasubskrybować produkt. Podczas subskrybowania otrzymują oni klucz subskrypcji działający dla każdego interfejsu API w tym produkcie. Jeśli utworzono wystąpienie usługi API Management, jesteś administratorem i domyślnie subskrybujesz każdy produkt.

    Każde wystąpienie usługi API Management zawiera dwa przykładowe produkty podczas tworzenia:

    • Starter (początkowy)
    • Unlimited (nieograniczony)
  7. Wprowadź inne ustawienia interfejsu API. Wartości można ustawić podczas tworzenia lub skonfigurować później, przechodząc do karty Ustawienia. Ustawienia zostały wyjaśnione w samouczku Importowanie i publikowanie pierwszego interfejsu API.

  8. Wybierz pozycję Utwórz.

    Tworzenie interfejsu API z poziomu aplikacji kontenera

Testowanie nowego interfejsu API w witrynie Azure Portal

Operacje mogą być wywoływane bezpośrednio z witryny Azure Portal, która zapewnia wygodny sposób wyświetlania i testowania operacji interfejsu API. Interfejs API można również przetestować w portalu dla deweloperów lub przy użyciu własnych narzędzi klienckich REST.

  1. Wybierz interfejs API utworzony w poprzednim kroku.

  2. Wybierz kartę Test.

  3. Wybierz operację.

    Na stronie zostaną wyświetlone pola parametrów zapytania i pola nagłówków. Jednym z nagłówków jest Ocp-Apim-Subscription-Key, dla klucza subskrypcji produktu skojarzonego z tym interfejsem API. Jeśli utworzono wystąpienie API Management, oznacza to, że już jesteś administratorem, więc klucz zostanie uzupełniony automatycznie.

  4. Kliknij pozycję Wyślij.

    Po pomyślnym zakończeniu testu zaplecze odpowiada za pomocą wartości 200 OK i niektórych danych.

Testowanie operacji symboli wieloznacznych w portalu

Po wygenerowaniu operacji z symbolami wieloznacznymi operacje mogą nie być mapowane bezpośrednio do interfejsu API zaplecza. Na przykład wieloznaczne operacje GET zaimportowane w usłudze API Management domyślnie używają ścieżki / . Jednak interfejs API zaplecza może obsługiwać operację GET w następującej ścieżce:

/api/TodoItems

Możesz przetestować ścieżkę /api/TodoItems w następujący sposób.

  1. Wybierz utworzony interfejs API i wybierz operację.

  2. Wybierz kartę Test.

  3. W obszarze Parametry szablonu zaktualizuj wartość obok nazwy symbolu wieloznakowego (*). Na przykład wprowadź api/TodoItems. Ta wartość jest dołączana do ścieżki / dla operacji z symbolami wieloznacznymi.

    Testowanie operacji symboli wieloznacznych

  4. Wybierz Wyślij.

Dołączanie innych interfejsów API

Możesz utworzyć interfejs API interfejsów API udostępnianych przez różne usługi, w tym:

  • Specyfikacja interfejsu OpenAPI
  • Interfejs API PROTOKOŁU SOAP
  • Interfejs API graphQL
  • Aplikacja internetowa hostowana w usłudze aplikacja systemu Azure
  • Aplikacja funkcji platformy Azure
  • Azure Logic Apps
  • Azure Service Fabric

Dołącz inny interfejs API do istniejącego interfejsu API, wykonując następujące kroki.

Uwaga

Po zaimportowaniu innego interfejsu API operacje są dołączane do bieżącego interfejsu API.

  1. Przejdź do wystąpienia Azure API Management w Azure Portal.

    Przejdź do wystąpienia narzędzia Mgmt interfejsu API platformy Azure

  2. Wybierz pozycję Interfejsy API na stronie Przegląd lub z menu po lewej stronie.

    Wybierz interfejsy API

  3. Kliknij przycisk ... obok interfejsu API, który chcesz dołączyć do innego interfejsu API.

  4. Z menu rozwijanego wybierz pozycję Importuj.

    Wybieranie opcji importu

  5. Wybierz usługę, z której chcesz zaimportować interfejs API.

    Wybieranie usługi

Następne kroki