Поделиться через


Использование портала API для VMware Tanzu

Примечание.

Планы "Базовый", "Стандартный" и "Корпоративный" будут устарели начиная с середины марта 2025 г. с 3-летнего периода выхода на пенсию. Рекомендуется перейти в приложения контейнеров Azure. Дополнительные сведения см. в объявлении о выходе на пенсию в Azure Spring Apps.

Стандартный план потребления и выделенного плана будет устарел с 30 сентября 2024 г. с полным завершением работы после шести месяцев. Рекомендуется перейти в приложения контейнеров Azure. Дополнительные сведения см. в статье "Миграция потребления Azure Spring Apps Standard" и выделенного плана в приложения контейнеров Azure.

Эта статья относится к:❌ Basic/Standard ✔️ Enterprise

В этой статье показано, как использовать портал API для VMware Tanzu с планом Azure Spring Apps Enterprise.

Портал API является одним из коммерческих компонентов VMware Tanzu. Портал API поддерживает просмотр определений API из Шлюза Spring Cloud для VMware Tanzu и тестирования определенных маршрутов API из браузера. Она также поддерживает включение проверки подлинности единого входа с помощью конфигурации.

Необходимые компоненты

Настройка единого входа

Портал API поддерживает проверку подлинности и авторизацию через единый вход при использовании поставщика удостоверений OpenID, который поддерживает протокол обнаружения OpenID Connect.

Примечание.

Поддерживаются только те серверы авторизации, которые поддерживают протокол обнаружения OpenID Connect. Не забудьте настроить внешний сервер авторизации, чтобы разрешить перенаправления обратно на портал API. Ознакомьтесь с документацией по серверу авторизации и добавьте https://<api-portal-external-url>/login/oauth2/code/sso в список разрешенных URI перенаправления.

Свойство Обязательное? Description
issuerUri Да Универсальный код ресурса (URI), который приложение утверждает в качестве идентификатора издателя. Например, если предоставленный издателем URI является "https://example.com", то запрос конфигурации поставщика OpenID выполняется в "https://example.com/.well-known/openid-configuration". В ответе ожидается конфигурация поставщика OpenID.
clientId Да Идентификатор клиента OpenID Connect, предоставленный вашим поставщиком удостоверений.
clientSecret Да Секрет клиента OpenID Connect, предоставленный вашим поставщиком удостоверений.
область Да Список областей для включения в маркеры идентификации JWT. Этот список должен основываться на областях, разрешенных поставщиком удостоверений.

Чтобы настроить единый вход с идентификатором Microsoft Entra, см. инструкции по настройке единого входа с помощью Идентификатора Microsoft Entra для Spring Cloud Gateway и портала API для Tanzu.

Примечание.

Если вы неправильно настроите свойство единого входа, например укажете неправильный пароль, удалите все свойство единого входа и повторно добавьте правильную конфигурацию.

Настройка счетчика экземпляров

Чтобы настроить количество экземпляров на портале API, выполните следующие действия.

  1. Перейдите к экземпляру службы и выберите портал API.
  2. Выберите "Горизонтальное масштабирование".
  3. Настройте число экземпляров и нажмите кнопку "Сохранить".

Назначение общедоступной конечной точки для портала API

Чтобы назначить общедоступную конечную точку порталу API, выполните следующие действия.

  1. Войдите на портал API.
  2. Щелкните Обзор чтобы просмотреть состояние выполнения и ресурсы, выделенные порталу API.
  3. Щелкните Да рядом с областью Назначить конечную точку, чтобы назначить общедоступную конечную точку. URL-адрес создается в течение нескольких минут.
  4. Сохраните этот URL-адрес для последующего использования.

Настройка функции пробного интерфейса API

Портал API позволяет централизованно просматривать API и пробовать их с помощью функции пробной версии API. Пробная попытка API включена по умолчанию, и эта конфигурация помогает отключить ее во всем экземпляре портала API. Дополнительные сведения см. в разделе "Пробные API" в разделе портала API.

Чтобы включить или отключить пробную версию API, выполните следующие действия.

  1. Перейдите к экземпляру службы и выберите портал API.
  2. Выберите Конфигурация.
  3. Выберите или снимите флажок Включить пробную версию API, а затем нажмите кнопку "Сохранить".

Настройка маршрутизации API с помощью спецификации OpenAPI в Spring Cloud Gateway для Tanzu

В этом разделе описывается, как просматривать и пробовать API с определениями схем на портале API. Выполните следующие действия, чтобы настроить маршрутизацию API с URL-адресом спецификации OpenAPI в Spring Cloud Gateway для Tanzu.

  1. Создайте приложение в Azure Spring Apps, в которое шлюз направляет трафик.

  2. Создайте определение OpenAPI и получите URI для доступа к нему. Принимаются следующие два варианта URI:

    • Первый вариант — использовать общедоступную конечную точку, например URI https://petstore3.swagger.io/api/v3/openapi.json, которая включает спецификацию OpenAPI.
    • Второй вариант — поместить определение OpenAPI в относительный путь приложения в Azure Spring Apps и создать универсальный код ресурса (URI) в формате http://<app-name>/<relative-path-to-OpenAPI-spec>. Вы можете выбрать средства SpringDocs для автоматического создания спецификации OpenAPI, поэтому URI может быть таким же http://<app-name>/v3/api-docs.
  3. Используйте следующую команду, чтобы назначить общедоступную конечную точку шлюзу для доступа к ней.

    az spring gateway update --assign-endpoint
    
  4. Настройте свойства Шлюза Spring Cloud для Tanzu, используя следующую команду:

    az spring gateway update \
        --api-description "<api-description>" \
        --api-title "<api-title>" \
        --api-version "v0.1" \
        --server-url "<endpoint-in-the-previous-step>" \
        --allowed-origins "*"
    
  5. Настройте правила маршрутизации для приложений.

    Чтобы создать правила для доступа к приложению в Spring Cloud Gateway для конфигурации маршрута Tanzu, сохраните следующее содержимое в файле sample.json .

    {
       "open_api": {
          "uri": "https://petstore3.swagger.io/api/v3/openapi.json"
       },
       "routes": [
          {
             "title": "Petstore",
             "description": "Route to application",
             "predicates": [
                "Path=/pet",
                "Method=PUT"
             ],
             "filters": [
                "StripPrefix=0"
             ]
          }
       ]
    }
    

    Значением open_api.uri является общедоступная конечная точка или универсальный код ресурса (URI), созданный на втором шаге выше. Вы можете добавлять предикаты и фильтры для путей, определенных в спецификации OpenAPI.

    Используйте следующую команду, чтобы применить правило к приложению, созданному на первом шаге:

    az spring gateway route-config create \
        --name sample \
        --app-name <app-name> \
        --routes-file sample.json
    
  6. Проверьте ответ созданных маршрутов. Вы также можете просмотреть маршруты на портале.

Просмотр предоставляемых API на портале API

Примечание.

Синхронизация между шлюзом Spring Cloud для Tanzu и порталом API занимает несколько минут.

Щелкните endpoint URL, чтобы перейти к порталу API. Вы увидите все маршруты, настроенные в Spring Cloud Gateway для Tanzu.

Снимок экрана: портал API, на котором показаны настроенные маршруты.

Пробное использование API на портале API

Используйте следующие действия, чтобы попробовать ИНТЕРФЕЙСы API:

  1. Выберите приложение API, которое вы решили применить.

  2. Выберите EXECUTE и появится ответ.

    Снимок экрана: портал API с выбранным параметром

Включение и отключение портала API после создания службы

Вы можете включить и отключить портал API после создания службы с помощью портал Azure или Azure CLI. Перед отключением портала API необходимо отменить назначение конечной точки.

Чтобы включить или отключить портал API с помощью портал Azure, выполните следующие действия.

  1. Перейдите к ресурсу службы и выберите портал API.
  2. Выберите Управление.
  3. Выберите или отмените выбор портала ВКЛЮЧЕНИЯ API, а затем нажмите кнопку "Сохранить".
  4. Теперь можно просмотреть состояние портала API на странице портала API.

Следующие шаги