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

S’APPLIQUE À : NoSQL

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.

Avertissement

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 des problèmes de performances et de l’instabilité dans le SDK Azure Spring Data Cosmos DB v2, nous vous recommandons vivement d’utiliser Azure Spring Data Cosmos DB v3 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 !

Ressources

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)

Principaux bogues résolus

  • 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.

Principaux bogues résolus

  • 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)

Principaux bogues résolus

  • 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.

Principaux bogues résolus

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.

Principaux bogues résolus

  • 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.

Principaux bogues résolus

  • 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)

Principaux bogues résolus

  • 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)

Principaux bogues résolus

  • 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.

Principaux bogues résolus

  • 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.

Principaux bogues résolus

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

Questions fréquentes (FAQ)

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

Microsoft vous avertit 12 mois à l’avance de la fin de la prise en charge d’un kit SDK mis hors service afin de favoriser une transition en douceur vers un kit SDK pris en charge. Nous vous informons via différents canaux de communication : le portail Azure, les mises à jour Azure et une communication directe avec les administrateurs de service affectés.

Pendant cette période de 12 mois, puis-je créer des applications à l’aide d’un kit SDK Azure Cosmos DB destiné à être mis hors service ?

Oui, au cours de la période de préavis de 12 mois, vous pouvez créer, déployer et modifier des applications à l’aide du kit SDK Azure Cosmos DB destiné à être mis hors service. Nous vous conseillons de migrer vers une version prise en charge plus récente du kit SDK Azure Cosmos DB pendant cette période de 12 mois, le cas échéant.

Après la date de mise hors service, qu’advient-il des applications qui utilisent le kit 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, n’ajoute plus de nouvelles fonctionnalités et ne fournit plus de support aux versions mises hors service du kit SDK. Si vous préférez ne pas effectuer la mise à niveau, les requêtes envoyées depuis les versions mises hors service 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 du kit SDK encore en service, vos requêtes vers Azure Cosmos DB continuent de fonctionner, mais vous n’avez accès à aucune des 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 procéder à une mise à jour avant la date de mise hors service, les requêtes envoyées à partir des versions mises hors service du kit SDK continuent d’être traitées par Azure Cosmos DB. Vos applications continuent donc de fonctionner. Toutefois, Azure Cosmos DB n’apporte plus de correctifs de bogues, n’ajoute plus de nouvelles fonctionnalités et ne fournit plus de support aux versions mises hors service du kit SDK.

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.