Упражнение — Создание нового API в службе API Management из приложения функций

Завершено

Чтобы предоставлять пользователям Функции Azure в составе единого API, добавьте их в Управление API Azure.

В вашей компании, занимающейся интернет-торговлей, разработчики создали несколько функций Azure в качестве микрослужб. Каждая функция реализует небольшую часть функциональности магазина. Необходимо собрать эти функции в один API.

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

Создание функций

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

  1. Чтобы клонировать проект функций, выполните следующую команду в Azure Cloud Shell справа.

    git clone https://github.com/MicrosoftDocs/mslearn-apim-and-functions.git ~/OnlineStoreFuncs
    
  2. Выполните следующие команды в Cloud Shell, чтобы настроить необходимые ресурсы Azure, которые нужны для выполнения этого упражнения.

    cd ~/OnlineStoreFuncs
    bash setup.sh
    

    Сценарий setup.sh создает два функциональных приложения в группе ресурсов песочницы, которые активированы для этого модуля. Как показано на рисунке ниже, каждое приложение размещает одну функцию — OrderDetails и ProductDetails. Сценарий также настраивает учетную запись хранения для функций. Обе функции имеют URL-адреса в домене azurewebsites.net. Имена функций содержат случайные числа, чтобы быть уникальными. Выполнение сценария занимает несколько минут.

    Схема, иллюстрирующая результаты сценария setup.sh и связь функций с общим дизайном приложения.

Тестирование функции ProductDetails

Теперь давайте протестируем функцию ProductDetails и узнаем, как она работает, прежде чем добавить ее в Управление API.

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

  2. В меню портала Azure или на странице Домашняя выберите Все ресурсы. Появится панель Все ресурсы.

  3. Выберите приложение-функцию, имя которого начинается со строки ProductFunction. Откроется панель "Приложение-функция" с выбранной вкладкой "Обзор ".

    Снимок экрана: выбор меню для открытия функции ProductDetails.

  4. В списке функций для приложения функции выберите ProductDetails. Панель функции ProductDetails отображается.

  5. В меню "Сведения о продукте" в разделе Разработчик выберите Code + Test (Код и тестирование). Откроется панель Код и тестирование для функции ProductDetails, в которой отображается содержимое файла function.json.

    Снимок экрана: панель

  6. На панели команд нажмите Тест/Запуск. Откроется панель "Ввод/вывод" для тестирования HTTP-запроса.

  7. На вкладке Входные данные в раскрывающемся списке поля Метод HTTP выберите GET.

  8. В разделе "Запрос " в поле "Имя" введите идентификатор и в поле "Значение " введите 3. Затем выберите Выполнить.

    Снимок экрана панели ввода для функции

  9. Откроется панель журнала для подключения запроса. На вкладке Выходные данные отображается код отклика HTTP (200 OK) и содержимое для элемента 3 в базе данных.

    Снимок экрана: выходные данные панели для пункта

    Можно также протестировать функцию, введя значения идентификаторов 1 и 2.

  10. Нажмите кнопку "Закрыть", чтобы закрыть вкладки входных и выходных данных для кода и теста.

  11. На панели команд в области "Код и тест" для функции ProductDetails выберите Получить URL-адрес функции. Обратите внимание, что поддомен URL-адреса — это имя приложения-функции, за которым следует домен azurewebsites.net.

Примечание.

Этот URL-адрес можно использовать для тестирования функции в браузере. Для URL-адреса требуется входные данные; Добавьте строку запроса &id=1, чтобы запросить сведения о первом элементе в коллекции продуктов.

Представьте функциональное приложение как API, используя Управление API Azure.

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

  1. В меню ресурсов выберите Все ресурсы. Появится панель Все ресурсы.

  2. Отсортируйте список ресурсов по типу. Обратите внимание, что у вас есть приложения OrderFunction и ProductFunction.

  3. Выберите приложение-функцию ProductFunction.

  4. В меню приложения-функции прокрутите страницу до категории API и выберите Управление API. Откроется панель Управление API для функции ProductFunction.

    Снимок экрана: выбор меню для открытия службы приложений Управления API.

  5. В поле Управление API выберите Создать. Откроется панель "Создание службы управления API ".

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

  6. Введите указанные ниже значения для каждого параметра.

    Настройка Значение
    Подписка Подписка Concierge
    Группа ресурсов [имя группы ресурсов sandbox]
    Область/регион Выберите расположение, которое поддерживает план потребления: Западная часть США, Центрально-северная часть США, Западная Европа, Северная Европа, Юго-Восточная Азия, Восточная Австралия
    Имя ресурса Интернет-магазин
    Название организации Интернет-магазин
    Адрес электронной почты администратора Введите адрес электронной почты.
    Ценовая категория Потребление (Соглашение об уровне обслуживания, обеспечивающее доступность в течение 99,95 % времени)
  7. Нажмите кнопку "Далее": мониторинг и защита и очистка параметра Application Insights .

  8. Выберите Review + Create (Просмотреть и создать). По завершении проверки нажмите Создать, чтобы создать связанный экземпляр службы "Управление API". Подождите несколько минут, пока экспорт не будет завершен.

  9. После развертывания экземпляра службы "Управление API" выберите Привязать API.

    Снимок экрана: управление API — выделена кнопка

    Откроется панель службы управления API Импорт функций Azure, на которой выделена функция ProductDetails.

    Снимок экрана: панель службы управления API

  10. Нажмите кнопку Выбрать, чтобы продолжить. Откроется диалоговое окно Создание из функционального приложения.

    Снимок экрана: диалоговое окно приложения

  11. Измените значение Суффикс URL-адреса API на products и выберите Создать. Azure создаст API для функции ProductDetails. Откроется вкладка Проектирование для панели Управление API приложения-функции.

Это упражнение показывает, что вы можете полностью настроить свой API с помощью службы приложения-функции Azure.

Тестирование конечной точки продуктов OnlineStore

Теперь у вас есть API ProductDetails в экземпляре управления API, который вы создали. Давайте протестируем этот API с помощью инструментов службы "Управление API" в Azure.

  1. В области Управление API приложения-функции выберите вкладку Тест. Доступные операции для API отображаются в левом столбце.

  2. Выберите GET ProductDetails. Откроется область консоли ProductDetails.

  3. В разделе Параметры запроса выберите Добавить параметр.

    Снимок экрана: консоль ProductDetails — выделены значения параметров запроса для HTTP-запроса GET.

  4. В поле NAME введите id, а в поле VALUE — 1, а затем щелкните Отправить, чтобы создать запрос GET.

    Раздел HTTP-ответ консоли содержит две вкладки: "Сообщение" и "Трассировка". Вкладка "Сообщение" заполняется HTTP-ответом. Сведения о продукте в формате JSON отображаются в конце ответа. Прокрутите страницу вверх до раздела HTTP-запрос и обратите внимание на формат запроса. Запрос был отправлен адресату в домене azure-api.net. Это расположение отличается от домена azurewebsites.net, в котором размещено приложение-функция. Этот API можно проверить с помощью других параметров запроса, таких как id=2 или id=3.

    Снимок экрана: сообщение **HTTP-запрос** и **HTTP-ответ**.