Spring Boot 可簡化 Spring Cloud Azure 開發體驗。 Spring Cloud Azure 入門版是一組方便的相依性描述元,可包含在您的應用程式中。 起始程式負責物件實例化和配置邏輯,所以你不必自己操作。 每個入門套件都依賴 spring-cloud-azure-starter 提供關鍵的組態資訊,例如 Azure 雲端環境和驗證資訊。 您可以將這些設定為 YAML 檔案中的屬性,如下列範例所示:
spring:
cloud:
azure:
profile:
tenant-id: <tenant>
cloud-type: Azure
credential:
client-id: ${AZURE_CLIENT_ID}
注意
cloud 屬性是選擇性的。
tenant-id 允許的值包括:common、organizations、consumers或租用戶標識碼。 如需這些值的詳細資訊,請參閱 錯誤 AADSTS50020 - 來自身分識別提供者的使用者帳戶不存在於租用戶中中的 使用了錯誤的端點(個人和組織帳戶)一節。 如需有關將單一租用戶應用程式轉換為多租用戶的資訊,請參閱 在 Microsoft Entra ID 上將單一租用戶應用程式轉換為多租用戶。
這些屬性是選擇性的。 如果你沒指定,Spring Boot 會自動幫你找到。 如需 Spring Boot 如何尋找這些屬性的詳細資訊,請參閱檔。
相依性設定
你可以用兩種方式使用 Spring Cloud Azure 的啟動程式。 第一種方式是使用具有 spring-cloud-azure-starter 相依性的 Azure SDK,如以下範例所示:
<dependency>
<groupId>com.azure</groupId>
<artifactId>azure-cosmos</artifactId>
</dependency>
<dependency>
<groupId>com.azure.spring</groupId>
<artifactId>spring-cloud-azure-starter</artifactId>
</dependency>
第二種方法是避免新增 Azure SDK 相依,而是直接為每個服務加入 Spring Cloud Azure Starter。 例如,使用 Azure Cosmos DB,你會新增以下相依關係:
<dependency>
<groupId>com.azure.spring</groupId>
<artifactId>spring-cloud-azure-starter-cosmos</artifactId>
</dependency>
提示
如需支援的入門清單,請參閱 Spring Cloud Azure 開發人員指南的 入門相依性 一節。
配置
注意
如果你使用安全主體來驗證並授權 Microsoft Entra ID 存取 Azure 資源,請確保安全主體擁有足夠的權限來存取該 Azure 資源。 如需詳細資訊,請參閱 使用 Microsoft Entra ID授權存取權。
每個 Azure 服務的組態屬性都位於前綴 spring.cloud.azure.<azure-service> 之下。
提示
如需所有 Spring Cloud Azure 組態屬性的清單,請參閱 Spring Cloud Azure 組態屬性。
基本用法
將以下屬性加入你的 application.yaml 檔案,以自動配置 Azure Cosmos DB 客戶端。
spring:
cloud:
azure:
cosmos:
database: ${AZURE_COSMOS_DATABASE_NAME}
endpoint: ${AZURE_COSMOS_ENDPOINT}
consistency-level: eventual
connection-mode: direct
接著,這兩個 CosmosClient 和 CosmosAsyncClient 都可在上下文中使用,你可以自動接線,如下範例所示:
class Demo {
@Autowired
private CosmosClient cosmosClient;
@Override
public void run() {
User item = User.randomUser();
CosmosContainer container = cosmosClient.getDatabase(databaseName).getContainer(containerName);
container.createItem(item);
}
}
樣品
請參見 GitHub 上的 azure-spring-boot-samples 倉庫。