Эта статья относится к:✅ Basic/Standard ✅ Enterprise
В этой статье объясняется, как развернуть приложение на основе событий Spring Boot в Azure Spring Apps.
Пример проекта — это приложение на основе событий, которое подписывается на очередь служебной шины с именем, а затем обрабатывает сообщение и отправляет другое сообщение в другую очередь с именемlower-caseupper-case. Чтобы сделать приложение простым, обработка сообщений просто преобразует сообщение в верхний регистр. На следующей схеме показан этот процесс:
В этой статье приведены следующие варианты развертывания в Azure Spring Apps:
- Вариант портал Azure — самый простой и самый быстрый способ создания ресурсов и развертывания приложений с помощью одного щелчка мыши. Этот вариант подходит для разработчиков Spring, которые хотят быстро развернуть приложения в облачных службах Azure.
- Параметр подключаемого модуля портал Azure + Maven является более обычным способом создания ресурсов и развертывания приложений пошаговые шаги. Этот вариант подходит для разработчиков Spring, которые впервые используют облачные службы Azure.
- Вариант командной строки разработчика Azure — это более эффективный способ автоматического создания ресурсов и развертывания приложений с помощью простых команд. Azure Developer CLI использует шаблон для подготовки необходимых ресурсов Azure и развертывания кода приложения. Этот вариант подходит для разработчиков Spring, знакомых с облачными службами Azure.
- Вариант портала Azure — самый простой и быстрый способ создания ресурсов и развертывания приложений с помощью одного щелчка мыши. Этот вариант подходит для разработчиков Spring, которые хотят быстро развернуть приложения в облачных службах Azure.
- Параметр подключаемого модуля портал Azure + Maven является более обычным способом создания ресурсов и развертывания приложений пошаговые шаги. Этот вариант подходит для разработчиков Spring, которые впервые используют облачные службы Azure.
- Параметр Azure CLI использует мощное средство командной строки для управления ресурсами Azure. Этот вариант подходит для разработчиков Spring, знакомых с облачными службами Azure.
1. Предварительные требования
2. Подготовка проекта Spring
Кнопка "Развернуть в Azure" в следующем разделе инициирует процесс в портале Azure, который загружает JAR-пакет со страницы выпусков ASA-Samples-Web-Application на сайте GitHub. Никаких локальных шагов подготовки не требуется.
Чтобы подготовить пример локально, выполните следующие действия.
Пример проекта готов на GitHub. Клонируйте пример проекта с помощью следующей команды:
git clone https://github.com/Azure-Samples/ASA-Samples-Event-Driven-Application.git
Создайте пример проекта с помощью следующих команд:
cd ASA-Samples-Event-Driven-Application
./mvnw clean package
Чтобы подготовить пример локально, выполните следующие действия. Эти действия используют AZD для инициализации приложения на основе событий из шаблонов Интерфейса командной строки разработчика Azure.
Откройте терминал, создайте новую пустую папку, а затем перейдите к ней.
Чтобы инициализировать проект, используйте следующую команду:
azd init --template Azure-Samples/ASA-Samples-Event-Driven-Application
В следующем списке описаны взаимодействия с командами:
-
Введите новое имя среды: укажите имя среды, которое используется в качестве суффикса для группы ресурсов, созданной для хранения всех ресурсов Azure. Это имя должно быть уникальным в подписке Azure.
Консоль выводит сообщения, аналогичные следующему примеру:
Initializing a new project (azd init)
(✓) Done: Initialized git repository
(✓) Done: Downloading template code to: <your-local-path>
Enter a new environment name: <your-env-name>
SUCCESS: New project initialized!
You can view the template code in your directory: <your-local-path>
Learn more about running 3rd party code on our DevHub: https://aka.ms/azd-third-party-code-notice
3. Подготовка облачной среды
Основными ресурсами, которые вам понадобятся для работы с этим примером, являются экземпляр Azure Spring Apps, экземпляр Azure Key Vault и экземпляр Azure Service Bus. Чтобы создать эти ресурсы, выполните следующие действия.
В этом разделе используется кнопка "Развернуть в Azure" для запуска интерфейса развертывания в портал Azure. В этом интерфейсе используется шаблон ARM для создания ресурсов Azure.
3.1. Войдите на портал Azure
Перейдите к портал Azure и введите учетные данные для входа на портал. Панель мониторинга службы является представлением по умолчанию.
3.2. Создание ресурсов Azure
Чтобы создать все ресурсы Azure, от которые зависит приложение, выполните следующие действия.
Нажмите следующую кнопку "Развернуть в Azure", чтобы запустить процесс развертывания в портал Azure:
Заполните форму на вкладке "Основные сведения". Используйте следующую таблицу в качестве руководства для завершения формы:
| Настройки |
Рекомендуемое значение |
Описание |
|
Подписка |
Имя вашей подписки. |
Подписка Azure, которую вы хотите использовать для сервера. Если у вас есть несколько подписок, выберите ту, через которую вы предпочитаете оплачивать этот ресурс. |
|
Группа ресурсов |
myresourcegroup |
Новое имя группы ресурсов или уже имеющееся из подписки. |
|
Регион |
Регион, ближайший к вашим пользователям. |
Регион используется для создания группы ресурсов. |
Выберите "Рецензирование" и " Создать ", чтобы просмотреть выбранные варианты. Затем выберите "Создать ", чтобы развернуть приложение в Azure Spring Apps.
На панели инструментов щелкните значок Уведомления (колокольчик), чтобы отслеживать процесс развертывания. После завершения развертывания можно выбрать «Закрепить на панели мониторинга», что создаст плитку этой службы на панели мониторинга портала Azure как ярлык для страницы «Обзор» службы. Выберите "Перейти к ресурсу", чтобы открыть страницу обзора службы.
3.1. Войдите на портал Azure
Откройте веб-браузер и перейдите к портал Azure. Введите свои учетные данные для входа на портал. Панель мониторинга службы является представлением по умолчанию.
3.2. Создание экземпляра служебной шины
Чтобы создать экземпляр служебной шины, выполните следующие действия.
Выберите "Создать ресурс" в углу портал Azure.
В поле Поиск служб и marketplace найдите Service Bus.
В разделе Service Bus нажмите Create.
Заполните форму на вкладке "Основные сведения". Используйте следующую таблицу в качестве руководства для завершения формы:
| Настройки |
Рекомендуемое значение |
Описание |
|
Подписка |
Имя вашей подписки. |
Подписка Azure, которую вы хотите использовать для сервера. Если у вас есть несколько подписок, выберите ту, через которую вы предпочитаете оплачивать этот ресурс. |
|
Группа ресурсов |
myresourcegroup |
Новое имя группы ресурсов или уже имеющееся из подписки. |
|
Имя пространства имен |
my-srvbus |
Уникальное имя, идентифицирующее ваш Service Bus (служебная шина). |
|
Местоположение |
Расположение, ближайшее к пользователям. |
Расположение, которое находится ближе всего к вашим пользователям. |
|
Варианты размещения и планы |
Базовая |
План ценообразования определяет ресурс и затраты, связанные с вашим экземпляром. |
Выберите "Рецензирование" и "Создать ", чтобы просмотреть параметры создания. Затем нажмите кнопку "Создать ", чтобы завершить создание экземпляра служебной шины.
На панели инструментов щелкните значок Уведомления (колокольчик), чтобы отслеживать процесс развертывания. После завершения развертывания можно выбрать «Закрепить на панели мониторинга», что создаст плитку этой службы на панели мониторинга портала Azure как ярлык для страницы «Обзор» службы. Выберите "Перейти к ресурсу", чтобы открыть страницу обзора службы.
Выберите Перейти к ресурсу, чтобы перейти на страницу Service Bus Namespace.
Выберите политики общего доступа в меню навигации и выберите RootManageSharedAccessKey.
На странице "Политика SAS: RootManageSharedAccessKey" скопируйте и сохраните значение основной строки подключения , которое используется для настройки подключений из приложения Spring.
Выберите Очереди в меню Навигация и затем выберите Очередь.
На странице "Создание очереди " введите нижний регистр для имени и нажмите кнопку "Создать".
Создайте другую очередь, повторив предыдущий шаг, используя верхний регистр для имени.
3.3. Создайте экземпляр Azure Spring Apps
Чтобы создать экземпляр Azure Spring Apps, выполните следующие действия.
Выберите "Создать ресурс" в углу портал Azure.
Выберите Compute>Azure Spring Apps.
Заполните форму Основные данные , указав следующую информацию:
Используйте следующую таблицу в качестве руководства для завершения формы. Рекомендуемый план — "Стандартный".
| Настройки |
Рекомендуемое значение |
Описание |
|
Подписка |
Имя подписки. |
Подписка Azure, которую вы хотите использовать для сервера. Если у вас есть несколько подписок, выберите ту, через которую вы предпочитаете оплачивать этот ресурс. |
|
Группа ресурсов |
myresourcegroup |
Новое имя группы ресурсов или уже имеющееся из подписки. |
|
Имя |
мясо |
Уникальное имя, определяющее службу Azure Spring Apps. Имя должно быть от 4 до 32 символов длиной и может содержать только строчные буквы, цифры и дефисы. Первый символ имени службы должен быть буквой, а последний символ должен быть буквой или числом. |
|
План |
Стандарт |
План определяет ресурсы и затраты, связанные с вашей инстанцией. |
|
Регион |
Ближайший к пользователям регион |
Расположение, которое находится ближе всего к вашим пользователям. |
|
Зональная избыточность |
Не выбрано |
Решение о создании службы Azure Spring Apps в зоне доступности Azure может быть поддержано только в нескольких регионах в настоящее время. |
Выберите "Рецензирование" и " Создать ", чтобы просмотреть выбранные варианты. Выберите "Создать", чтобы подготовить экземпляр Azure Spring Apps.
На панели инструментов щелкните значок Уведомления (колокольчик), чтобы отслеживать процесс развертывания. После завершения развертывания можно выбрать "Закрепить на панели управления", чтобы создать ярлык для этой службы на панели управления портала Azure. Это служит в качестве быстрого доступа к странице обзора службы. При выборе "Перейти к ресурсу" откроется страница обзора службы.
3.4. Подключение экземпляра приложения к экземпляру служебной шины
Перейдите к экземпляру своей службы Azure Spring Apps на портале Azure.
Выберите "Приложения " в меню навигации и нажмите кнопку "Создать приложение".
На странице "Создание приложения" введите простое приложение на основе событий для имени приложения и выберите Java 17 для платформы среды выполнения.
После создания приложения выберите имя приложения, созданное на предыдущем шаге.
На странице "Конфигурация" выберите вкладку "Переменные среды", введите SERVICE_BUS_CONNECTION_STRING для ключа, вставьте строку подключения служебной шины для значения, затем нажмите кнопку "Сохранить".
Используйте следующую команду, чтобы войти в Azure с помощью OAuth2. Пропустить этот шаг, если вы уже вошли в систему.
azd auth login
Консоль выводит сообщения, аналогичные следующему примеру:
Logged in to Azure.
Используйте следующую команду, чтобы задать шаблон с помощью стандартного плана:
azd env set PLAN standard
Используйте следующую команду, чтобы упаковать развертываемую копию приложения, подготовить инфраструктуру шаблона в Azure и развернуть код приложения в новых подготовленных ресурсах:
azd provision
В следующем списке описаны взаимодействия с командами:
-
Выберите подписку Azure для использования: используйте стрелки для перемещения, введите текст для фильтрации, затем нажмите клавишу ВВОД.
-
Выберите расположение Azure для использования: используйте стрелки для перемещения, введите текст для фильтрации, а затем нажмите клавишу ВВОД.
Консоль выводит сообщения, аналогичные следующему примеру:
SUCCESS: Your application was provisioned in Azure in xx minutes xx seconds.
You can view the resources created under the resource group rg-<your-environment-name> in Azure Portal:
https://portal.azure.com/#@/resource/subscriptions/<your-subscription-id>/resourceGroups/rg-<your-environment-name>/overview
Замечание
Выполнение этой команды может занять некоторое время. Индикатор хода выполнения отображается при подготовке ресурсов Azure.
4. Развертывание приложения в Azure Spring Apps
Кнопка "Развернуть в Azure" в предыдущем разделе запускает портал Azure интерфейс, включающий развертывание приложения, поэтому ничего другого не требуется.
Выполните следующие действия для развертывания с плагином Maven для Azure Spring Apps:
Перейдите к полному каталогу и выполните следующую команду, чтобы настроить приложение в Azure Spring Apps:
./mvnw com.microsoft.azure:azure-spring-apps-maven-plugin:1.19.0:config
В следующем списке описаны взаимодействия с командами:
-
Вход OAuth2: необходимо авторизовать вход в Azure на основе протокола OAuth2.
-
Выберите подписку: выберите номер списка подписок созданного экземпляра Azure Spring Apps, который по умолчанию соответствует первой подписке в списке. Если вы используете номер по умолчанию, нажмите клавишу ВВОД напрямую.
-
Используйте существующие Azure Spring Apps в Azure: нажмите y , чтобы использовать существующий экземпляр Azure Spring Apps.
-
Выберите Azure Spring Apps для развертывания: выберите список созданного экземпляра Azure Spring Apps. Если вы используете номер по умолчанию, нажмите клавишу ВВОД напрямую.
-
Используйте существующее приложение в Azure Spring Apps <с именем> экземпляра: нажмите клавишу Y , чтобы использовать созданное приложение.
-
Подтвердите сохранение всех указанных выше конфигураций: нажмите клавишу Y. Если нажать клавишу N, конфигурация не сохраняется в POM-файлах.
Чтобы развернуть приложение, используйте следующую команду:
./mvnw azure-spring-apps:deploy
В следующем списке описывается выполнение команд:
-
Вход OAuth2: необходимо авторизовать вход в Azure на основе протокола OAuth2.
После выполнения команды можно увидеть в следующих сообщениях журнала, что развертывание выполнено успешно:
[INFO] Deployment(default) is successfully created
[INFO] Starting Spring App after deploying artifacts...
[INFO] Deployment Status: Running
Выполните следующие действия, чтобы использовать AZD для упаковки приложения, подготовки ресурсов Azure, необходимых веб-приложению, а затем развертывания в Azure Spring Apps.
Используйте следующую команду, чтобы упаковать развертываемую копию приложения:
azd package
Консоль выводит сообщения, аналогичные следующему примеру:
SUCCESS: Your application was packaged for Azure in xx seconds.
Используйте следующую команду, чтобы развернуть код приложения в этих недавно подготовленных ресурсах:
azd deploy
Консоль выводит сообщения, аналогичные следующему примеру:
Deploying services (azd deploy)
(✓) Done: Deploying service simple-event-driven-app
- No endpoints were found
SUCCESS: Your application was deployed to Azure in xx minutes xx seconds.
You can view the resources created under the resource group rg-<your-environment-name> in Azure Portal:
https://portal.azure.com/#@/resource/subscriptions/<your-subscription-id>/resourceGroups/rg-<your-environment-name>/overview
Замечание
Можно также использовать azd up для объединения предыдущих трех команд: azd provision (подготавливает ресурсы Azure), azd package (упаковывает развертываемую копию приложения) и azd deploy (развертывает код приложения). Дополнительные сведения см. в статье Azure-Samples/ASA-Samples-Event-Driven-Application.
2. Подготовка проекта Spring
Кнопка "Развернуть в Azure" в следующем разделе инициирует процесс в портале Azure, который загружает JAR-пакет со страницы выпусков ASA-Samples-Web-Application на сайте GitHub. Никаких локальных шагов подготовки не требуется.
Чтобы подготовить пример локально, выполните следующие действия.
Пример проекта готов на GitHub. Клонируйте пример проекта с помощью следующей команды:
git clone https://github.com/Azure-Samples/ASA-Samples-Event-Driven-Application.git
Создайте пример проекта с помощью следующих команд:
cd ASA-Samples-Event-Driven-Application
./mvnw clean package
Чтобы подготовить пример локально, выполните следующие действия.
Пример проекта готов на GitHub. Клонируйте пример проекта с помощью следующей команды:
git clone https://github.com/Azure-Samples/ASA-Samples-Event-Driven-Application.git
Создайте пример проекта с помощью следующих команд:
cd ASA-Samples-Event-Driven-Application
./mvnw clean package
3. Подготовка облачной среды
Основные ресурсы, которые вам понадобятся для запуска этого примера, включают экземпляр Azure Spring Apps и экземпляр Azure Service Bus. В следующих разделах описывается создание этих ресурсов.
В этом разделе используется кнопка "Развернуть в Azure" для запуска интерфейса развертывания в портал Azure. В этом интерфейсе используется шаблон ARM для создания ресурсов Azure.
3.1. Войдите на портал Azure
Перейдите к портал Azure и введите учетные данные для входа на портал. Панель мониторинга службы является представлением по умолчанию.
3.2. Создание ресурсов Azure
Чтобы создать все ресурсы Azure, от которые зависит приложение, выполните следующие действия.
Нажмите следующую кнопку "Развернуть в Azure", чтобы запустить процесс развертывания в портал Azure:
Заполните форму на вкладке "Основные сведения". Используйте следующую таблицу в качестве руководства для завершения формы:
| Настройки |
Рекомендуемое значение |
Описание |
|
Подписка |
Имя вашей подписки. |
Подписка Azure, которую вы хотите использовать для сервера. Если у вас есть несколько подписок, выберите ту, через которую вы предпочитаете оплачивать этот ресурс. |
|
Группа ресурсов |
myresourcegroup |
Новое имя группы ресурсов или уже имеющееся из подписки. |
|
Регион |
Регион, ближайший к вашим пользователям. |
Регион используется для создания группы ресурсов. |
Выберите "Рецензирование" и " Создать ", чтобы просмотреть выбранные варианты. Затем выберите "Создать ", чтобы развернуть приложение в Azure Spring Apps.
На панели инструментов щелкните значок Уведомления (колокольчик), чтобы отслеживать процесс развертывания. После завершения развертывания можно выбрать «Закрепить на панели мониторинга», что создаст плитку этой службы на панели мониторинга портала Azure как ярлык для страницы «Обзор» службы. Выберите "Перейти к ресурсу", чтобы открыть страницу обзора службы.
3.1. Войдите на портал Azure
Перейдите к портал Azure и введите учетные данные для входа на портал. Панель мониторинга службы является представлением по умолчанию.
3.2. Создание экземпляра служебной шины
Чтобы создать экземпляр служебной шины, выполните следующие действия.
Выберите "Создать ресурс" в углу портал Azure.
В поле Поиск служб и marketplace найдите Service Bus.
В разделе Service Bus нажмите Create.
Заполните форму на вкладке "Основные сведения". Используйте следующую таблицу в качестве руководства для завершения формы:
| Настройки |
Рекомендуемое значение |
Описание |
|
Подписка |
Имя вашей подписки. |
Подписка Azure, которую вы хотите использовать для сервера. Если у вас есть несколько подписок, выберите ту, через которую вы предпочитаете оплачивать этот ресурс. |
|
Группа ресурсов |
myresourcegroup |
Новое имя группы ресурсов или уже имеющееся из подписки. |
|
Имя пространства имен |
my-srvbus |
Уникальное имя, идентифицирующее ваш Service Bus (служебная шина). |
|
Местоположение |
Расположение, ближайшее к пользователям. |
Расположение, которое находится ближе всего к вашим пользователям. |
|
Варианты размещения и планы |
Базовая |
План ценообразования определяет ресурс и затраты, связанные с вашим экземпляром. |
Выберите "Рецензирование" и "Создать ", чтобы просмотреть параметры создания. Затем нажмите кнопку "Создать ", чтобы завершить создание экземпляра служебной шины.
На панели инструментов щелкните значок Уведомления (колокольчик), чтобы отслеживать процесс развертывания. После завершения развертывания можно выбрать «Закрепить на панели мониторинга», что создаст плитку этой службы на панели мониторинга портала Azure как ярлык для страницы «Обзор» службы. Выберите "Перейти к ресурсу", чтобы открыть страницу обзора службы.
Выберите Перейти к ресурсу, чтобы перейти на страницу Service Bus Namespace.
Выберите Очереди в меню навигации, затем выберите Очередь.
На странице "Создание очереди " введите нижний регистр для имени и нажмите кнопку "Создать".
Создайте другую очередь, повторив предыдущий шаг, используя верхний регистр для имени.
3.3. Создайте экземпляр Azure Spring Apps
Чтобы создать экземпляр службы, выполните следующие действия.
Выберите "Создать ресурс" в углу портал Azure.
Выберите Compute>Azure Spring Apps.
Заполните форму Основные данные , указав следующую информацию:
| Настройки |
Рекомендуемое значение |
Описание |
|
Подписка |
Имя вашей подписки. |
Подписка Azure, которую вы хотите использовать для сервера. Если у вас есть несколько подписок, выберите ту, через которую вы предпочитаете оплачивать этот ресурс. |
|
Группа ресурсов |
myresourcegroup |
Новое имя группы ресурсов или уже имеющееся из подписки. |
|
Имя |
мясо |
Уникальное имя, определяющее службу Azure Spring Apps. Имя должно быть от 4 до 32 символов длиной и может содержать только строчные буквы, цифры и дефисы. Первый символ имени службы должен быть буквой, а последний символ должен быть буквой или числом. |
|
Регион |
Регион, ближайший к вашим пользователям. |
Расположение, которое находится ближе всего к вашим пользователям. |
|
Варианты размещения и планы |
Предприятие |
План ценообразования, определяющий ресурс и затраты, связанные с вашим экземпляром. |
|
Зональная избыточность |
Не выбрано |
Возможность создания службы Azure Spring Apps в зоне доступности Azure. Эта функция в настоящее время не поддерживается во всех регионах. |
|
План IP-адресов программного обеспечения |
Оплата по мере использования |
План ценообразования, который позволяет платить по мере использования Azure Spring Apps. |
|
Развертывание примера проекта |
Не выбрано |
Возможность использовать встроенное тестовое приложение. |
Выберите "Рецензирование" и " Создать ", чтобы просмотреть выбранные варианты. Затем выберите "Создать ", чтобы подготовить экземпляр Azure Spring Apps.
На панели инструментов щелкните значок Уведомления (колокольчик), чтобы отслеживать процесс развертывания. После завершения развертывания можно выбрать «Закрепить на панели мониторинга», что создаст плитку этой службы на панели мониторинга портала Azure как ярлык для страницы «Обзор» службы.
Выберите Перейти к ресурсу, чтобы перейти на страницу Обзор Azure Spring Apps.
3.4. Подключение экземпляра приложения к экземпляру служебной шины
Чтобы подключить экземпляры службы, выполните следующие действия.
Перейдите к экземпляру своей службы Azure Spring Apps на портале Azure.
В области навигации откройте область "Приложения" , а затем выберите "Создать приложение".
На странице "Создание приложения " для имени приложения используйте простое приложение на основе событий и оставьте все остальные поля со значениями по умолчанию.
Нажмите кнопку "Создать ", чтобы завершить создание приложения, а затем выберите приложение для просмотра сведений.
Выберите соединитель службы в области навигации и нажмите кнопку "Создать ", чтобы создать подключение к службе.
Заполните вкладку "Основные сведения" следующими сведениями :
-
Тип службы: выберите Service Bus.
-
Имя подключения: заполнено автоматически созданным именем, которое можно изменить.
-
Подписка. Выберите нужную подписку.
-
Пространство имен: выберите созданное пространство имен.
-
Тип клиента: Select SpringBoot.
Настройте вкладку "Далее: проверка подлинности " со следующими сведениями:
Замечание
Корпорация Майкрософт рекомендует использовать самый безопасный поток проверки подлинности. Поток проверки подлинности, описанный в этой процедуре, например для баз данных, кэшей, сообщений или служб ИИ, требует очень высокой степени доверия к приложению и несет риски, не присутствующих в других потоках. Используйте этот поток только в том случае, если более безопасные варианты, такие как управляемые удостоверения для подключений без паролей или ключей, невозможны. Для локальных операций на компьютере предпочтительнее использовать учетные данные пользователей для подключения без пароля или ключа.
-
Выберите тип проверки подлинности, который вы хотите использовать между вычислительной службой и целевой службой.: выберите строку подключения.
Выберите Next: Networking. Используйте параметр по умолчанию Настройка правил брандмауэра для включения доступа к целевой службе.
Нажмите кнопку "Далее" и "Создать ", чтобы просмотреть выбранные элементы, а затем нажмите кнопку "Создать ", чтобы создать подключение.
3.1. Укажите имена для каждого ресурса
Создайте переменные для хранения имен ресурсов с помощью следующих команд. Обязательно замените шаблонные элементы вашими значениями.
export RESOURCE_GROUP=<event-driven-app-resource-group-name>
export LOCATION=<desired-region>
export SERVICE_BUS_NAME_SPACE=<event-driven-app-service-bus-namespace>
export AZURE_SPRING_APPS_INSTANCE=<Azure-Spring-Apps-instance-name>
export APP_NAME=<event-driven-app-name>
3.2. Создание новой группы ресурсов
Чтобы создать новую группу ресурсов, выполните следующие действия.
Используйте следующую команду, чтобы войти в Azure CLI:
az login
Чтобы задать расположение по умолчанию, используйте следующую команду:
az configure --defaults location=${LOCATION}
Используйте следующую команду, чтобы получить список всех доступных подписок, чтобы определить идентификатор подписки для использования:
az account list --output table
Чтобы задать подписку по умолчанию, используйте следующую команду:
az account set --subscription <subscription-ID>
Выполните следующую команду, чтобы создать группу ресурсов.
az group create --resource-group ${RESOURCE_GROUP}
Используйте следующую команду, чтобы задать только что созданную группу ресурсов в качестве группы ресурсов по умолчанию:
az configure --defaults group=${RESOURCE_GROUP}
3.3. Установка расширения и регистрация пространства имен
Используйте следующие команды, чтобы установить расширение Azure Spring Apps для Azure CLI и зарегистрировать Microsoft.SaaS пространство имен:
az extension add --name spring --upgrade
az provider register --namespace Microsoft.SaaS
3.4. Создайте экземпляр Azure Spring Apps
Чтобы создать экземпляр Azure Spring Apps, используйте следующую команду:
az spring create \
--name ${AZURE_SPRING_APPS_INSTANCE} \
--sku Enterprise
Затем используйте следующую команду, чтобы создать приложение в экземпляре Azure Spring Apps:
az spring app create \
--service ${AZURE_SPRING_APPS_INSTANCE} \
--name ${APP_NAME}
3.5. Создание экземпляра служебной шины
Чтобы создать экземпляр служебной шины, выполните следующие действия.
Чтобы создать пространство имен служебной шины, используйте следующую команду:
az servicebus namespace create --name ${SERVICE_BUS_NAME_SPACE}
Используйте следующие команды для создания двух очередей с именем lower-case и upper-case:
az servicebus queue create \
--namespace-name ${SERVICE_BUS_NAME_SPACE} \
--name lower-case
az servicebus queue create \
--namespace-name ${SERVICE_BUS_NAME_SPACE} \
--name upper-case
3.6. Подключение экземпляра приложения к экземпляру служебной шины
Теперь вы создали служебную шину и приложение в Azure Spring Apps, но приложение не может подключиться к служебной шине. Выполните следующие действия, чтобы разрешить приложению подключаться к служебной шине, а затем развернуть это приложение:
Получите строку подключения "Service Bus" с помощью следующей команды:
Замечание
Корпорация Майкрософт рекомендует использовать самый безопасный поток проверки подлинности. Поток проверки подлинности, описанный в этой процедуре, например для баз данных, кэшей, сообщений или служб ИИ, требует очень высокой степени доверия к приложению и несет риски, не присутствующих в других потоках. Используйте этот поток только в том случае, если более безопасные варианты, такие как управляемые удостоверения для подключений без паролей или ключей, невозможны. Для локальных операций на компьютере предпочтительнее использовать учетные данные пользователей для подключения без пароля или ключа.
export SERVICE_BUS_CONNECTION_STRING=$( \
az servicebus namespace authorization-rule keys list \
--namespace-name ${SERVICE_BUS_NAME_SPACE} \
--name RootManageSharedAccessKey \
--query primaryConnectionString \
--output tsv)
Используйте следующую команду, чтобы предоставить строку подключения приложению с помощью переменной среды:
az spring app update \
--service ${AZURE_SPRING_APPS_INSTANCE} \
--name ${APP_NAME} \
--env SPRING_CLOUD_AZURE_SERVICEBUS_CONNECTIONSTRING=${SERVICE_BUS_CONNECTION_STRING} \
SPRING_CLOUD_AZURE_KEYVAULT_SECRET_PROPERTYSOURCEENABLED=false
4. Развертывание приложения в Azure Spring Apps
Кнопка "Развернуть в Azure" в предыдущем разделе запускает портал Azure интерфейс, включающий развертывание приложения, поэтому ничего другого не требуется.
Выполните следующие действия для развертывания с плагином Maven для Azure Spring Apps:
Перейдите к полному каталогу и выполните следующую команду, чтобы настроить приложение в Azure Spring Apps:
./mvnw com.microsoft.azure:azure-spring-apps-maven-plugin:1.19.0:config
В следующем списке описаны взаимодействия с командами:
-
Вход OAuth2: необходимо авторизовать вход в Azure на основе протокола OAuth2.
-
Выберите подписку: выберите номер списка подписок созданного экземпляра Azure Spring Apps, который по умолчанию соответствует первой подписке в списке. Если вы используете номер по умолчанию, нажмите клавишу ВВОД напрямую.
-
Используйте существующие Azure Spring Apps в Azure: нажмите y , чтобы использовать существующий экземпляр Azure Spring Apps.
-
Выберите Azure Spring Apps для развертывания: выберите список созданного экземпляра Azure Spring Apps. Если вы используете номер по умолчанию, нажмите клавишу ВВОД напрямую.
-
Используйте существующее приложение в Azure Spring Apps <с именем> экземпляра: нажмите клавишу Y , чтобы использовать созданное приложение.
-
Подтвердите сохранение всех указанных выше конфигураций: нажмите клавишу Y. Если нажать клавишу N, конфигурация не сохраняется в POM-файлах.
Чтобы развернуть приложение, используйте следующую команду:
./mvnw azure-spring-apps:deploy
В следующем списке описывается выполнение команд:
-
Вход OAuth2: необходимо авторизовать вход в Azure на основе протокола OAuth2.
После выполнения команды можно увидеть в следующих сообщениях журнала, что развертывание выполнено успешно:
[INFO] Starting Spring App after deploying artifacts...
[INFO] Deployment Status: Running
Облачная среда теперь готова. Разверните приложение с помощью следующей команды:
az spring app deploy \
--service ${AZURE_SPRING_APPS_INSTANCE} \
--name ${APP_NAME} \
--artifact-path target/simple-event-driven-app-0.0.2-SNAPSHOT.jar
5. Проверка приложения
Выполните следующие действия, чтобы убедиться, что приложение на основе событий работает правильно. Вы можете проверить приложение, отправив сообщение lower-case в очередь, а затем убедитесь, что в upper-case очереди есть сообщение.
6. Очистка ресурсов
Не забудьте удалить ресурсы, созданные в этой статье, если они больше не нужны. Вы можете удалить группу ресурсов Azure, которая содержит все связанные ресурсы.
Чтобы удалить всю группу ресурсов, включая только что созданную службу, выполните следующие действия.
Найдите группу ресурсов на портале Azure. В меню навигации выберите группы ресурсов и выберите имя группы ресурсов.
На странице группы ресурсов нажмите кнопку "Удалить". Введите имя группы ресурсов в текстовом поле, чтобы подтвердить удаление, а затем нажмите кнопку "Удалить".
Чтобы удалить всю группу ресурсов, включая только что созданную службу, выполните следующие действия.
Найдите группу ресурсов на портале Azure. В меню навигации выберите группы ресурсов и выберите имя группы ресурсов.
На странице группы ресурсов нажмите кнопку "Удалить". Введите имя группы ресурсов в текстовом поле, чтобы подтвердить удаление, а затем нажмите кнопку "Удалить".
Используйте следующую команду, чтобы удалить всю группу ресурсов, включая только что созданную службу:
az group delete --name ${RESOURCE_GROUP}
Чтобы удалить всю группу ресурсов, включая только что созданную службу, выполните следующие действия.
Найдите группу ресурсов на портале Azure. В меню навигации выберите группы ресурсов и выберите имя группы ресурсов.
На странице группы ресурсов нажмите кнопку "Удалить". Введите имя группы ресурсов в текстовом поле, чтобы подтвердить удаление, а затем нажмите кнопку "Удалить".
Чтобы удалить всю группу ресурсов, включая только что созданную службу, выполните следующие действия.
Найдите группу ресурсов на портале Azure. В меню навигации выберите группы ресурсов и выберите имя группы ресурсов.
На странице группы ресурсов нажмите кнопку "Удалить". Введите имя группы ресурсов в текстовом поле, чтобы подтвердить удаление, а затем нажмите кнопку "Удалить".
Используйте следующую команду, чтобы удалить все ресурсы Azure, используемые в этом примере приложения:
azd down
В следующем списке описаны взаимодействия с командами:
-
Общий объем ресурсов для удаления: <общий объем ресурсов>, вы уверены, что хотите продолжить?: Нажмите клавишу y.
-
Хотите удалить эти ресурсы безвозвратно, разрешая повторно использовать их имена?: Нажмите клавишу y. Нажмите клавишу N , если вы хотите повторно использовать Key Vault.
Консоль выводит сообщения, аналогичные следующему примеру:
SUCCESS: Your application was removed from Azure in xx minutes xx seconds.
7. Дальнейшие действия
Дополнительные сведения см. в следующих статьях: