將適用於 PostgreSQL 的 Azure 資料庫繫結至您在 Azure Spring 應用程式中的應用程式
注意
基本、標準和企業方案將從 2025 年 3 月中旬開始淘汰,並停用 3 年。 建議您轉換至 Azure Container Apps。 如需詳細資訊,請參閱 Azure Spring Apps 淘汰公告。
標準 耗用量和專用 方案將從 2024 年 9 月 30 日起淘汰,並在六個月後完成關閉。 建議您轉換至 Azure Container Apps。 如需詳細資訊,請參閱 將 Azure Spring Apps 標準取用和專用方案遷移至 Azure Container Apps。
本文適用於:✅ Java ✅ C#
本文適用於:✅ 基本/標準 ✅ 企業
使用 Azure Spring Apps,您可以自動將選取 Azure 服務系結至您的應用程式,而不必手動設定 Spring Boot 應用程式。 本文說明如何將應用程式系結至 適用於 PostgreSQL 的 Azure 資料庫 實例。
在本文中,我們包含兩種驗證方法:Microsoft Entra 驗證和 PostgreSQL 驗證。 [無密碼] 索引標籤會顯示 Microsoft Entra 驗證,而 [密碼] 索引標籤則會顯示 PostgreSQL 驗證。
Microsoft Entra 驗證是一種機制,會使用 Microsoft Entra ID 中所定義的身分識別以連線到適用於 PostgreSQL 的 Azure 資料庫。 透過 Microsoft Entra 驗證,您可以在集中的位置管理資料庫使用者的身分識別和其他 Microsoft 服務,從而簡化權限管理。
PostgreSQL 驗證會使用儲存在 PostgreSQL 中的帳戶。 如果您選擇使用密碼作為帳戶的認證,這些認證會儲存在用戶數據表中。 由於這些密碼會儲存在 PostgreSQL 中,因此您必須自行管理密碼的輪替。
必要條件
- 部署至 Azure Spring Apps 的應用程式。 如需詳細資訊,請參閱快速入門:將第一個應用程式部署至 Azure Spring Apps。
- 適用於 PostgreSQL 的 Azure 資料庫 彈性伺服器實例。
- 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
來建立此變更的新部署。
將您的應用程式系結至 適用於 PostgreSQL 的 Azure 資料庫 實例
注意
請務必只選取下列其中一種方法來建立連線。 如果您已經建立具有一個連線的數據表,其他使用者就無法存取或修改數據表。 當您嘗試其他方法時,應用程式會擲回錯誤,例如「許可權遭拒」。 若要修正此問題,請連線到新的資料庫或刪除並重新建立現有的資料庫。
注意
根據預設,服務連接器會在應用層級建立。 若要覆寫連線,您可以在部署中再次建立其他連線。
安裝 Azure CLI 的服務連接器無密碼延伸模組:
az extension add --name serviceconnector-passwordless --upgrade
設定 Azure Spring Apps 以使用
az spring connection create
命令連線到 Postgre SQL 資料庫 系統指派的受控識別。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 中的應用程式系結至 適用於 PostgreSQL 的 Azure 資料庫 實例。 若要深入瞭解如何將服務系結至應用程式,請參閱 將 Azure Cosmos DB 資料庫系結至 Azure Spring Apps 中的應用程式。