Примечание.
Для доступа к этой странице требуется авторизация. Вы можете попробовать войти или изменить каталоги.
Для доступа к этой странице требуется авторизация. Вы можете попробовать изменить каталоги.
В этом руководстве вы узнаете, как создавать, настраивать и развертывать безопасное приложение Spring Boot в службе приложение Azure, которая подключается к базе данных MongoDB в Azure (фактически база данных Cosmos DB с API MongoDB). По завершении вы получите приложение Java SE, работающее в службе приложение Azure в Linux.
В этом руководстве описано следующее:
- Создайте безопасную архитектуру по умолчанию для службы приложение Azure и Azure Cosmos DB с помощью API MongoDB.
- Защита секретов подключения с помощью управляемого удостоверения и ссылок Key Vault.
- Разверните пример приложения Spring Boot, чтобы Служба приложений из репозитория GitHub.
- Доступ к параметрам приложения Служба приложений в коде приложения.
- Создание обновлений и повторное развертывание кода приложения.
- Потоковая передача журналов диагностики из Служба приложений.
- Управление приложением в портал Azure.
- Подготовьте ту же архитектуру и разверните с помощью Интерфейса командной строки разработчика Azure.
- Оптимизируйте рабочий процесс разработки с помощью GitHub Codespaces и GitHub Copilot.
Предварительные условия
- Учетная запись Azure с активной подпиской. Если у вас нет учетной записи Azure, ее можно создать бесплатно.
- Учетная запись GitHub. Вы также можете получить его бесплатно.
- Знание Java с помощью разработки Spring Framework.
- (Необязательно) Чтобы попробовать GitHub Copilot, нужна учётная запись GitHub Copilot. Доступна 30-дневная бесплатная пробная версия.
- Учетная запись Azure с активной подпиской. Если у вас нет учетной записи Azure, ее можно создать бесплатно.
- Установлен интерфейс командной строки разработчика Azure. Вы можете следовать шагам в Azure Cloud Shell, потому что в нем уже установлен интерфейс командной строки разработчика Azure.
- Знание Java с помощью разработки Spring Framework.
- (Необязательно) Чтобы попробовать GitHub Copilot, нужна учётная запись GitHub Copilot. Доступна 30-дневная бесплатная пробная версия.
Перейти к концу
Вы можете быстро развернуть пример приложения в этом руководстве и увидеть его выполнение в Azure. Просто выполните следующие команды в Azure Cloud Shell и следуйте инструкциям в командной строке:
mkdir msdocs-spring-boot-mongodb-sample-app
cd msdocs-spring-boot-mongodb-sample-app
azd init --template msdocs-spring-boot-mongodb-sample-app
azd up
1. Запустите пример
Сначала вы настраиваете пример приложения на основе данных в качестве отправной точки. Для удобства образец репозитория включает конфигурацию контейнера разработки. Контейнер разработки имеет все необходимое для разработки приложения, включая базу данных MongoDB, кэш и все переменные среды, необходимые образцу приложения. Контейнер разработки может выполняться в пространстве кода GitHub, что означает, что вы можете запустить пример на любом компьютере с веб-браузером.
Шаг 1. В новом окне браузера:
- Войдите в свою учетную запись GitHub.
- Перейдите к https://github.com/Azure-Samples/msdocs-spring-boot-mongodb-sample-app/fork.
- Снимите отметку Копировать только основную ветвь. Вы хотите все ветви.
- Щелкните Создать форк.
Шаг 2: В форке GitHub:
- Выберите основную>ветвь-без-инфраструктуры для начальной ветви. Эта ветвь содержит только пример проекта и не содержит файлов или конфигурации, связанных с Azure.
- Выберите пространство кода "Создать код>" на начальном экране без инфраструктуры. Настройка кодспейса занимает несколько минут.
Шаг 3. В терминале среды разработки:
- Запустите
mvn package spring-boot:run. - Когда появится уведомление
Your application running on port 8080 is available., нажмите кнопку "Открыть в браузере". Пример приложения должен отображаться на новой вкладке браузера. Чтобы остановить сервер Jetty, введитеCtrl+C.
Подсказка
Вы можете попросить GitHub Copilot об этом репозитории. Например:
- @workspace Что делает этот проект?
- @workspace Как приложение подключается к базе данных?
- @workspace Что делает папка devcontainer?
Возникли проблемы? Ознакомьтесь с разделом "Устранение неполадок".
2. Создание Службы приложений и Cosmos DB
Сначала вы создадите ресурсы Azure. Действия, используемые в этом руководстве, создают набор безопасных ресурсов по умолчанию, которые включают Служба приложений и Azure Cosmos DB. Для процесса создания укажите:
- Имя веб-приложения. Он используется в качестве части DNS-имени приложения.
- Регион для физического запуска приложения в мире. Он также используется в качестве части DNS-имени приложения.
- Стек среды выполнения для приложения. Здесь вы выбираете версию Java, используемую для вашего приложения.
- План размещения для приложения. Это ценовая категория, которая включает набор функций и емкость масштабирования для вашего приложения.
- Группа ресурсов для приложения. Группа ресурсов позволяет группировать (в логическом контейнере) все ресурсы Azure, необходимые для приложения.
Войдите на портал Azure и выполните следующие действия, чтобы создать ресурсы Службы приложений Azure.
На портале Azure:
- В строке поиска в верхней части введите службу приложений.
- В разделе " Службы" выберите "Служба приложений".
- Выберите "Создать>веб-приложение".
Вы также можете сразу перейти к мастеру создания.
На вкладке "Основные сведения" на странице "Создание веб-приложения" заполните форму следующим образом:
- Группа ресурсов: выберите "Создать" и используйте имя msdocs-spring-cosmosdb-tutorial.
- Имя: msdocs-spring-cosmosdb-XYZ, где XYZ является тремя случайными символами. Это имя должно быть уникальным в Azure.
- Стек среды выполнения: Java 25.
- Стек веб-серверов Java: Java SE (внедренный веб-сервер).
- Операционная система: Linux.
- Регион: любой регион Azure рядом с вами.
- Тарифный план: Базовый. Когда вы будете готовы, вы можете масштабировать до рабочей ценовой категории.
Выберите вкладку "База данных " и настройте базу данных:
- Выберите "Создать базу данных".
- В обработчике выберите API Cosmos DB для MongoDB. Cosmos DB — это полностью управляемая база данных NoSQL, реляционная и векторная база данных как услуга в Azure.
- Не нажимайте кнопку "Создать Кэш Azure для Redis".
Выберите Просмотреть и создать. После завершения проверки щелкните Создать.
После завершения развертывания нажмите кнопку "Перейти к ресурсу ". Вы перейдете непосредственно в приложение Службы приложений.
Создаются следующие ресурсы:
- Группа ресурсов: контейнер для всех созданных ресурсов.
- План службы приложений: Определяет вычислительные ресурсы для службы приложений. Создается план Linux на уровне Базовый.
- Служба приложений: Представляет приложение и запускается в плане службы приложений.
- Виртуальная сеть: интегрированная с приложением Служба приложений и изолирует внутренний сетевой трафик.
- Azure Cosmos DB: доступно только от частной конечной точки. База данных создается для вас в учетной записи базы данных.
- Частные конечные точки: доступ к конечным точкам сервера базы данных в виртуальной сети.
- Частные зоны DNS: Включите разрешение DNS для сервера базы данных в виртуальной сети.
Возникли проблемы? Ознакомьтесь с разделом "Устранение неполадок".
3. Безопасные секреты подключения
Мастер настройки уже создал строку подключения для вас в виде параметра приложения. Однако лучшая практика безопасности состоит в том, чтобы хранить секреты полностью вне Службы приложений. Вы переместите свои секреты в хранилище ключей и измените параметр приложения на ссылку на хранилище ключей с помощью соединителей служб.
Шаг 1. На странице Служба приложений:
- В меню слева выберите Параметры > переменные среды.
- Рядом с AZURE_COSMOS_CONNECTIONSTRING выберите "Показать значение". Строка подключения позволяет подключиться к базе данных Cosmos DB, находящейся за частной конечной точкой. Однако секрет сохраняется непосредственно в приложении службы приложений, что является не самым лучшим вариантом. Вы измените это.
Шаг 2. Создание хранилища ключей для безопасного управления секретами.
- В верхней строке поиска введите "хранилище ключей", а затем выберите >.
- В группе ресурсов выберите msdocs-spring-cosmosdb-tutorial.
- В имени хранилища ключей введите имя, состоящее только из букв и чисел.
- В регионе задайте для него образец расположения в качестве группы ресурсов.
Шаг 3.
- Перейдите на вкладку Сеть.
- Отмена выбора включения общедоступного доступа.
- Выберите "Создать частную конечную точку".
- В группе ресурсов выберите msdocs-spring-cosmosdb-tutorial.
- В имени хранилища ключей введите имя, состоящее только из букв и чисел.
- В регионе задайте для него образец расположения в качестве группы ресурсов.
- В диалоговом окне в разделе Расположение выберите то же расположение, что и для вашего приложения App Service.
- В группе ресурсов выберите msdocs-spring-cosmosdb-tutorial.
- В поле Name введите msdocs-spring-cosmosdb-XYZVaultEndpoint.
- В виртуальной сети выберите msdocs-spring-cosmosdb-XYZVnet.
- В подсетиmsdocs-spring-cosmosdb-XYZSubnet.
- Нажмите ОК.
- Выберите Проверить и создать, а затем выберите Создать. Дождитесь завершения развертывания хранилища ключей. Должно появиться сообщение "Развертывание завершено".
Шаг 4.
- В верхней строке поиска введите msdocs-spring-cosmosdb, а затем ресурс Служба приложений msdocs-spring-cosmosdb-XYZ.
- На странице Служба приложений в меню слева выберите "Параметры > соединителя службы". У вас уже есть соединитель, созданный мастером создания приложения.
- Установите флажок рядом с соединителем, а затем нажмите кнопку "Изменить".
- На вкладке "Основные сведения" задайте типклиента SpringBoot. Этот параметр создает для вас переменные конкретной среды Spring Boot.
- Выберите вкладку Аутентификация.
- Выберите "Сохранить секрет" в Key Vault.
- В разделе "Подключение к Key Vault" выберите "Создать". Диалоговое окно создания подключения открывается поверх диалогового окна редактирования.
Шаг 5: В диалоговом окне создания подключения Key Vault:
- В Key Vault выберите созданное ранее хранилище ключей.
- Выберите Просмотр и создание. Вы увидите, что управляемое удостоверение, назначаемое системой, имеет значение Selected.
- После завершения проверки нажмите кнопку "Создать".
Шаг 6. Вы снова в диалоговом окне редактирования для defaultConnector.
- На вкладке "Проверка подлинности" дождитесь создания соединителя для хранилища ключей. По завершении раскрывающийся список подключения Key Vault автоматически выбирает его.
- Выберите Далее: сеть.
- Выберите " Настроить правила брандмауэра", чтобы включить доступ к целевой службе. Если появится сообщение "Нет частной конечной точки в целевой службе", игнорируйте его. Мастер создания приложения уже защитил базу данных Cosmos DB с частной конечной точкой.
- Выберите Сохранить. Подождите, пока появится уведомление об успешном обновлении.
Шаг 7. Проверка изменений:
- В меню слева снова выберите переменные среды.
- Убедитесь, что параметр приложения spring.data.mongodb.uri существует. Соединитель по умолчанию создал его для вас, и приложение Spring Boot уже использует переменную.
- Рядом с параметром приложения выберите "Показать значение". Значение должно быть
@Microsoft.KeyVault(...). Это означает, что это ссылка на хранилище ключей, так как секрет теперь управляется в хранилище ключей.
Возникли проблемы? Ознакомьтесь с разделом "Устранение неполадок".
4. Развертывание примера кода
На этом шаге вы настроите развертывание GitHub с помощью GitHub Actions. Это всего лишь один из множества способов развертывания в Службе приложений, но это также отличный способ обеспечения непрерывной интеграции в процессе развертывания. По умолчанию каждый git push из репозитория GitHub запускает действие сборки и развертывания.
Шаг 1. В меню слева выберите .
Шаг 2. На странице Центра развертывания:
- В поле Источник выберите GitHub. По умолчанию в качестве поставщика сборки выбрано GitHub Actions.
- Войдите в свою учетную запись GitHub и следуйте инструкциям по авторизации Azure.
- В поле Организация выберите свою учетную запись.
- В репозитории выберите msdocs-spring-boot-mongodb-sample-app.
- В Branch выберите starter-no-infra. Это та же ветвь, в которой вы работали с вашим тестовым приложением, без файлов или конфигурации, связанных с Azure.
- Для типа аутентификации выберите идентификацию, назначенную пользователем.
- В меню сверху выберите Сохранить. Служба приложений фиксирует файл рабочего процесса в выбранном репозитории GitHub в каталоге
.github/workflows. По умолчанию центр развертывания создает назначаемое пользователем удостоверение для рабочего процесса для проверки подлинности с помощью Microsoft Entra (проверка подлинности OIDC). Для получения информации об альтернативах проверки подлинности см. Развертывание в App Service с помощью GitHub Actions.
Шаг 3.
- Перейдите на вкладку Журналы. Заметьте, что новое развертывание уже выполнено, но статус неудачно.
- Выберите Журналы сборки/развертывания.
В браузере откроется вкладка "Действия" вашего форкнутого репозитория на GitHub. В заметках отображается ошибка
The string 'java25' is not valid SemVer notation for a Java version. Если вы хотите, выберите неисправный шаг сборки на странице, чтобы получить дополнительные сведения.
Шаг 4. Ошибка показывает, что что-то пошло не так во время рабочего процесса GitHub. Чтобы исправить его, сначала извлеките последние изменения в пространство кода. Вернитесь в GitHub Codespace вашего примера форка, выполните команду git pull origin starter-no-infra.
Это извлекает только что зафиксированный файл рабочего процесса в пространство кода.
Шаг 5 (вариант 1: с GitHub Copilot):
- Запустите новый сеанс чата, выбрав представление чата, а затем выберите +.
- Спросите: "@workspace Почему я получаю ошибку в GitHub Actions: строка „java25“ не является допустимой записью SemVer для версии Java." Copilot может дать вам объяснение и даже ссылку на файл workflow, который нужно исправить.
- Откройте .github/workflows/starter-no-infra_msdocs-spring-cosmosdb-123.yaml в обозревателе и внесите предлагаемое исправление. GitHub Copilot не дает вам одинаковый ответ каждый раз, вам может потребоваться задать дополнительные вопросы, чтобы точно настроить его ответ. Советы см. в статье "Что можно сделать с помощью GitHub Copilot в моем пространстве кода?".
Шаг 5 (вариант 2: без GitHub Copilot):
- Откройте .github/workflows/starter-no-infra_msdocs-spring-cosmosdb-123.yaml в обозревателе и найдите
setup-java@v4действие. - Измените значение атрибута
java-versionна'25'.
Шаг 6.
- Выберите расширение Контроль версий.
- В текстовом поле введите сообщение коммита, например
Fix error in java-version. Или выберите
и позвольте GitHub Copilot создать сообщение для коммита. - Нажмите кнопку "Зафиксировать", а затем подтвердите значение "Да".
- Нажмите кнопку "Синхронизировать изменения 1", а затем нажмите кнопку "ОК".
Шаг 7. Назад на странице Центра развертывания в портал Azure:
- На вкладке Журналы выберите Обновить. Новый запуск развертывания уже запущен из зафиксированных изменений.
- В элементе журнала для запуска развертывания выберите запись «Журналы сборки/развертывания» с последней меткой времени.
Шаг 8. Вы перейдете в репозиторий GitHub и увидите, что действие GitHub выполняется. Файл рабочего процесса определяет два отдельных этапа: сборку и развертывание. Дождитесь, пока выполнение на GitHub не покажет статус Завершено.
Возникли проблемы? Ознакомьтесь с разделом "Устранение неполадок".
5. Перейдите к приложению
Шаг 1. На странице Служба приложений:
- В меню слева выберите Обзор.
- Выберите URL-адрес своего приложения.
Шаг 2. Добавление нескольких задач в список. Поздравляем, вы запускаете веб-приложение в службе приложение Azure с безопасным подключением к Azure Cosmos DB.
Возникли проблемы? Ознакомьтесь с разделом "Устранение неполадок".
Трансляция диагностических журналов
Служба приложений Azure захватывает все сообщения, выводимые на консоль, чтобы помочь в диагностике проблем с приложением. Пример приложения включает стандартные инструкции ведения журнала Log4j для демонстрации этой возможности, как показано в следующем фрагменте кода:
private static Logger logger = LoggerFactory.getLogger(TodoListController.class);
@Autowired
private TodoItemRepository todoItemRepository;
public TodoListController() {
}
/**
* HTTP GET
*/
@GetMapping(path = "/api/todolist/{index}", produces = {MediaType.APPLICATION_JSON_VALUE})
public TodoItem getTodoItem(@PathVariable("index") String index) {
logger.info("GET request access '/api/todolist/{}' path.", index);
return todoItemRepository.findById(index).get();
}
Шаг 1. На странице Служба приложений:
- В меню слева выберите Журналы службы приложений.
- Под элементом Ведение журнала приложения выберите Файловая система.
- В меню сверху выберите Сохранить.
Шаг 2. В меню слева выберите поток журналов. Вы видите журналы для своего приложения, включая журналы платформы и журналы изнутри контейнера.
Узнайте подробнее о логировании в приложениях Java в серии статей о включении Azure Monitor OpenTelemetry для приложений .NET, Node.js, Python и Java.
Возникли проблемы? Ознакомьтесь с разделом "Устранение неполадок".
7. Очистка ресурсов
По завершении работы можно удалить все ресурсы из вашей подписки Azure, удалив соответствующую группу ресурсов.
Шаг 1: В строке поиска в верхней части портала Azure.
- Введите имя группы ресурсов.
- Выберите группу ресурсов.
Шаг 2. На странице группы ресурсов выберите "Удалить группу ресурсов".
Шаг 3.
- Подтвердите удаление, введя имя группы ресурсов.
- Выберите команду Удалить.
- Подтвердите удаление еще раз.
2. Создание ресурсов Azure и развертывание примера приложения
На этом шаге вы создадите ресурсы Azure и развернете пример приложения в Службе приложений на Linux. Действия, используемые в этом руководстве, создают набор безопасных ресурсов по умолчанию, которые включают Служба приложений и Azure Cosmos DB.
Контейнер разработки уже имеет интерфейс командной строки разработчика Azure (AZD).
Выполните команду
azd initиз корневого каталога репозитория.azd init --template javase-app-service-cosmos-redis-infra .При появлении запроса укажите следующие ответы:
Вопрос Ответ Текущий каталог не пуст. Вы хотите инициализировать проект здесь, в '<вашем каталоге>'? Y Что вы хотите сделать с этими файлами? Сохранение существующих файлов без изменений Введите новое имя среды Введите уникальное имя. Шаблон AZD использует это имя как часть DNS-имени веб-приложения в Azure ( <app-name>-<hash>.azurewebsites.net). Разрешены буквенно-цифровые символы и дефисы.Войдите в Azure, выполнив команду
azd auth loginи следуя инструкциям подсказки.azd auth loginСоздайте необходимые ресурсы Azure, а затем разверните код приложения с помощью команды
azd up. Следуйте запросу, чтобы выбрать нужную подписку и расположение для ресурсов Azure.azd upВыполнение
azd upкоманды занимает около 15 минут. Он также компилирует и развертывает код приложения, но позже необходимо изменить код для работы со службой приложений. Во время выполнения команда предоставляет сообщения о процессе подготовки и развертывания, включая ссылку на развертывание в Azure. По завершении команда также отображает ссылку на развернутое приложение.Этот шаблон AZD содержит файлы (azure.yaml и каталог infra), создающие безопасную архитектуру по умолчанию со следующими ресурсами Azure:
- Группа ресурсов: контейнер для всех созданных ресурсов.
- План службы приложений: Определяет вычислительные ресурсы для службы приложений. Создается план Linux в уровне B1.
- Служба приложений: Представляет приложение и запускается в плане службы приложений.
- Виртуальная сеть: интегрированная с приложением Служба приложений и изолирует внутренний сетевой трафик.
- Учетная запись Azure Cosmos DB с API MongoDB: доступна только через частную конечную точку. База данных создается для вас на сервере.
- Azure Managed Redis: доступен только из виртуальной сети.
- Хранилище ключей: доступно только через свою закрытую конечную точку. Используется для управления секретами для приложения Служба приложений.
- Частные конечные точки: доступ к конечным точкам для хранилища ключей, сервера базы данных и Azure Managed Redis в виртуальной сети.
- Частные DNS-зоны: включите разрешение DNS для базы данных Cosmos DB, Azure Managed Redis и хранилища ключей в виртуальной сети.
- Рабочая область Log Analytics: служит целевым контейнером для вашего приложения для отправки журналов и выполнения запросов к ним.
Возникли проблемы? Ознакомьтесь с разделом "Устранение неполадок".
3. Проверьте строки подключения
Шаблон AZD, который вы используете, уже создал переменные подключения для вас как параметры приложения и выводит их в терминал для вашего удобства. Параметры приложения — это один из способов удерживать секреты подключения вне вашего репозитория кода.
В выходных данных AZD найдите параметр приложения
spring.data.mongodb.uri. Отображаются только имена параметров. Они выглядят следующим образом в выходных данных AZD:App Service app has the following app settings: - spring.data.mongodb.uri - spring.data.mongodb.database - spring.redis.host - spring.redis.port - spring.redis.password - spring.redis.database - spring.redis.ssl - spring.cloud.azure.keyvault.secret.credential.managed_identity_enabled - spring.cloud.azure.keyvault.secret.endpoint - azure.keyvault.uri - azure.keyvault.scopespring.data.mongodb.uriсодержит URI подключения к базе данных Cosmos DB в Azure. Это стандартная переменная Spring Data, которую приложение уже использует в файле src/main/resources/application.properties .В обозревателе перейдите к src/main/resources/application.properties и убедитесь, что приложение Spring Boot уже использует
spring.data.mongodb.uriпеременную для доступа к данным.Для удобства выходные данные шаблона AZD отображают прямую ссылку на страницу параметров приложения. Найдите ссылку и откройте ее на новой вкладке браузера.
Если вы посмотрите на значение
spring.data.mongodb.uri, оно должно быть@Microsoft.KeyVault(...), что означает, что это ссылка на хранилище ключей, поскольку секрет управляется в хранилище ключей.
Возникли проблемы? Ознакомьтесь с разделом "Устранение неполадок".
4. Переход в приложение
В выходных данных AZD найдите URL-адрес приложения и перейдите к нему в браузере. URL-адрес выглядит следующим образом в выходных данных AZD:
Deploying services (azd deploy) (✓) Done: Deploying service web - Endpoint: <URL>
Добавьте несколько задач в список.
Поздравляем, вы запускаете веб-приложение в службе приложение Azure с безопасным подключением к Azure Cosmos DB.
Возникли проблемы? Ознакомьтесь с разделом "Устранение неполадок".
5. Потоковая передача журналов диагностики
служба приложение Azure может записывать журналы консоли для диагностики проблем с приложением. Для удобства шаблон AZD уже включил ведение журнала в локальную файловую систему и отправляет журналы в рабочую область Log Analytics.
Пример приложения включает стандартные инструкции ведения журнала Log4j для демонстрации этой возможности, как показано в следующем фрагменте кода:
private static Logger logger = LoggerFactory.getLogger(TodoListController.class);
@Autowired
private TodoItemRepository todoItemRepository;
public TodoListController() {
}
/**
* HTTP GET
*/
@GetMapping(path = "/api/todolist/{index}", produces = {MediaType.APPLICATION_JSON_VALUE})
public TodoItem getTodoItem(@PathVariable("index") String index) {
logger.info("GET request access '/api/todolist/{}' path.", index);
return todoItemRepository.findById(index).get();
}
В выходных данных AZD найдите ссылку для потоковой передачи журналов, связанных с App Service, и перейдите по ней в браузере. Ссылка выглядит следующим образом в выходных данных AZD:
Stream App Service logs at: <URL>
Узнайте подробнее о логировании в приложениях Java в серии статей о включении Azure Monitor OpenTelemetry для приложений .NET, Node.js, Python и Java.
Возникли проблемы? Ознакомьтесь с разделом "Устранение неполадок".
6. Очистка ресурсов
Чтобы удалить все ресурсы Azure в текущей среде развертывания, выполните azd down и следуйте инструкциям.
azd down
Устранение неполадок
- В представлении развертывания портала для Azure Cosmos DB отображается состояние конфликта
- Развернутый образец приложения не показывает приложение со списком задач
В представлении развертывания портала для Azure Cosmos DB отображается состояние конфликта
В зависимости от вашей подписки и выбранного региона может появиться состояние развертывания Azure Cosmos DB Conflict со следующим сообщением в разделе "Детали операции".
Sorry, we are currently experiencing high demand in <region> region, and cannot fulfill your request at this time.
Эта ошибка, скорее всего, возникает из-за ограничения подписки для выбранного региона. Попробуйте выбрать другой регион для развертывания. Доступная емкость для других ресурсов в развертывании также может различаться в зависимости от региона и подписки, поэтому убедитесь, что в выбранном регионе есть достаточная емкость как для плана App Service, так и для экземпляра Azure Managed Redis (Balanced_B0).
Развернутое пробное приложение не отображает приложение "Список задач".
Если вы видите Hey, Java developers! страницу вместо приложения списка задач, Служба приложений, скорее всего, по-прежнему загружает обновленный контейнер из последнего развертывания кода. Подождите несколько минут и обновите страницу.
Часто задаваемые вопросы
- Сколько стоит такая конфигурация?
- Как выполнить миграцию базы данных с использованием базы данных Cosmos DB, находящейся за виртуальной сетью?
- Как осуществляется разработка локальных приложений с использованием GitHub Actions?
- У меня нет разрешений на создание удостоверения пользователя
Сколько стоит такая конфигурация?
Цены на созданные ресурсы приведены следующим образом:
- План службы приложений создается на уровне Базовый, и его можно масштабировать вверх или вниз. См. цены на Службу приложений.
- Учетная запись Azure Cosmos DB создается на бессерверном уровне, а с этим уровнем связана небольшая стоимость. См. страницу цен на Azure Cosmos DB.
- Экземпляр Azure Managed Redis создаётся в ценовой категории Balanced B0 (
Balanced_B0) с минимальным размером кэша. Существует небольшая стоимость, связанная с этим уровнем. Его можно масштабировать до более высоких уровней производительности для повышения доступности, кластеризации и других функций. См. цены Azure Managed Redis. - Плата за виртуальную сеть не взимается, если только вы не настроите дополнительные функциональные возможности, такие как пиринг. См. цены на виртуальные сети Azure.
- За частную зону DNS взимается небольшая плата. См. цены на Azure DNS.
Как запустить миграцию базы данных для базы данных Cosmos DB в виртуальной сети?
Контейнер Java SE в Azure App Service уже имеет сетевое подключение к Cosmos DB, но не содержит инструментов миграции или средств MongoDB. Доступно несколько вариантов:
- Автоматическая миграция базы данных выполняется при запуске приложения, например с Hibernate и Flyway.
- В сеансе SSH приложения установите средство миграции, например Flyway, а затем запустите скрипт миграции. Помните, что установленное средство не будет сохраняться после перезапуска приложения, если он не находится в каталоге /home .
- Интегрируйте облачную оболочку Azure с виртуальной сетью и запустите миграцию базы данных.
Как осуществляется разработка локальных приложений с использованием GitHub Actions?
В качестве примера использования файла рабочего процесса, автоматически созданного со службой приложений, каждое git push запускает новое выполнение сборки и развертывания. Из локального клона репозитория GitHub необходимо внести необходимые обновления и отправить их в GitHub. Например:
git add .
git commit -m "<some-message>"
git push origin main
У меня нет полномочий на создание идентификатора, назначаемого пользователем
См. Настройка развертывания GitHub Actions из Центра развертывания.
Что можно сделать с помощью GitHub Copilot в моем пространстве кода?
Вы можете заметить, что представление чата GitHub Copilot уже было там, когда вы создали кодовое пространство. Для удобства мы включаем расширение чата GitHub Copilot в определение контейнера (см. .devcontainer/devcontainer.json). Однако вам нужна учетная запись GitHub Copilot (доступна бесплатная пробная версия 30 дней).
Несколько советов для вас при разговоре с GitHub Copilot:
- В одном сеансе чата вопросы и ответы основываются друг на друге, и вы можете корректировать свои вопросы, чтобы уточнить ответ, который вы получаете.
- По умолчанию GitHub Copilot не имеет доступа к файлу в репозитории. Чтобы задать вопросы о файле, сначала откройте файл в редакторе.
- Чтобы разрешить GitHub Copilot получить доступ ко всем файлам в репозитории при подготовке его ответов, начните с вашего вопроса
@workspace. Дополнительные сведения см. в разделе Use the @workspace agent. - В сеансе чата GitHub Copilot может предложить изменения и (с
@workspace) даже указать, где внести изменения, но не имеет права делать их за вас. Вам решать, добавить предлагаемые изменения и протестировать их.
Следующие шаги
- Azure для разработчиков Java
- Spring Boot
- Spring Data для Azure Cosmos DB
- Azure Cosmos DB и -Служба приложений Linux
Дополнительные сведения о запуске приложений Java на Служба приложений см. в руководстве разработчика.
Узнайте, как защитить приложение с помощью личного домена и сертификата.