Spring Data Azure Cosmos DB v2 pour API pour NoSQL (hérité) : notes de publication et ressources

La version 2 de Spring Data Azure Cosmos DB pour NoSQL permet aux développeurs d’utiliser Azure Cosmos DB dans des applications Spring. Spring Data Azure Cosmos DB expose l’interface de données Spring pour manipuler les bases de données et les collections, travailler avec des documents et émettre des requêtes. Les API synchrones et asynchrones (réactives) sont prises en charge dans le même artefact Maven.

Warning

Cette version du kit de développement logiciel (SDK) Spring Data Cosmos DB est basée sur une version mise hors service du SDK Azure Cosmos DB Java. La mise hors service de ce SDK Spring Data Cosmos DB sera bientôt annoncée ! Il ne s’agit pas de la dernière version du SDK Azure Spring Data Cosmos DB pour Azure Cosmos DB. Cette version est obsolète. En raison de problèmes de performances et d’instabilité dans le SDK Azure Spring Data Azure Cosmos DB V2, nous vous recommandons vivement d’utiliser Azure Spring Data Azure Cosmos DB v5 pour votre projet. Pour effectuer la mise à niveau, suivez les instructions du guide Migrer vers le kit SDK Java v4 Azure Cosmos DB pour comprendre la différence du kit Java v4 sous-jacent.

Spring Framework est un modèle de programmation et de configuration qui rationalise le développement d’applications Java. Spring rationalise la « plomberie » des applications en injectant des dépendances. De nombreux développeurs apprécient Spring, car il rend la création et le test d’applications plus simples. Spring Boot étend cette prise en charge de la plomberie en vue du développement d’applications web et de microservices. Spring Data est un modèle de programmation permettant l’accès à des magasins de données tels qu’Azure Cosmos DB à partir du contexte d’une application Spring ou Spring Boot.

Vous pouvez utiliser Spring Data Azure Cosmos DB dans vos applications hébergées dans Azure Spring Apps.

Important

Ces notes de publication sont destinées à la version 2 de Spring Data Azure Cosmos DB. Les notes de publication de la version 3 sont accessibles ici.

Spring Data Azure Cosmos DB prend uniquement en charge l’API pour NoSQL.

Pour plus d’informations concernant Spring Data sur d’autres API d’Azure Cosmos DB, consultez les articles suivants :

Vous souhaitez vous familiariser rapidement ?

  1. Installez le runtime Java minimal pris en charge, JDK 8, pour pouvoir utiliser le Kit de développement logiciel (SDK).
  2. Créez une application Spring Data Azure Cosmos DB à l’aide du starter. C’est facile.
  3. Utilisez le guide du développeur Spring Data Azure Cosmos DB qui vous guide pas à pas à travers les requêtes Azure Cosmos DB de base.

Vous pouvez créer rapidement des applications Spring Boot Starter grâce à Spring Initializr !

Resources

Ressource Lien
Téléchargement du Kit de développement logiciel (SDK) Maven
Documentation de l’API Documentation de référence Spring Data Azure Cosmos DB
Contribution au Kit de développement logiciel (SDK) Référentiel Spring Data Azure Cosmos DB sur GitHub
Spring Boot Starter Bibliothèque de client Spring Boot Starter Azure Cosmos DB pour Java
Guide du développeur Guide du développeur Spring Data Azure Cosmos DB
Utilisation de Starter Comment utiliser Spring Boot Starter avec Azure Cosmos DB for NoSQL
Référentiel GitHub pour Azure Cosmos DB Spring Boot Starter
Exemple avec Azure App Service Comment utiliser Spring et Azure Cosmos DB avec App Service sur Linux

Historique des mises en production

2.3.0 (21 mai 2020)

Nouvelles fonctionnalités

  • Met à jour Spring Boot vers la version 2.3.0.

2.2.5 (19 mai 2020)

Nouvelles fonctionnalités

  • Met à jour Azure Cosmos DB vers la version 3.7.3.

Correctifs des bogues clés

  • Contient des correctifs de fuites de mémoire et des mises à niveau de version Netty à partir du Kit de développement logiciel (SDK) Azure Cosmos DB v3.7.3.

2.2.4 (6 avril 2020)

Correctifs des bogues clés

  • Corrige l’indicateur allowTelemetry pour le prendre en compte à partir de CosmosDbConfig.
  • Corrige la propriété TTL sur le conteneur.

2.2.3 (25 février 2020)

Nouvelles fonctionnalités

  • Ajoute une nouvelle findAll par API de clé de partition.
  • Met à jour Azure Cosmos DB vers la version 3.7.0.

Correctifs des bogues clés

  • Correctifs collectionName>containerName.
  • Correctifs entityClass et domainClass>domainType.
  • Corrige « Retour de la collection d’entités enregistrée par référentiel au lieu d’entités d’entrée ».

2.1.10 (25 février 2020)

Correctifs des bogues clés

  • Les backports corrigent « Retour de la collection d’entités enregistrée par référentiel au lieu d’entités d’entrée ».

2.2.2 (15 janvier 2020)

Nouvelles fonctionnalités

  • Met à jour Azure Cosmos DB vers la version 3.6.0.

Correctifs des bogues clés

2.2.1 (31 décembre 2019)

Nouvelles fonctionnalités

  • Met à jour le Kit de développement logiciel (SDK) Azure Cosmos DB vers la version 3.5.0.
  • Ajoute un champ d’annotation pour activer ou désactiver la création automatique de la collection.
  • Améliore la gestion des exceptions. Expose CosmosClientException via CosmosDBAccessException.
  • Expose requestCharge et activityId via ResponseDiagnostics.

Correctifs des bogues clés

  • La mise à jour du Kit de développement logiciel (SDK) 3.5.0 corrige « Exception lorsque l’en-tête de réponse HTTP Azure Cosmos DB dépasse 8192 octets » et « Échec de ConsistencyPolicy.defaultConsistencyLevel() sur l’obsolescence limitée et le préfixe cohérent ».
  • Corrige le comportement de la méthode findById. Auparavant, cette méthode retournait une réponse vide si l’entité n’étais pas trouvée au lieu de lever une exception.
  • Corrige un bogue dans lequel le tri n’était pas appliqué à la page suivante quand CosmosPageRequest était utilisé.

2.1.9 (26 décembre 2019)

Nouvelles fonctionnalités

  • Ajoute un champ d’annotation pour activer ou désactiver la création automatique de la collection.

Correctifs des bogues clés

  • Corrige le comportement de la méthode findById. Auparavant, cette méthode retournait une réponse vide si l’entité n’étais pas trouvée au lieu de lever une exception.

2.2.0 (21 octobre 2019)

Nouvelles fonctionnalités

  • Support complet du référentiel Azure Cosmos DB réactif.
  • Prise en charge de la chaîne de diagnostics des requêtes et des métriques de requêtes Azure Cosmos DB.
  • Met à jour le Kit de développement logiciel (SDK) Azure Cosmos DB vers la version 3.3.1.
  • Met à niveau Spring Framework vers la version 5.2.0.RELEASE.
  • Met à niveau Spring Data Commons vers la version 2.2.0.RELEASE.
  • Ajoute les API findByIdAndPartitionKey et deleteByIdAndPartitionKey.
  • Supprime la dépendance d’azure-documentdb.
  • Renomme DocumentDB en Azure Cosmos DB.

Correctifs des bogues clés

  • Corrige « Le tri lève une exception quand pageSize est inférieur au nombre total d’éléments dans le référentiel ».

2.1.8 (18 octobre 2019)

Nouvelles fonctionnalités

  • Déprécie les API DocumentDB.
  • Ajoute les API findByIdAndPartitionKey et deleteByIdAndPartitionKey.
  • Ajoute un verrouillage optimiste basé sur _etag.
  • Active l’expression SpEL pour le nom de la collection de documents.
  • Ajoute des améliorations à ObjectMapper.

2.1.7 (18 octobre 2019)

Nouvelles fonctionnalités

  • Ajoute la dépendance au Kit de développement logiciel (SDK) Azure Cosmos DB version 3.
  • Ajoute un référentiel Azure Cosmos DB réactif.
  • Met à jour l’implémentation de DocumentDbTemplate pour utiliser le Kit de développement logiciel (SDK) Azure Cosmos DB version 3.
  • Ajoute d’autres modifications de configuration pour la prise en charge du référentiel Azure Cosmos DB réactif.

2.1.2 (19 mars 2019)

Correctifs des bogues clés

  • Supprime la dépendance à applicationInsights pour :
    • Risque potentiel des dépendances polluantes.
    • Incompatibilité Java 11.
    • Éviter un impact potentiel sur les performances du processeur et/ou de la mémoire.

2.0.7 (20 mars 2019)

Correctifs des bogues clés

  • Le backport supprime la dépendance à applicationInsights pour :
    • Risque potentiel des dépendances polluantes.
    • Incompatibilité Java 11.
    • Éviter un impact potentiel sur les performances du processeur et/ou de la mémoire.

2.1.1 (7 mars 2019)

Nouvelles fonctionnalités

  • Met à jour la version principale vers 2.1.1.

2.0.6 (7 mars 2019)

Nouvelles fonctionnalités

  • Ignorer toutes les exceptions de la télémétrie.

2.1.0 (17 décembre 2018)

Nouvelles fonctionnalités

  • Met à jour la version vers 2.1.0 pour résoudre le problème.

2.0.5 (13 septembre 2018)

Nouvelles fonctionnalités

  • Ajoute les mots clés exists et startsWith.
  • Met à jour le fichier Lisez-moi.

Correctifs des bogues clés

  • Corrige « Impossible d’appeler autohref directement pour l’entité ».
  • Corrige « findAll échoue si la collection n’est pas créée ».

2.0.4 (prépublication) [23 août 2018]

Nouvelles fonctionnalités

  • Renomme le package documentdb en cosmosdb.
  • Ajoute une nouvelle fonctionnalité de requête avec la méthode des mots clés. 16 mots clés de l’API pour NoSQL sont désormais pris en charge.
  • Ajoute une nouvelle fonctionnalité de requête avec la pagination et le tri.
  • Simplifie la configuration de spring-data-cosmosdb.
  • Ajoute les API deleteCollection et deleteAll.

Correctifs des bogues clés

  • Correction des bogues et atténuation des défauts.

Questions fréquentes (FAQ)

Comment serai-je informé du retrait du kit SDK ?

Microsoft fournira un préavis de 12 mois avant la fin de la prise en charge du Kit de développement logiciel (SDK) mis hors service pour faciliter une transition fluide vers un KIT de développement logiciel (SDK) pris en charge. Nous vous informerons par le biais de différents canaux de communication : le portail Azure, les mises à jour Azure et la communication directe aux administrateurs de service affectés.

Can I author applications by using a to-be-retire Azure Cosmos DB SDK pendant la période de 12 mois ?

Oui, vous pourrez créer, déployer et modifier des applications à l'aide du kit de développement logiciel (SDK) to-be-supprimé Azure Cosmos DB au cours de la période d'avis de 12 mois. Nous vous recommandons de migrer vers une version plus récente prise en charge du Kit de développement logiciel (SDK) Azure Cosmos DB pendant la période d’avis de 12 mois, selon les besoins.

Après la date de mise hors service, que se passe-t-il pour les applications qui utilisent le SDK Azure Cosmos DB non pris en charge ?

Après la date de mise hors service, Azure Cosmos DB n’apporte plus de correctifs de bogues, ajoute de nouvelles fonctionnalités ou fournit une prise en charge aux versions de SDK supprimées. Si vous préférez ne pas effectuer de mise à niveau, les demandes envoyées à partir des versions supprimées du KIT DE développement logiciel (SDK) continueront d’être traitées par le service Azure Cosmos DB.

Quelles versions du kit SDK disposent des dernières fonctionnalités et mises à jour ?

Les nouvelles fonctionnalités et mises à jour ne sont ajoutées qu’à la dernière version mineure de la dernière version majeure prise en charge du kit SDK. Nous vous recommandons de toujours utiliser la dernière version pour tirer parti des nouvelles fonctionnalités, des améliorations des performances et des correctifs de bogues. Si vous utilisez une ancienne version non retirée du Kit de développement logiciel (SDK), vos demandes à Azure Cosmos DB fonctionneront toujours, mais vous n'aurez pas accès à de nouvelles fonctionnalités.

Que faire si je ne parviens pas à mettre à jour mon application avant la date limite ?

Nous vous recommandons de mettre à niveau vers la dernière version du kit de développement logiciel dès que possible. Une fois qu’un kit SDK est marqué pour la mise hors service, vous avez 12 mois pour mettre à jour votre application. Si vous n'êtes pas en mesure de mettre à jour par la date de mise hors service, les demandes envoyées à partir des versions supprimées du Kit de développement logiciel (SDK) continueront d'être traitées par Azure Cosmos DB, de sorte que vos applications en cours d'exécution continuent de fonctionner. Mais Azure Cosmos DB n’apporteront plus de correctifs de bogues, ajouteront de nouvelles fonctionnalités ou fourniront une prise en charge aux versions de SDK supprimées.

Si vous disposez d’un plan de support et avez besoin d’assistance technique, veuillez nous contacter en remplissant un ticket de support.

Comment puis-je demander l’ajout de fonctionnalités à un SDK ou un connecteur ?

Les nouvelles fonctionnalités ne sont pas toujours ajoutées à chaque SDK ou connecteur immédiatement. S’il existe une fonctionnalité non prise en charge que vous souhaitez ajouter, ajoutez des commentaires à notre forum communautaire.

Étapes suivantes

Apprenez-en davantage sur Azure Cosmos DB.

Apprenez-en davantage sur Spring Framework.

Apprenez-en davantage sur Spring Boot.

Apprenez-en davantage sur Spring Data.