Поделиться через


Привязка База данных 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, вам нужно самостоятельно управлять сменой паролей.

Необходимые компоненты

Подготовка проекта

Чтобы подготовить проект, выполните следующие действия.

  1. Добавьте в файл проекта 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>
    
  2. В файле application.properties удалите свойство spring.datasource.*.

  3. Обновите текущее приложение, выполнив команду az spring app deploy, или создайте новое развертывание для этого изменения с помощью команды az spring app deployment create.

Привязка приложения к экземпляру База данных Azure для PostgreSQL

Примечание.

Не забудьте выбрать только один из следующих подходов для создания подключения. Если вы уже создали таблицы с одним подключением, другие пользователи не могут получить доступ к таблицам или изменить их. При попытке другого подхода приложение выдает такие ошибки, как "Отказано в разрешении". Чтобы устранить эту проблему, подключитесь к новой базе данных или удалите и повторно создайте существующую.

Примечание.

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

  1. Установите расширение без пароля соединителя службы для Azure CLI:

    az extension add --name serviceconnector-passwordless --upgrade
    
  2. Настройте 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.