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

Завершено

Чтобы предоставлять пользователям Функции 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. Имена функций содержат случайные числа, чтобы быть уникальными. Выполнение сценария занимает несколько минут.

    Diagram illustrating the results of the setup.sh script and how the functions relate to the overall application's design.

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

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

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

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

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

    Screenshot of menu selections to open ProductDetails function.

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

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

    Screenshot of the ProductDetails Code and Test pane, with Test/Run selected in the command bar.

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

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

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

  9. В поле Имя введите id, в поле Значение введите 3, затем нажмите кнопку Выполнить.

    Screenshot of the input pane for Test + Run, with the input parameter for the HTTP GET method highlighted.

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

    Screenshot of the output of a pane for Test + Run with response results of running the GET method.

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

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

  12. На панели команд в области "Код и тест" для функции 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.

    Screenshot showing menu selection to open the API Management app service.

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

    Screenshot showing settings for an API Management service.

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

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

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

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

    Screenshot of API Management highlighting the Link API button.

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

    Screenshot showing the Import Azure Functions API Management service pane.

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

    Screenshot showing the Create from Function app dialog box.

  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. В разделе Параметры запроса выберите Добавить параметр.

    Screenshot showing ProductDetails Console with query parameter values highlighted for the GET HTTP request.

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

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

    Screenshot showing the **Http request** and **HTTP response** message.