Konfigurera Azure SDKs-klienter automatiskt

Spring Boot förenklar Utvecklingsupplevelsen för Spring Cloud Azure. Spring Cloud Azure Starters är en uppsättning praktiska beroendebeskrivningar som ska ingå i ditt program. Startarna hanterar instansiering och konfigurationslogik för objekt, så du behöver inte göra det. Varje starter är beroende av spring-cloud-azure-starter för att tillhandahålla viktiga konfigurationsbitar, till exempel Azure-molnmiljön och autentiseringsinformation. Du kan konfigurera dessa som egenskaper i till exempel en YAML-fil, som du ser i följande exempel:

spring:
  cloud:
    azure:
      profile:
        tenant-id: <tenant>
        cloud-type: Azure
      credential:
        client-id: ${AZURE_CLIENT_ID}

Obs!

Egenskapen cloud är valfri.

De värden som tillåts för tenant-id är: common, organizations, consumerseller klientorganisations-ID. Mer information om de här värdena finns i avsnittet Fel slutpunkt användes (personliga konton och organisationskonton) i Fel AADSTS50020 – Användarkonto från identitetsleverantören finns inte i klientorganisationen. Information om hur du konverterar din app för en klientorganisation finns i Konvertera enklientapp till flera klientorganisationer på Microsoft Entra-ID.

De här egenskaperna är valfria. Om du inte anger dem försöker Spring Boot automatiskt hitta dem åt dig. Mer information om hur Spring Boot hittar dessa egenskaper finns i dokumentationen.

Konfiguration av beroenden

Du kan använda Spring Cloud Azure starter på två sätt. Det första sättet är att använda Azure SDK:er med spring-cloud-azure-starter beroende enligt följande exempel:

<dependency>
  <groupId>com.azure</groupId>
  <artifactId>azure-cosmos</artifactId>
</dependency>
<dependency>
    <groupId>com.azure.spring</groupId>
    <artifactId>spring-cloud-azure-starter</artifactId>
</dependency>

Det andra sättet är att undvika att lägga till Azure SDKs beroenden och i stället inkludera Spring Cloud Azure Starter för varje tjänst direkt. Med Azure Cosmos DB lägger du till följande beroende:

<dependency>
    <groupId>com.azure.spring</groupId>
    <artifactId>spring-cloud-azure-starter-cosmos</artifactId>
</dependency>

Tips

En lista över starter som stöds finns i avsnittet Starter-beroenden i utvecklarguiden Spring Cloud Azure.

Konfiguration

Obs!

Om du använder ett säkerhetsobjekt för att autentisera och auktorisera med Microsoft Entra ID för åtkomst till en Azure resurs kontrollerar du att säkerhetsobjektet har tillräcklig behörighet för att få åtkomst till den Azure resursen. Mer information finns i Auktorisera åtkomst med Microsoft Entra-ID.

Konfigurationsegenskaperna för varje Azure tjänst finns under prefixet spring.cloud.azure.<azure-service>.

Tips

En lista över alla Spring Cloud Azure-konfigurationsegenskaper finns i Azure-konfigurationsegenskaper för Spring Cloud.

Grundläggande användning

Lägg till följande egenskaper i filen application.yaml för att konfigurera den Azure Cosmos DB klienten automatiskt.

spring:
  cloud:
    azure:
      cosmos:
        database: ${AZURE_COSMOS_DATABASE_NAME}
        endpoint: ${AZURE_COSMOS_ENDPOINT}
        consistency-level: eventual
        connection-mode: direct

Sedan är både CosmosClient och CosmosAsyncClient tillgängliga i kontexten och du kan koppla dem automatiskt, som du ser i följande exempel:

class Demo {
@Autowired
private CosmosClient cosmosClient;

    @Override
    public void run() {
        User item = User.randomUser();
        CosmosContainer container = cosmosClient.getDatabase(databaseName).getContainer(containerName);
        container.createItem(item);
    }
}

Exempel

Se lagringsplatsen azure-spring-boot-samples på GitHub.