Руководство: Импортировать и опубликовать первый API

ПРИМЕНИМО К: все уровни API Management

В этом руководстве показано, как импортировать внутренний API спецификации OpenAPI в формате JSON в Azure API Management. В этом примере импортируется API открытый код Petstore.

Совет

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

При импорте серверного API в API Management api API Management становится шлюзом для внутреннего API. Шлюз можно настроить в соответствии с вашими потребностями в API Management, не изменив внутренний API. Дополнительные сведения см. в статье Transform and protect your API (Преобразование и защита API).

В этом руководстве описано следующее:

  • Импорт API в API Management
  • Просмотр и изменение параметров API
  • Тестирование API в Azure portal
  • Маршрутизация запросов API через API Management

После импорта API можно управлять в Azure portal.

Screenshot нового API в API Management в портале.

Предварительные условия

Перейдите к вашей инстанции API Management

  1. На портале Azure найдите и выберите службы управления API:

    Скриншот, отображающий службы управления API в результатах поиска.

  2. На странице служб API Management выберите экземпляр API Management:

    Снимок экрана, на котором показан экземпляр API Management на странице служб API Management.

Импорт и публикация API серверной части

В этом разделе показано, как импортировать и опубликовать серверный API по спецификации OpenAPI.

  1. В экземпляре API Management в разделе APIs в меню боковой панели выберите APIs.

  2. Выберите плитку OpenAPI.

  3. В окне Создание из спецификации OpenAPI выберите Полный.

  4. Введите значения из следующей таблицы.

    Можно задать значения API во время создания или позже, перейдя на вкладку Параметры.

    Снимок экрана: создание API на портале.

    Настройка значение Описание
    Спецификация OpenAPI https://petstore3.swagger.io/api/v3/openapi.json -Или- https://petstore.swagger.io/v2/swagger.json Указывает серверную службу, реализующую API, и операции, поддерживаемые API.

    URL-адрес серверной службы появится позже в качестве URL-адреса веб-службы на странице Параметры API.

    После импорта можно добавить, изменить, переименовать или удалить операции в спецификации.
    Включение параметров запроса в шаблоны операций Установлен (по умолчанию) Указывает, следует ли импортировать необходимые параметры запроса в спецификацию в качестве параметров шаблона в API Management.
    Отображаемое имя После ввода URL-адреса спецификации OpenAPI API Management заполняет это поле на основе JSON. Это имя отображается на портале разработчика.
    Имя После ввода URL-адреса спецификации OpenAPI API Management заполняет это поле на основе JSON. Уникальное имя для API.
    Description После ввода URL-адреса спецификации OpenAPI API Management заполняет это поле на основе JSON. Необязательное описание API.
    Схема URL-адресов HTTPS Какие протоколы могут получить доступ к API.
    Суффикс URL-адреса API petstore Суффикс, добавленный к базовому URL-адресу службы API Management. Управление API различает и направляет API по суффиксам, поэтому суффикс должен быть уникальным для каждого API у заданного издателя. Узнайте больше о том, как API Management направляет запросы.
    Теги Теги для упорядочивания API для поиска, группирования или фильтрации.
    Товары Unlimited Ассоциация одного или нескольких API. В некоторых уровнях экземпляр API Management поставляется с двумя примерами продуктов: Starter и Unlimited. Вы публикуете API на портале разработчика, связав API с продуктом.

    Вы можете включить несколько API в продукт и предложить подписки на продукты разработчикам на портале разработчиков. Чтобы добавить этот API в другой продукт, введите или выберите название продукта. Повторите этот шаг, чтобы добавить API в несколько продуктов. Вы также можете добавить API в продукты позже на странице Параметры.

    Дополнительные сведения о продуктах см. в статье Создание и публикация продукта.
    Шлюзы Управляемый Шлюзы API, предоставляющие API. Это поле доступно только в службах уровня Разработка и Премиум.

    Managed указывает шлюз, встроенный в службу API Management и размещенную корпорацией Майкрософт в Azure. Самостоятельно развёрнутые шлюзы доступны только в сервисах уровня "Разработчик" и "Премиум". Вы можете развернуть их локально или в других облаках.

    Если вы не выбираете шлюзы, API недоступен, и запросы API не выполняются.
    Версия этого API Выберите или отмените выбор Дополнительные сведения см. в статье Публикация нескольких версий API.
  5. Щелкните Создать, чтобы создать API.

Если у вас возникли проблемы с импортом определения API, ознакомьтесь с ограничениями импорта API и известными проблемами.

Просмотр и изменение параметров API

После импорта API можно просмотреть и изменить его параметры и операции в Azure portal.

  1. В экземпляре API Management в разделе APIs в меню боковой панели выберите APIs.

  2. Выберите импортированный API (например, Swagger Petstore). Скриншот параметров API в API Management на портале.

  3. Выберите вкладку "Конструктор" , чтобы просмотреть и изменить операции API в спецификации OpenAPI, включая:

    • Сведения об операциях, такие как URL-адрес, метод и описание
    • Определения запросов и ответов
    • Политики для изменения запросов и ответов
  4. Перейдите на вкладку "Параметры" , чтобы просмотреть и изменить сведения о конфигурации API, в том числе:

    • Отображаемое имя, имя и описание
    • URL-адрес веб-службы (серверная служба), схема URL-адресов и суффикс URL-адреса API
    • Продукты, теги и управление версиями
    • Более сложные параметры, такие как требования к подписке, безопасность и мониторинг

По мере работы с API Management руководствами вы узнаете больше о настройке параметров API. Эти параметры можно обновить в любое время, чтобы настроить конфигурацию API.

Тестирование нового API в Azure portal

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

  1. В экземпляре API Management выберите APIs>APIs>Swagger Petstore.

  2. Выберите вкладку "Тест" и выберите " Найти домашних животных по состоянию". На странице показан параметр запроса статуса. Выберите одно из доступных значений, например ожидание. Здесь также можно добавить параметры запроса и заголовки.

    В разделе HTTP-запроса заголовок Ocp-Apim-Subscription-Key заполняется автоматически, что вы можете увидеть, если нажмете на значок "глаз".

  3. Выберите Отправить.

    Скриншот тестирования API в портале Azure.

    Бэкенд отвечает 200 OK и некоторыми данными.

Как API Management маршрутизирует запросы

API Management выступает в качестве шлюза между клиентами API и внутренними службами. Когда клиент выполняет запрос к API, управляемому API Management, маршрутизация следует следующему шаблону:

URL-адрес запроса клиента:
[API Management gateway URL] + [API URL suffix] + [Operation endpoint]

API Management перенаправляет запрос в серверную службу с помощью этого шаблона:

URL-адрес серверной службы:
[Web service URL] + [Operation endpoint]

Замечание

Конечная точка Operation должна быть одинаковой в определении API Management и в настройках серверного сервиса для правильной маршрутизации. Несоответствующие конечные точки операций приводят к ошибкам 404 или другим ошибкам маршрутизации.

В следующей таблице описан каждый параметр маршрутизации в контексте примера API Petstore, используемого в этом руководстве:

Параметр Описание Пример (API Petstore)
URL-адрес шлюза управления API Базовый URL-адрес экземпляра API Management https://apim-hello-world.azure-api.net
Суффикс URL-адреса API Уникальный суффикс, определяющий API в API Management (настроенный во время создания API) petstore
URL-адрес веб-службы Базовый URL-адрес серверной службы, производный от спецификации OpenAPI https://petstore3.swagger.io/api/v3
Конечная точка операции Путь к определенной конечной точке операции (производный от спецификации API) /pet/findByStatus

Пример: поиск домашних животных по состоянию

Использование API Petstore, импортированного в этом руководстве:

  • Клиент вызывает API Management:
    https://apim-hello-world.azure-api.net/petstore/pet/findByStatus?status=pending

    • URL-адрес шлюза API Management https://apim-hello-world.azure-api.net
    • Суффикс URL-адреса API: petstore
    • Конечная точка операции: /pet/findByStatus
  • Маршрутизация API Management на сервер:
    https://petstore3.swagger.io/api/v3/pet/findByStatus?status=pending

    • URL-адрес веб-службы: https://petstore3.swagger.io/api/v3
    • Конечная точка операции: /pet/findByStatus (то же, что и в определении API Management)

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

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