Пошаговое руководство с примером проекта
При развертывании веб-приложений или 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
- Расширение функций Azure для Visual Studio Code
- Набор инструментов Azure для IntelliJ
- Основные инструменты функции 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 и т. Д.