Spring Cloud Azure 開發人員指南

本文適用于: ✔️版本 4.14.0 ✔️ 5.8.0

Spring 是由 VMware 開發的開放原始碼應用程式架構,可提供簡化的模組化方法來建立 JAVA 應用程式。 Spring Cloud Azure 是開放原始碼專案,可提供與 Azure 的無縫 Spring 整合。

如需支援版本的詳細資訊,請參閱 Spring Versions Mapping

取得說明

如果您有關于此檔的任何問題,請在下列其中一個 GitHub 存放庫中建立 GitHub 問題。 也歡迎您提出要求。

GitHub 存放庫 描述
Azure/azure-sdk-for-java 此存放庫會保存原始程式碼。
MicrosoftDocs/azure-dev-docs 此存放庫會保存檔。

自 3.10.x 起的 4.0 新功能

本檔涵蓋自 3.10 以來 4.0 所做的變更。 此主要版本提供更佳的安全性、更精簡的相依性、生產整備支援等等。

提示

如需移轉至 4.0 的詳細資訊,請參閱 4.0 的移轉指南。

下列清單摘要說明 Spring Cloud Azure 4.0 所提供的一些變更:

  • 具有統一專案名稱、成品識別碼和屬性的整合開發體驗。
  • 使用單 spring-cloud-azure-dependencies 一 BOM 簡化相依性管理。
  • 在 Spring Initializr 上展開Azure 支援,以涵蓋 Kafka、事件中 樞、Azure Cache for Redis 和 Azure 應用程式組態。
  • 重新架構 Spring 模組相依性,以移除多餘的層和糾纏。
  • Azure 應用程式組態、事件中樞、服務匯流排、Azure Cosmos DB、金鑰保存庫、儲存體 Blob 和 儲存體 佇列的受控識別支援。
  • 從我們的 Spring 程式庫持續支援基礎 Azure SDK 中的驗證方法,例如使用 服務匯流排 和事件中樞的 SAS 權杖和權杖認證驗證。
  • 認證鏈結現在預設會啟用,讓應用程式從應用程式屬性、環境變數、受控識別、IDE 等取得認證。 如需詳細資訊,請參閱 適用于 JAVA Azure 身分識別用戶端程式庫的 DefaultAzureCredential 一節。
  • 資源層級的細微存取控制(例如服務匯流排佇列),以提供更好的安全性控管和遵循 IT 原則。
  • 透過大幅改善同步和非同步案例之 Azure SDK 用戶端的自動設定涵蓋範圍,以 Spring-idiomatic 方式公開更多選項。
  • 已新增Azure 應用程式組態、事件中樞、Azure Cosmos DB、金鑰保存庫、儲存體 Blob、儲存體佇列和儲存體檔案的健康情況指標。
  • Spring Cloud Sleuth 支援所有 HTTP 型 Azure SDK。

4.0 的移轉指南

如需移轉至 4.0 的詳細資訊,請參閱 4.0 的移轉指南。

開始使用

設定相依性

材料帳單(BOM)

<dependencyManagement>
  <dependencies>
    <dependency>
      <groupId>com.azure.spring</groupId>
      <artifactId>spring-cloud-azure-dependencies</artifactId>
      <version>4.14.0</version>
      <type>pom</type>
      <scope>import</scope>
    </dependency>
  </dependencies>
</dependencyManagement>

注意

如果您使用 Spring Boot 3.x,請務必將 spring-cloud-azure-dependencies 版本設定為 5.8.0 。 如需版本的詳細資訊 spring-cloud-azure-dependencies ,請參閱 我應該使用 哪個版本的 Spring Cloud Azure。

入門相依性

Spring Cloud Azure 入門版是一組方便的相依性描述元,可包含在您的應用程式中。 每個入門都包含開始使用其對應 Spring Cloud Azure 模組所需的所有相依性和可轉移性相依性。 這些入門可提升 Spring Boot 應用程式開發與 Azure 服務。

例如,如果您想要開始使用 Spring 和 Azure Cosmos DB 進行資料持續性,請在專案中包含 spring-cloud-azure-starter-cosmos 相依性。

下表列出 Spring Cloud Azure 在群組底下 com.azure.spring 提供的應用程式入門:

名稱 描述
spring-cloud-azure-starter 核心入門,包括自動設定支援。
spring-cloud-azure-starter-active-directory 搭配 Spring Security 使用 Microsoft Entra ID 的入門。
spring-cloud-azure-starter-active-directory-b2c 搭配 Spring Security 使用 Azure Active Directory B2C 的入門。
spring-cloud-azure-starter-appconfiguration 使用 Azure 應用程式組態 的入門。
spring-cloud-azure-starter-cosmos 使用 Azure Cosmos DB 的入門。
spring-cloud-azure-starter-eventhubs 使用 Azure 事件中樞 的入門。
spring-cloud-azure-starter-keyvault 使用 Azure 金鑰保存庫 的入門版。
spring-cloud-azure-starter-keyvault-secrets 使用 Azure 金鑰保存庫秘密的入門。
spring-cloud-azure-starter-keyvault-certificates 使用 Azure 金鑰保存庫憑證的入門。
spring-cloud-azure-starter-servicebus 使用 Azure 服務匯流排 的入門。
spring-cloud-azure-starter-servicebus-jms 使用 Azure 服務匯流排 和 JMS 的入門。
spring-cloud-azure-starter-storage 使用 Azure 儲存體 的入門。
spring-cloud-azure-starter-storage-blob 使用 Azure 儲存體 Blob 的入門。
spring-cloud-azure-starter-storage-file-share 使用 Azure 儲存體 檔案共用的入門。
spring-cloud-azure-starter-storage-queue 使用Azure 儲存體佇列的入門。
spring-cloud-azure-starter-一個執行器 使用 Spring Boot 的執行器入門,其提供生產就緒的功能。

下表列出 Spring Data 支援的入門:

名稱 描述
spring-cloud-azure-starter-data-cosmos 針對 Azure Cosmos DB 使用 Spring Data 的入門。

下表列出 Spring Integration 支援的入門:

名稱 描述
spring-cloud-azure-starter-integration-eventhubs 使用 Azure 事件中樞 和 Spring Integration 的入門。
spring-cloud-azure-starter-integration-servicebus 使用 Azure 服務匯流排 和 Spring Integration 的入門。
spring-cloud-azure-starter-integration-storage-queue 使用 Azure 儲存體 Queue 和 Spring Integration 的入門。

下表列出 Spring Cloud Stream 支援的入門:

名稱 描述
spring-cloud-azure-starter-stream-eventhubs 使用 Azure 事件中樞 和 Spring Cloud Stream Binder 的入門。
spring-cloud-azure-starter-stream-servicebus 使用 Azure 服務匯流排 和 Spring Cloud Stream Binder 的入門。

下表列出 MySQL 支援的入門:

名稱 描述
spring-cloud-azure-starter-jdbc-mysql 透過 Microsoft Entra 驗證使用 Azure MySQLs 和 JDBC 的入門。

下表列出 PostgreSQL 支援的入門:

名稱 描述
spring-cloud-azure-starter-jdbc-postgresql 透過 Microsoft Entra 驗證使用 Azure PostgreSQL 和 JDBC 的入門。

Learning Spring Cloud Azure

我們已準備完整的範例清單來顯示使用量。 您可以在 Spring Cloud Azure 範例中找到這些範例