将 Azure Database for PostgreSQL 绑定到 Azure Spring Apps 中的应用程序

注意

基本计划和标准计划于 2025 年 3 月 17 日进入退休期。 有关详细信息,请参阅 Azure Spring Apps 停用公告

可以通过 Azure Spring Apps 将所选 Azure 服务自动绑定到应用程序,而不必手动配置 Spring Boot 应用程序。 本文介绍如何将应用程序绑定到 Azure Database for PostgreSQL 实例。

本文介绍两种身份验证方法:Microsoft Entra 身份验证和 PostgreSQL 身份验证。 “无密码”选项卡可显示 Microsoft Entra 身份验证,“密码”选项卡则显示 PostgreSQL 身份验证。

Microsoft Entra 身份验证是一种使用 Microsoft Entra ID 中定义的标识连接到 Azure Database for PostgreSQL 的机制。 通过 Microsoft Entra 身份验证,可以在一个中心位置集中管理数据库用户标识和其他 Microsoft 服务,从而简化权限管理。

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 文件中,删除所有 属性。

  3. 通过运行 az spring app deploy 更新当前应用,或者通过运行 az spring app deployment create 针对此更改创建新的部署。

将应用绑定到 Azure Database for PostgreSQL 实例

通过以下步骤使用机密绑定你的应用。

  1. 记下 Azure Database for PostgreSQL 帐户的管理员用户名和密码。

  2. 连接到服务器,从 PostgreSQL 客户端创建名为 testdb 的数据库,然后创建新的非管理员帐户。

  3. 运行以下命令,使用管理员用户名和密码连接到数据库。

    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 \
        --secret name=$USERNAME secret=$PASSWORD
    

后续步骤

本文介绍了如何将 Azure Spring Apps 中的应用程序绑定到 Azure Database for PostgreSQL 实例。 若要详细了解如何将服务绑定到应用程序,请参阅将 Azure Cosmos DB 数据库绑定到 Azure Spring Apps 中的应用程序