Remarque
L’accès à cette page requiert une autorisation. Vous pouvez essayer de vous connecter ou de modifier des répertoires.
L’accès à cette page requiert une autorisation. Vous pouvez essayer de modifier des répertoires.
Azure Spring Data for Azure Cosmos DB fournit le support de Spring Data pour Azure Cosmos DB pour NoSQL. Azure Cosmos DB est un service de base de données distribué à l’échelle mondiale que les développeurs peuvent utiliser pour travailler avec des données à l’aide de diverses API standard, telles que SQL, MongoDB, Cassandra, Graph et Table.
Ce guide explique les concepts de Azure Kit de développement logiciel (SDK) Spring Data Azure Cosmos DB, les fonctionnalités prises en charge, la résolution des problèmes et les problèmes connus. Pour plus d’informations sur ces concepts et exemples de code, consultez spring Data for Azure Cosmos DB SDK readme.
Politique de support des versions
Prise en charge des versions de Spring Boot
Ce projet prend en charge plusieurs versions de Spring Boot. Pour plus d'informations, consultez la politique de support Spring Boot . Les utilisateurs Maven peuvent hériter du spring-boot-starter-parent projet pour obtenir une section de gestion des dépendances qui permet à Spring de gérer les versions des dépendances. Pour plus d'informations, consultez Spring Boot Version Support.
Support de version de Spring Data
Ce projet prend en charge différentes spring-data-commons versions. Pour plus d'informations, reportez-vous à la section Prise en charge des versions de Spring Data.
Quelle version d’Azure Spring Data Azure Cosmos DB utiliser
La bibliothèque Azure Spring Data Azure Cosmos DB prend en charge plusieurs versions de Spring Boot et Spring Cloud. Pour plus d’informations sur la version de Azure Spring Data Azure Cosmos DB à utiliser avec Spring Boot et Spring Cloud, consultez quelle version de Spring Data Azure Spring Data pour Azure Cosmos DB dois-je utiliser ?
Démarrer
Inclure le package
Si vous utilisez Maven, ajoutez la dépendance suivante.
<dependency>
<groupId>com.azure</groupId>
<artifactId>azure-spring-data-cosmos</artifactId>
<version>LATEST</version>
</dependency>
Conditions préalables
- kit de développement Java (JDK), version 8 ou ultérieure.
- Un compte Azure actif. Si vous n’en avez pas, vous pouvez vous inscrire à un compte gratuit . Vous pouvez également utiliser l’émulateur Azure Cosmos DB pour le développement et le test. Étant donné que l’émulateur utilise un certificat HTTPS auto-signé, vous devez importer son certificat dans le magasin de certificats approuvé Java, expliqué ici.
- (Facultatif) SLF4J est une façade de journalisation.
- (Facultatif) La liaison SLF4J est utilisée pour associer un framework de journalisation spécifique à SLF4J.
- (Facultatif) Maven
Vous n’avez besoin que de SLF4J si vous envisagez d’utiliser la journalisation. Téléchargez également une liaison SLF4J, qui lie l’API SLF4J avec l’implémentation de journalisation de votre choix. Pour plus d’informations, consultez le manuel de l’utilisateur SLF4J .
Configurer et personnaliser la classe de configuration
Pour configurer la classe de configuration, étendez AbstractCosmosConfiguration. Pour plus d'informations, reportez-vous à la section Classe de configuration.
Vous pouvez personnaliser le CosmosAsyncClient sous-jacent utilisé par le SDK Azure Spring Data Azure Cosmos DB en fournissant DirectConnectionConfig, GatewayConnectionConfig ou les deux, puis en les transmettant à CosmosClientBuilder. Pour obtenir un exemple complet, consultez la section de configuration de personnalisation.
Configuration d’entité
Vous pouvez définir une entité simple en tant qu’élément dans Azure Cosmos DB. Définissez des entités en ajoutant l’annotation @Container et en spécifiant les propriétés associées au conteneur. Pour plus d’informations, consultez Définir une entité.
L’annotation de conteneur permet de spécifier le nom du conteneur, les unités de requête (RU), la durée de vie, la création de conteneurs avec un débit à mise à l’échelle automatique, la prise en charge des clés de partition imbriquées et d’autres propriétés du conteneur.
Configuration du référentiel
Azure Spring Data Azure Cosmos DB prend en charge les ReactiveCrudRepository (API asynchrones) et les CrudRepository (API de synchronisation), qui fournissent les fonctionnalités CRUD de base suivantes :
- sauvegarder
- findAll
- findOne par identifiant
- deleteAll
- supprimer par ID
- supprimer une entité
Vous pouvez étendre CosmosRepository (pour la prise en charge de l’API de synchronisation) ou ReactiveCosmosRepository (pour la prise en charge de l’API asynchrone) pour configurer des référentiels Spring Data pour votre application. Pour plus d’informations, consultez Créer des référentiels.
Azure Spring Data Azure Cosmos DB prend en charge la possibilité de spécifier des requêtes annotées dans les référentiels à l’aide de @Query. Pour plus d’informations, consultez QueryAnnotation : utilisation de requêtes annotées dans des référentiels.
Annotations de données Spring
Annotation Spring Data @Id
Vous pouvez associer un champ d’une classe de domaine à id de plusieurs façons. Pour plus d'informations, consultez la section relative au code d'annotation de l'ID des données de printemps.
Génération automatique d’ID
Azure Spring Data Azure Cosmos DB prend en charge la génération automatique d’ID à l’aide de l’annotation@GeneratedValue. Pour plus d’informations, consultez la section sur la génération automatique d’ID .
Expression SpEL et nom de conteneur personnalisé
Par défaut, le nom du conteneur est le nom de classe de la classe de domaine utilisateur. Pour personnaliser le nom du conteneur, ajoutez l’annotation @Container(containerName="myCustomContainerName") à la classe de domaine. Pour plus d’informations, consultez la section d'expressions SpEL et de noms de conteneurs personnalisés et.
Politique d'indexation personnalisée
Par défaut, le service Azure définit le IndexingPolicy. Pour personnaliser le IndexingPolicy, ajoutez l’annotation @CosmosIndexingPolicy à la classe de domaine. Pour plus d’informations, consultez la section de stratégie d’indexation .
Stratégie de clé unique
Azure Spring Data Azure Cosmos DB prend en charge la définition de UniqueKeyPolicy sur le conteneur en ajoutant l’annotation @CosmosUniqueKeyPolicy à la classe de domaine. Pour plus d'informations, reportez-vous à la section relative à la stratégie de clé unique.
Partition Azure Cosmos DB
Azure-spring-data-cosmos prend en charge les partitions Azure Cosmos DB.
Pour spécifier un champ de la classe de domaine comme champ de clé de partition, annotez-le avec @PartitionKey.
Lorsque vous effectuez une opération CRUD, spécifiez votre valeur de partition.
Pour plus d'informations, consultez la section Test ici.
Verrouillage optimiste
Azure-spring-data-cosmos prend en charge le verrouillage optimiste pour des conteneurs spécifiques. Cette prise en charge signifie que les opérations d’upsert et de suppression élément par élément échouent en générant une exception si un autre processus modifie l’élément. Pour plus d'informations, reportez-vous à la section relative au verrouillage optimiste.
Requête personnalisée Spring Data, pagination et tri
Azure-spring-data-cosmos prend en charge les requêtes personnalisées Spring Data, telles qu’une opération de recherche comme findByAFieldAndBField. Il prend également en charge Spring Data Pageable, Slice et Sort. Pour plus d’informations, consultez la section sur les requêtes, la pagination et le tri.
Utilisation du Kit de développement logiciel (SDK) Java Azure Cosmos DB via Spring Data Cosmos
Azure-spring-data-cosmos prend en charge l’utilisation du Azure Cosmos DB Java SDK. Vous pouvez obtenir un bean CosmosAsyncClient ou CosmosClient via ApplicationContext et exécuter toute opération prise en charge par le SDK Java Azure Cosmos DB. Pour plus d'informations, consultez la section à l'aide de Spring Data Cosmos via le client Azure Cosmos.
Spring Data REST
Azure-spring-data-cosmos prend en charge Spring Data REST. Pour plus d’informations, consultez la section de l'API REST Azure Spring Data Azure Cosmos DB.
Audit
Azure-spring-data-cosmos prend en charge les champs d’audit dans les entités de base de données à l’aide d’annotations Spring Data standard. Pour plus d’informations, consultez la section d’audit Spring Data Azure Cosmos DB.
Configuration de plusieurs bases de données
Azure-spring-data-cosmos prend en charge la configuration de plusieurs bases de données, notamment plusieurs comptes de base de données et un seul compte avec plusieurs bases de données. Pour obtenir un extrait de code complet, consultez la section configuration de plusieurs bases de données.
Dépannage
Généralités
Si vous rencontrez un bogue, créez un problème ici.
Pour suggérer une nouvelle fonctionnalité ou des modifications, créez un problème de la même façon que vous le feriez pour un bogue.
Activer la journalisation du client
Azure-spring-data-cosmos utilise SLF4j comme façade de journalisation prenant en charge l'intégration avec des frameworks populaires tels que log4j et logback. Pour plus d'informations, reportez-vous à la section Activer le journal du client.
Exemples
Pour obtenir un exemple de projet complet, consultez l’exemple de projet .
Comptes à plusieurs bases de données
Pour obtenir un exemple de projet complet, consultez l’exemple de projet de base de données multiple.
Compte unique avec plusieurs bases de données
Pour obtenir un exemple de projet complet, consultez le compte unique avec plusieurs exemples de projet de bases de données.
Étapes suivantes
- En savoir plus sur Azure Spring Data et Azure Cosmos DB.
- En savoir plus sur Azure Cosmos DB Service.
- Consultez les exemples Azure Spring Data Azure Cosmos DB.
- Consultez l’exemple Spring MVC avec Azure Cosmos DB.
Contribution
Ce projet accueille les contributions et suggestions. La plupart des contributions vous obligent à accepter un contrat de licence contributeur (CLA) déclarant que vous avez le droit de, et que, de fait, vous nous accordez les droits d’utiliser votre contribution.
Lorsque vous envoyez une demande de tirage (pull request), un bot CLA détermine automatiquement si vous devez fournir un contrat CLA et agrémenter la demande de tirage de façon appropriée (par exemple, avec une étiquette ou un commentaire). Suivez simplement les instructions fournies par le bot. Vous ne devez effectuer cette opération qu’une seule fois sur tous les dépôts utilisant notre contrat CLA.
Ce projet a adopté le code de conduite Microsoft Open Source. Pour plus d’informations, consultez la faq code de conduite ou contactez opencode@microsoft.com avec d’autres questions ou commentaires.