Configurer automatiquement les clients du Kit de développement logiciel (SDK) Azure

Spring Boot simplifie l’expérience de développement Azure Spring Cloud. Les démarrages Azure Spring Cloud sont un ensemble de descripteurs de dépendance pratiques à inclure dans votre application. Les démarrages gèrent l’instanciation et la logique de configuration de l’objet. Vous n’avez donc pas à le faire. Chaque démarrage dépend de spring-cloud-azure-starter pour fournir des bits de configuration critiques, tels que l’environnement cloud Azure et les informations d’authentification. Vous pouvez les configurer en tant que propriétés dans, par exemple, un fichier YAML, comme illustré dans l’exemple suivant :

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

Remarque

La propriété cloud est facultative.

Les valeurs autorisées pour tenant-id sont : common, organizations, consumersou l’ID de locataire. Pour plus d’informations sur ces valeurs, consultez la section Utilisation du mauvais point de terminaison (comptes personnels et d’entreprise) de Erreur AADSTS50020 - Le compte utilisateur du fournisseur d’identité n’existe pas dans le locataire. Pour plus d’informations sur la conversion de votre application monolocataire, consultez Convertir une application monolocataire en multilocataire sur Microsoft Entra ID.

Ces propriétés sont facultatives. Si vous ne les spécifiez pas, Spring Boot tente de les trouver automatiquement pour vous. Pour plus d’informations sur la façon dont Spring Boot trouve ces propriétés, reportez-vous à la documentation.

Configuration des dépendances

Vous pouvez utiliser les starters Spring Cloud Azure de deux manières. La première façon consiste à utiliser des kits sdk Azure avec la dépendance spring-cloud-azure-starter, comme illustré dans l’exemple suivant :

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

La deuxième façon est d’éviter d’ajouter des dépendances Kit de développement logiciel (SDK) Azure et d’inclure plutôt Spring Cloud Azure Starter pour chaque service directement. Par exemple, avec Azure Cosmos DB, vous ajoutez la dépendance suivante :

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

Pourboire

Pour obtenir la liste des démarrages pris en charge, consultez la section Dépendances starter du guide du développeur Spring Cloud Azure.

Paramétrage

Remarque

Si vous utilisez un principal de sécurité pour authentifier et autoriser avec Microsoft Entra ID pour accéder à une ressource Azure, vérifiez que le principal de sécurité dispose d’une autorisation suffisante pour accéder à la ressource Azure. Pour plus d’informations, consultez Autoriser l’accès avec microsoft Entra ID.

Les propriétés de configuration de chaque service Azure sont sous le préfixe spring.cloud.azure.<azure-service>.

Pourboire

Pour obtenir la liste de toutes les propriétés de configuration d’Azure Spring Cloud, consultez propriétés de configuration d’Azure Spring Cloud.

Utilisation de base

Ajoutez les propriétés suivantes à votre fichier application.yaml pour configurer automatiquement le client Azure Cosmos DB.

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

Ensuite, CosmosClient et CosmosAsyncClient sont tous deux disponibles dans le contexte et vous pouvez les injecter automatiquement, comme illustré dans l’exemple suivant :

class Demo {
@Autowired
private CosmosClient cosmosClient;

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

Échantillons

Consultez le azure-spring-boot-samples référentiel sur GitHub.