Привязка База данных Azure для PostgreSQL к приложению в Azure Spring Apps

Примечание.

Azure Spring Apps — это новое название службы Azure Spring Cloud. Старое название будет еще некоторое время встречаться в наших материалах, пока мы не обновим ресурсы, такие как снимки экрана, видео и схемы.

Эта статья применима к: ✔️ 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. Установите расширение service Подключение or без пароля для 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
    

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

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

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

  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. Установите расширение service Подключение or без пароля для Azure CLI:

    az extension add --name serviceconnector-passwordless --upgrade
    
  2. Настройте Azure Spring Apps для подключения к Postgre База данных SQL с управляемым удостоверением, назначаемое системой, с помощью az spring connection create команды.

    az spring connection create postgres \
        --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.