Partager via


Utiliser l’API Spring Data pour Apache Cassandra avec Azure Cosmos DB for Apache Cassandra

S’APPLIQUE À : Cassandre

Cet article illustre la création d’un exemple d’application qui utilise Spring Data pour stocker et récupérer des informations à l’aide d’Azure Cosmos DB for Apache Cassandra.

Prérequis

Pour réaliser les étapes décrites dans cet article, vous devez disposer des éléments suivants :

Remarque

Les exemples mentionnés ci-dessous implémentent des extensions personnalisées pour une meilleure expérience lors de l’utilisation d’Azure Cosmos DB for Apache Cassandra. Ils incluent des stratégies personnalisées de nouvelle tentative et d’équilibrage de charge, ainsi que l’implémentation de paramètres de connexion recommandés. Pour obtenir des informations complètes sur l’utilisation des stratégies personnalisées, consultez les exemples Java pour la version 3 et la version 4.

Créer un compte Azure Cosmos DB for Apache Cassandra

  1. Dans le menu du portail Azure ou dans la page d’accueil, sélectionnez Créer une ressource.

  2. Dans la page Nouveau, recherchez et sélectionnez Azure Cosmos DB.

  3. Dans la page Azure Cosmos DB, sélectionnez Créer.

  4. Dans la page API , sous la section Cassandra , sélectionnez Créer.

    L’API détermine le type de compte à créer. Azure Cosmos DB propose cinq API : NoSQL pour les bases de données de documents, Gremlin pour les bases de données de graphes, MongoDB pour les bases de données de documents, Azure Table et Cassandra. Vous devez créer un compte distinct pour chaque API.

    Sélectionnez Cassandra , car dans ce tutoriel, vous créez une table qui fonctionne avec l’API pour Cassandra.

    Pour en savoir plus sur l’API pour Cassandra, consultez Qu’est-ce qu’Azure Cosmos DB pour Apache Cassandra ?.

  5. Dans la page Créer un compte Azure Cosmos DB , entrez les paramètres de base du nouveau compte Azure Cosmos DB.

    Paramètre Valeur Descriptif
    Abonnement Votre abonnement. Sélectionnez l’abonnement Azure que vous souhaitez utiliser pour ce compte Azure Cosmos DB.
    Groupe de ressources Créez-en un.

    Entrez ensuite le même nom que le nom du compte.
    Sélectionnez Créer nouveau. Entrez ensuite le nom du nouveau groupe de ressources pour votre compte. Pour rester simple, utilisez le nom de votre compte Azure Cosmos DB.
    Nom du compte Entrez un nom unique. Entrez un nom unique pour identifier votre compte Azure Cosmos DB. URI de votre compte, cassandra.cosmos.azure.com, ajouté après votre nom de compte unique.

    Le nom du compte ne peut utiliser que des lettres minuscules, des chiffres et des traits d’union (-) et doit comporter entre 3 et 31 caractères.
    Lieu Région la plus proche de vos utilisateurs. Sélectionnez la zone géographique dans laquelle héberger votre compte Azure Cosmos DB. Utilisez l’emplacement le plus proche de vos utilisateurs pour leur donner l’accès le plus rapide possible aux données.
    Mode de capacité Débit approvisionné ou sans serveur. Sélectionnez Débit provisionné pour créer un compte en mode débit provisionné . Sélectionnez Serverless pour créer un compte en mode Serverless .
    Appliquer la remise de niveau gratuit Azure Cosmos DB Appliquer ou ne pas appliquer. Avec le niveau gratuit Azure Cosmos DB, vous obtenez gratuitement les 1 000 premiers RU/s et 25 Go de stockage gratuitement dans un compte. En savoir plus sur le niveau gratuit.
    Limiter le débit total du compte Sélectionnez cette option pour limiter le débit du compte. Cette option est utile si vous souhaitez limiter le débit total du compte à une valeur spécifique.

    Remarque

    Vous pouvez avoir jusqu’à un seul compte Azure Cosmos DB gratuit par abonnement Azure. Vous devez vous inscrire lorsque vous créez le compte. Si vous ne voyez pas l'option de bénéficier de la réduction de la tranche gratuite, c'est qu'un autre compte de l'abonnement a été configuré avec la tranche gratuite.

    Page de nouveau compte pour Azure Cosmos DB for Apache Cassandra

  6. Sous l’onglet Distribution globale , configurez les détails suivants. Utilisez les valeurs par défaut pour ce didacticiel.

    Paramètre Valeur Descriptif
    Redondance géographique Disable Activez ou désactivez la diffusion mondiale sur votre compte en appairant votre région avec une région correspondante. Vous pourrez ajouter d’autres régions à votre compte ultérieurement.
    Écritures multirégions Disable Avec la fonctionnalité d’écritures multirégions, vous pouvez tirer parti du débit provisionné pour vos bases de données et conteneurs dans le monde entier.
    Zones de disponibilité Disable Les zones de disponibilité sont des emplacements isolés au sein d’une région Azure. Chaque zone de disponibilité est composée d’un ou de plusieurs centres de données équipés d’une alimentation, d’un système de refroidissement et d’un réseau indépendants.

    Les options suivantes ne sont pas disponibles si vous sélectionnez Serverless comme mode capacité :

    • Appliquer la remise de niveau gratuit
    • Géo-redondance
    • Écritures multirégions
  7. Si vous le souhaitez, vous pouvez configurer d’autres détails sous les onglets suivants :

  8. Sélectionnez Revoir + créer.

  9. Passez en revue les paramètres du compte, puis sélectionnez Créer. La création du compte prend quelques minutes. Attendez que la page du portail affiche Votre déploiement est terminé.

    Capture d’écran montrant le volet Notifications du portail Azure.

  10. Sélectionnez Accéder à la ressource pour accéder à la page du compte Azure Cosmos DB.

Configurer l’exemple d’application

La procédure suivante permet de configurer l’application de test.

  1. Ouvrez un interpréteur de commandes et clonez l’un des exemples suivants :

    Pour Java, pilote version 3, et la version Spring correspondante :

    git clone https://github.com/Azure-Samples/spring-data-cassandra-on-azure-extension-v3.git
    

    Pour Java, pilote version 4, et la version Spring correspondante :

    git clone https://github.com/Azure-Samples/spring-data-cassandra-on-azure-extension-v4.git
    

    Remarque

    Bien que l’utilisation décrite ci-dessous soit identique pour les exemples Java version 3 et version 4 ci-dessus, la façon selon laquelle ils ont été implémentés pour inclure des stratégies personnalisées de nouvelle tentative et d’équilibrage de charge est différente. Nous vous recommandons de consulter le code pour comprendre comment implémenter des stratégies personnalisées si vous apportez des modifications à une application Java Spring existante.

  2. Recherchez le fichier application.properties dans le répertoire resources de l’exemple de projet, ou créez le fichier s’il n’existe pas.

  3. Ouvrez le fichier application.properties dans un éditeur de texte, ajoutez ou configurez les lignes suivantes dans le fichier et remplacez les exemples de valeurs par les valeurs appropriées mentionnées précédemment :

    spring.data.cassandra.contact-points=<Account Name>.cassandra.cosmos.azure.com
    spring.data.cassandra.port=10350
    spring.data.cassandra.username=<Account Name>
    spring.data.cassandra.password=********
    

    Où :

    Paramètre Descriptif
    spring.data.cassandra.contact-points Spécifie le point de contact mentionné plus haut dans cet article.
    spring.data.cassandra.port Spécifie le port mentionné plus haut dans cet article.
    spring.data.cassandra.username Spécifie le nom d’utilisateur mentionné plus haut dans cet article.
    spring.data.cassandra.password Spécifie le mot de passe principal mentionné plus haut dans cet article.
  4. Enregistrez et fermez le fichier application.properties.

Packager et tester l’exemple d’application

Accédez au répertoire contenant le fichier .pom pour générer et tester l’application.

  1. Compilez l’exemple d’application avec Maven :

    mvn clean package
    
  2. Démarrez l’exemple d’application :

    java -jar target/spring-data-cassandra-on-azure-0.1.0-SNAPSHOT.jar
    
  3. Créez des enregistrements à l’aide de curl à partir d’une invite de commandes comme dans les exemples suivants :

    curl -s -d "{\"name\":\"dog\",\"species\":\"canine\"}" -H "Content-Type: application/json" -X POST http://localhost:8080/pets
    
    curl -s -d "{\"name\":\"cat\",\"species\":\"feline\"}" -H "Content-Type: application/json" -X POST http://localhost:8080/pets
    

    Votre application doit renvoyer des valeurs comme suit :

    Added Pet{id=60fa8cb0-0423-11e9-9a70-39311962166b, name='dog', species='canine'}.
    
    Added Pet{id=72c1c9e0-0423-11e9-9a70-39311962166b, name='cat', species='feline'}.
    
  4. Récupérez tous les enregistrements existants à l’aide de curl à partir d’une invite de commandes comme dans les exemples suivants :

    curl -s http://localhost:8080/pets
    

    Votre application doit renvoyer des valeurs comme suit :

    [{"id":"60fa8cb0-0423-11e9-9a70-39311962166b","name":"dog","species":"canine"},{"id":"72c1c9e0-0423-11e9-9a70-39311962166b","name":"cat","species":"feline"}]
    

Nettoyer les ressources

Quand vous en avez terminé avec votre application et votre compte Azure Cosmos DB, vous pouvez supprimer les ressources Azure que vous avez créées afin d’éviter des frais supplémentaires. Pour supprimer les ressources :

  1. Depuis la barre de recherche du portail Azure, recherchez et sélectionnez Groupes de ressources.

  2. Dans la liste, sélectionnez le groupe de ressources créé pour ce guide de démarrage rapide.

    Sélectionner le groupe de ressources à supprimer

  3. Dans la page Vue d’ensemble du groupe de ressources, sélectionnez Supprimer un groupe de ressources.

    Supprimer le groupe de ressources

  4. Dans la fenêtre suivante, entrez le nom du groupe de ressources à supprimer, puis sélectionnez Supprimer.

Étapes suivantes

Pour en savoir plus sur Spring et Azure, poursuivez vers le centre de documentation Spring sur Azure.

Ressources supplémentaires

Pour plus d’informations sur l’utilisation d’Azure avec Java, renseignez-vous sur Azure pour les développeurs Java et l’utilisation d’Azure DevOps et Java.