Привязка База данных Azure для PostgreSQL к приложению в Azure Spring Apps
Примечание.
Планы "Базовый", "Стандартный" и "Корпоративный" будут устарели начиная с середины марта 2025 г. с 3-летнего периода выхода на пенсию. Рекомендуется перейти в приложения контейнеров Azure. Дополнительные сведения см. в объявлении о выходе на пенсию в Azure Spring Apps.
Стандартный план потребления и выделенного плана будет устарел с 30 сентября 2024 г. с полным завершением работы после шести месяцев. Рекомендуется перейти в приложения контейнеров Azure. Дополнительные сведения см. в статье "Миграция потребления Azure Spring Apps Standard" и выделенного плана в приложения контейнеров Azure.
Эта статья применима к: ✔️ Java ✔️ C#
Эта статья относится к: ✔️ Basic/Standard ✔️ Enterprise
С помощью Azure Spring Apps можно автоматически привязать выбранные службы Azure к приложениям, не настраивая приложение Spring Boot вручную. В этой статье показано, как привязать приложение к База данных Azure для PostgreSQL экземпляру.
В этой статье мы рассмотрим два метода проверки подлинности: проверку подлинности Microsoft Entra и проверку подлинности PostgreSQL. На вкладке "Без пароля" показана проверка подлинности Microsoft Entra, а на вкладке "Пароль" отображается проверка подлинности PostgreSQL.
Проверка подлинности Microsoft Entra — это механизм подключения к База данных Azure для PostgreSQL с помощью удостоверений, определенных в идентификаторе Microsoft Entra. С помощью проверки подлинности Microsoft Entra можно управлять удостоверениями пользователей базы данных и другими службы Майкрософт в центральном расположении, что упрощает управление разрешениями.
Проверка подлинности PostgreSQL использует учетные записи, хранящиеся в PostgreSQL. Если вы решили использовать пароли в качестве учетных данных для учетных записей, эти учетные данные хранятся в таблице пользователя. Так как эти пароли хранятся в PostgreSQL, вам нужно самостоятельно управлять сменой паролей.
Необходимые компоненты
- Развернутое в Azure Spring Apps приложение. Дополнительные сведения см. в статье Краткое руководство. Развертывание первого приложения Azure Spring Apps.
- Экземпляр гибкого сервера База данных Azure для PostgreSQL.
- Azure CLI версии 2.45.0 или более поздней.
Подготовка проекта
Чтобы подготовить проект, выполните следующие действия.
Добавьте в файл проекта pom.xml следующую зависимость:
<dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-data-jpa</artifactId> </dependency> <dependency> <groupId>com.azure.spring</groupId> <artifactId>spring-cloud-azure-starter-jdbc-postgresql</artifactId> </dependency>
В файле application.properties удалите свойство
spring.datasource.*
.Обновите текущее приложение, выполнив команду
az spring app deploy
, или создайте новое развертывание для этого изменения с помощью командыaz spring app deployment create
.
Привязка приложения к экземпляру База данных Azure для PostgreSQL
Примечание.
Не забудьте выбрать только один из следующих подходов для создания подключения. Если вы уже создали таблицы с одним подключением, другие пользователи не могут получить доступ к таблицам или изменить их. При попытке другого подхода приложение выдает такие ошибки, как "Отказано в разрешении". Чтобы устранить эту проблему, подключитесь к новой базе данных или удалите и повторно создайте существующую.
Примечание.
По умолчанию соединители служб создаются на уровне приложения. Чтобы переопределить подключения, можно снова создать другие подключения в развертываниях.
Установите расширение без пароля соединителя службы для Azure CLI:
az extension add --name serviceconnector-passwordless --upgrade
Настройте Azure Spring Apps для подключения к Postgre База данных SQL с управляемым удостоверением, назначаемое системой, с помощью
az spring connection create
команды.az spring connection create postgres-flexible \ --resource-group $AZ_SPRING_APPS_RESOURCE_GROUP \ --service $AZ_SPRING_APPS_SERVICE_INSTANCE_NAME \ --app $APP_NAME \ --deployment $DEPLOYMENT_NAME \ --target-resource-group $POSTGRES_RESOURCE_GROUP \ --server $POSTGRES_SERVER_NAME \ --database $DATABASE_NAME \ --system-identity
Следующие шаги
Из этой статьи вы узнали, как привязать приложение в Azure Spring Apps к экземпляру База данных Azure для PostgreSQL. Дополнительные сведения о привязке служб к приложению см. в статье Привязка Базы данных Azure Cosmos DB к приложению в Azure Spring Apps.