Udostępnij przez


Importowanie aplikacji kontenera platformy Azure jako interfejsu API

DOTYCZY: Wszystkie warstwy usługi API Management

W tym artykule opisano sposób importowania aplikacji kontenera platformy Azure do usługi Azure API Management jako interfejsu API i testowania zaimportowanego interfejsu API przy użyciu witryny Azure Portal.

Uwaga

Obecnie ta funkcja nie jest dostępna w obszarach roboczych.

W tym artykule omówiono sposób wykonywania następujących zadań:

  • Zaimportuj aplikację kontenerową, która uwidacznia webowy interfejs API
  • Testowanie interfejsu API w witrynie Azure Portal

Uwidacznianie aplikacji kontenera przy użyciu 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 rozproszonych (Dapr) i skalować na podstawie ruchu HTTP lub innych zdarzeń.

Korzystając z usługi API Management w celu uwidocznienia internetowego interfejsu API hostowanego w aplikacji kontenera, uzyskasz następujące korzyści:

  • Rozdziel zarządzanie i zabezpieczanie frontonu udostępnianego użytkownikom interfejsu API przed zarządzaniem internetowym interfejsem API i monitorowaniem interfejsu API zaplecza.
  • Zarządzaj webowymi interfejsami API hostowanymi jako aplikacje kontenerów w tym samym środowisku co inne twoje API.
  • Zastosuj zasady , aby zmienić zachowanie interfejsu API, takie jak ograniczanie liczby wywołań.
  • Kieruj użytkowników interfejsu API do konfigurowalnego portalu deweloperskiego usługi API Management, aby mogli odkrywać i poznawać Twoje interfejsy API, żądać dostępu oraz je wypróbować.

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 aplikacji kontenerowych, które udostępniają specyfikację interfejsu OpenAPI (definicję Swagger). Specyfikacja interfejsu OpenAPI nie jest wymagana, ale zalecamy ich podanie. Usługa API Management może importować poszczególne operacje, co pozwala na 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ć specyfikacji OpenAPI w kilku lokalizacjach.

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

Jeśli nie podano specyfikacji interfejsu OpenAPI, zarządzanie API generuje operacje uniwersalne 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://<app-service>.azurewebsites.net/customer/{id}
  • https://<app-service>.azurewebsites.net/customers

Zaimportujesz aplikację kontenera do usługi API Management w ścieżce, takiej jak https://<api>.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://<api>.azure-api.net/store/customer/1

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

GET https://<api>.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

Importowanie i publikowanie API zaplecza

  1. Przejdź do usługi Zarządzanie interfejsem API w portalu Azure i wybierz pozycję Interfejsy API>API po lewej stronie w okienku.

  2. W obszarze Utwórz z zasobu platformy Azure wybierz pozycję Aplikacja kontenera:

    Zrzut ekranu przedstawiający kafelek Aplikacja 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 jest nazwą identyfikującą interfejs API w wystąpieniu usługi API Management. Musi być unikatowa w wystąpieniu API Management.

  6. Skojarz API z produktem. Wybierz pozycję Pełna , a następnie w obszarze Produkt wybierz produkt. W tym przypadku jest używany produkt Unlimited . Jeśli chcesz opublikować interfejs API i być dostępny dla deweloperów, musisz dodać go do produktu.

    Uwaga

    Produkty są skojarzeniami 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. Gdy subskrybują, otrzymają klucz subskrypcji, który jest odpowiedni dla dowolnego interfejsu API w tym produkcie. Jeśli utworzono wystąpienie usługi API Management, jesteś administratorem i domyślnie subskrybujesz każdy produkt.

    W niektórych warstwach cenowych instancja usługi API Management zawiera dwa przykładowe produkty przy jej tworzeniu.

    • Rozrusznik
    • Unlimited (nieograniczony)
  7. Wprowadź inne ustawienia interfejsu API. Te wartości można ustawić podczas tworzenia interfejsu API lub konfigurowania ich później na karcie Ustawienia . Te ustawienia zostały wyjaśnione w samouczku Importowanie i publikowanie pierwszego interfejsu API .

  8. Wybierz pozycję Utwórz.

    Zrzut ekranu przedstawiający okno Tworzenie z aplikacji kontenera.

Testowanie nowego interfejsu API w witrynie Azure Portal

Operacje można wywoływać bezpośrednio z witryny Azure Portal. Ta metoda jest wygodnym sposobem 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.

Aby przetestować interfejs API w witrynie Azure Portal:

  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. Ten nagłówek dotyczy klucza subskrypcji produktu skojarzonego z interfejsem API. Jeśli utworzono wystąpienie usługi API Management, jesteś administratorem, więc klucz jest wypełniany automatycznie.

  4. Wybierz Wyślij.

    Po pomyślnym zakończeniu testu serwer odpowiada za pomocą 200 OK oraz danymi.

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, w usłudze API Management operacje GET z symbolami wieloznacznymi są domyślnie importowane ze ścieżką /. Jednak interfejs API zaplecza może obsługiwać operację GET w następującej ścieżce:

/api/TodoItems

Aby przetestować ścieżkę /api/TodoItems :

  1. Wybierz utworzony interfejs API, a następnie 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.

    Zrzut ekranu przedstawiający kroki testowania operacji z symbolami wieloznacznymi.

  4. Wybierz Wyślij.

Dołączanie innych interfejsów API

Interfejs API można zbudować z API, które są udostępniane przez różne usługi, w tym:

  • Specyfikacja interfejsu OpenAPI
  • Interfejs SOAP
  • API GraphQL
  • Aplikacja internetowa hostowana w usłudze Azure App Service
  • Azure Functions
  • Aplikacje logiki Azure
  • Azure Service Fabric

Uwaga

Podczas importowania interfejsu API operacje są dołączane do bieżącego interfejsu API.

Aby dodać interfejs API do istniejącego:

  1. Przejdź do instancji Azure API Management w portalu Azure.

    Zrzut ekranu przedstawiający stronę usług API Management.

  2. Wybierz interfejsy API na stronie Przegląd lub wybierz interfejsy API>interfejsy API w menu po lewej stronie.

    Zrzut ekranu pokazujący wybór interfejsów API na stronie Przegląd.

  3. Wybierz wielokropek (...) obok interfejsu API, do którego chcesz dołączyć inny.

  4. Wybierz Importuj z menu rozwijanego:

    Zrzut ekranu przedstawiający polecenie Importuj.

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