Пошаговое руководство с примером проекта

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

В этом посте мы увидим, как настроить APIM для API Java, работающих с функциями Azure.

  • Предварительные требования
  • Пример проекта
  • Запуск API
  • Создание шлюза APIM
  • Импорт функций Azure
  • Запуск API с APIM
  • Резюме
  • Заключение

Предпосылки

Если вы хотите написать бессерверный NodeJS REST API, вам нужно знать множество вещей. Во-первых, вам нужно создать две учетные записи: учетную запись Github для хранения исходного кода и учетную запись Microsoft для развертывания этого кода с помощью службы приложений-функций. Давайте создадим эти учетные записи, перейдя по ссылкам ниже. И то, и другое можно запустить бесплатно.

Поскольку мы создаем приложение Java REST API, вам необходимо быть знакомым с java и инструментом Maven. Вам необходимо установить Java SDK на локальный компьютер.

Весь код API написан на функциях Java Azure. Вам необходимо знать следующее.

Если вы новичок в Azure, ознакомьтесь со статьей ниже, чтобы узнать, как начать работу.

Учетная запись Microsoft Azure

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

Вам необходимо создать подписку для своей учетной записи. Самая распространенная - подписка Pay As You Go.

Вам нужна подписка, которая будет связана с вашим клиентом, чтобы вся стоимость была оплачена по этой подписке.

Пример проекта

Это простой Java REST API, в котором вы можете добавлять задачи, удалять задачи, обновлять задачи и получать задачи. Вот пример проекта, который вы можете клонировать и запустить на своем локальном компьютере.

// clone the project
git clone https://github.com/bbachi/serverless-java-restapi-azure.git

Запуск API

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

Как написать бессерверный Java REST API с помощью функций Azure

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

Создание шлюза APIM

Мы видели, как запускать API NodeJS в Функциях Azure. Давайте создадим шлюз APIM, выполнив поиск APIM в строке поиска.

Вы можете предоставить все подробности ниже и нажать кнопку «Обзор + Создать».

Вы можете нажать на услугу и перейти на страницу с подробностями. Вы можете увидеть URL-адрес шлюза и URL-адрес портала разработчика.

Импорт функций Azure

После завершения создания APIM вам необходимо импортировать функцию Azure, щелкнув API в левой колонке.

Echo API создается по умолчанию при создании APIM. Вы можете удалить его, если хотите.

Давайте добавим API, выбрав приложение-функцию в разделе ресурсов «Создать из Azure».

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

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

Вы можете выбрать, какие конечные точки вам нужно импортировать, как показано ниже.

Вы можете нажать кнопку «Создать», чтобы завершить импорт.

После завершения импорта вы увидите список API-интерфейсов.

Запуск API с APIM

Во-первых, вам нужно снять флажок с подписки. Вы можете использовать это или нет. Если вы хотите его использовать, вам необходимо передавать этот ключ подписки в каждом запросе в заголовках.

Если вы нажмете API, не передав этот ключ в заголовках, вы увидите 401 неавторизованный, как показано ниже.

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

Резюме

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

Заключение

Мы видели, как импортировать функции Azure и обслуживать их через шлюз APIM. В будущих публикациях мы увидим, как поделиться этими API-интерфейсами через портал разработчика, как настроить контекстные пути, добавить OAuth 2.0 и т. Д.