Импорт приложения-контейнера Azure в формате API

В этой статье описаны процессы импорта приложения-контейнера Azure в Управление API Azure и тестирования импортированного API на портале Azure. Вы узнаете, как выполнять следующие задачи:

  • Импорт приложения-контейнера, предоставляющего веб-API
  • проверка API на портале Azure;

Предоставление приложения-контейнера через Управление API

Контейнеры приложений Azure позволяет развертывать контейнерные приложения без управления сложной инфраструктурой. Разработчики API могут писать код с помощью предпочитаемого языка программирования или платформы, создавать микрослужбы с полной поддержкой распределенной среды выполнения приложений (Dapr) и выполнять масштабирование на основе HTTP-трафика или других событий.

Мы рекомендуем использовать Управление API в качестве среды управления для всех веб-API, размещенных в Контейнерах приложений. Для этого есть несколько причин:

  • возможность отделить управление и защиту интерфейса, предоставляемого потребителям API, от управления и мониторинга веб-API серверной части;
  • управление интерфейсами веб-API, размещенными в формате приложений-контейнеров, в общей среде со всеми остальными API-интерфейсами;
  • применение политик для изменения поведения API, например для ограничения частоты вызовов;
  • персонализируемый портал разработчика службы "Управление API", который позволяет потребителям API находить ваши API-интерфейсы, запрашивать доступ к ним и тестировать их.

Дополнительные сведения см. в статье Сведения об Управлении API.

Спецификация OpenAPI или подстановочные знаки

Управление API поддерживает импорт приложений-контейнеров, предоставляющих спецификацию OpenAPI (определение Swagger). Но использование спецификации OpenAPI не является обязательным требованием. Рекомендуем предоставить спецификацию OpenAPI. Управление API может импортировать отдельные операции, что позволяет проверять, администрировать, защищать и обновлять конфигурации для каждой операции отдельно.

Если приложение-контейнер предоставляет спецификацию OpenAPI, Управление API создает операции API, которые сопоставляются напрямую с определением. Управление API будет выполнять поиск в нескольких расположениях для спецификации OpenAPI

  • Конфигурация приложения-контейнера.
  • /openapi.json
  • /openapi.yml
  • /swagger/v1/swagger.json

Если спецификация OpenAPI не предоставлена, Управление API создает операции с подстановочными знаками для типичных HTTP-команд (GET, PUT и т. п.). Вы можете использовать все возможности Управления API, но они не настраиваются с той же степенью детализации.

В любом случае вы всегда можете изменять операции в импортированном API и (или) добавлять их.

Например, .

Предположим, что приложение-контейнер серверной части поддерживает две операции GET:

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

Вы импортируете это приложение-контейнер в службу "Управление API" с путем, подобным https://contosoapi.azure-api.net/store. В приведенной ниже таблице перечислены операции, которые импортируются в Управление API при наличии и при отсутствии спецификации OpenAPI.

Тип Импортируемые операции Примеры запросов
Спецификация OpenAPI GET /customer/{id}

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

GET https://contosoapi.azure-api.net/store/customers
Подстановочный знак GET /* GET https://contosoapi.azure-api.net/store/customer/1

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

Операция с подстановочными знаками поддерживает передачу в службу серверной части всех тех же запросов, что и спецификация OpenAPI. Но операциями, определенными через OpenAPI, вы можете управлять в службе "Управление API" раздельно.

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

Перейдите к экземпляру службы управления API.

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

    Выбор

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

    Выбор экземпляра службы

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

  1. На портале Azure перейдите к службе "Управление API" и в меню выберите Интерфейсы API.

  2. Выберите приложение-контейнер из списка.

    Создание из приложения-контейнера

  3. Выберите Обзор, чтобы просмотреть список приложений-контейнеров в подписке.

  4. Выберите приложение-контейнер. Если с выбранным приложением-контейнером связано определение OpenAPI, Управление API извлечет его и импортирует. Если определения OpenAPI в нем нет, Управление API будет использовать для предоставления этого API операции с подстановочными знаками для самых распространенных HTTP-команд.

  5. Добавьте суффикс URL-адреса API. Суффиксом называется имя, которое идентифицирует конкретный API в экземпляре службы "Управление API". Он должен быть уникальным в этом экземпляре Управления API.

  6. Чтобы опубликовать API, его нужно связать с определенным продуктом. В нашем случае используется продукт Без ограничений. Если вы планируете опубликовать API и предоставить разработчикам доступ к нему, добавьте его в продукт.

    Примечание

    Продуктами называют ассоциации из одного или нескольких API. В продуктах можно объединить много API-интерфейсов и предлагать их разработчикам через портал разработчика. Чтобы получить доступ к API, разработчикам необходимо сначала подписаться на продукт. После этого они получат ключ подписки, который подходит для любого API в этом продукте. Создавая экземпляр Управления API, вы автоматически становитесь его администратором. Поэтому вы по умолчанию будете подписаны на все соответствующие продукты.

    Каждый экземпляр Управление API поставляется с двумя примерами продуктов при создании:

    • Starter
    • Unlimited
  7. Введите другие параметры API. Вы можете задать значения во время создания или настроить их позже, перейдя на вкладку Параметры. Эти параметры описаны в руководстве Импорт и публикация первого интерфейса API.

  8. Нажмите кнопку создания.

    Создание API из приложения-контейнера

Проверка нового API на портале Azure

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

  1. Выберите API, созданный на предыдущем шаге.

  2. Откройте вкладку Тест.

  3. Выберите операцию.

    На странице отобразятся поля для параметров запроса и для заголовков. Один из заголовков, Ocp-Apim-Subscription-Key, содержит ключ подписки для продукта, связанного с этим API. Как создатель экземпляра службы "Управление API", вы автоматически являетесь администратором, поэтому сведения о ключе будут заполнены автоматически.

  4. Нажмите кнопку Отправить.

    Если тест пройдет успешно, приложение серверной части передаст код ответа 200 — OK и некоторые данные.

Тестирование операций с подстановочными знаками на портале

Если создаются операции с подстановочными знаками, они не всегда будут напрямую сопоставляться с API серверной части. Например, в импортированных через Управление API операциях GET с подстановочными знаками по умолчанию используется путь /. Но API серверной части может поддерживать операции GET и с таким путем:

/api/TodoItems

Чтобы протестировать путь /api/TodoItems, выполните описанные ниже действия.

  1. Выберите созданный API и нужную операцию.

  2. Откройте вкладку Тест.

  3. В разделе Параметры шаблона измените значение рядом с именем подстановочного знака (*). Например, введите api/TodoItems. Это значение будет добавляться к пути / для операций с подстановочными знаками.

    Тестирование операций с подстановочными знаками

  4. Нажмите кнопку Отправить.

Добавление других интерфейсов API

Вы можете составить API из API, предоставляемых различными службами, включая:

  • Спецификацию OpenAPI
  • A SOAP API
  • Веб-приложение, размещенное в Службе приложений Azure
  • Приложение-функция Azure
  • Azure Logic Apps
  • Azure Service Fabric

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

Примечание

После импорта другого API операции добавляются к текущему API.

  1. Перейдите к экземпляру управления API Azure на портале Azure.

    Перейдите к экземпляру управления API Azure

  2. Выберите API на странице Обзор или в меню слева.

    Выберите API

  3. Щелкните ...рядом с API, к которому нужно добавить другой API.

  4. В раскрывающемся меню выберите Импорт.

    Выберите «Импортировать»

  5. Выберите службу, из которой следует импортировать API.

    Выберите службу

Дальнейшие действия