Démarrage rapide : Générer une application Cassandra avec .NET Core et Azure Cosmos DB
S’APPLIQUE À : Cassandra
Ce guide de démarrage rapide montre comment utiliser .NET Core et l’API Azure Cosmos DB for Cassandra pour créer une application de profil en clonant un exemple de GitHub. Ce guide de démarrage rapide vous montre également comment utiliser le portail Azure web pour créer un compte Azure Cosmos DB.
Azure Cosmos DB est le service de base de données multi-modèle de Microsoft distribué à l’échelle mondiale. Vous pouvez rapidement créer et interroger des bases de données de documents, de tables, de paires clé/valeur et de graphes, lesquelles bénéficient toutes des fonctionnalités de distribution mondiale et de mise à l’échelle horizontale d’Azure Cosmos DB.
Prérequis
Si vous n’avez pas d’abonnement Azure, créez un compte gratuit Azure avant de commencer. Vous pouvez également essayer Azure Cosmos DB gratuitement sans abonnement Azure, libre de tout frais et engagement.
Par ailleurs, vous devez avoir :
- Dernière version de Visual Studio avec la charge de travail de développement Azure. Vous pouvez commencer avec l’IDE gratuit Visual Studio Community. Activez la charge de travail Développement Azure pendant la configuration de Visual Studio.
- Installez Git pour cloner l’exemple.
Création d’un compte de base de données
Dans le menu du portail Azure ou dans la page d’accueil, sélectionnez Créer une ressource.
Dans la page Nouveau, recherchez et sélectionnez Azure Cosmos DB.
Dans la page Azure Cosmos DB, sélectionnez Créer.
À la page API, sélectionnez Créer dans la section Cassandra.
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 guide de démarrage rapide, vous allez créer une table qui fonctionne avec l’API pour Cassandra.
Sur la page Créer un compte Azure Cosmos DB, entrez les paramètres de base du nouveau compte Azure Cosmos DB.
Paramètre valeur Description Abonnement Votre abonnement Sélectionnez l’abonnement Azure que vous souhaitez utiliser pour ce compte Azure Cosmos DB. Groupe de ressources Création
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 Entrer un nom unique Entrez un nom unique pour identifier votre compte Azure Cosmos DB. L’URI de votre compte sera cassandra.cosmos.azure.com apposé à votre nom de compte unique.
Le nom peut contenir uniquement des lettres minuscules, des chiffres et des traits d’union (-), et doit comporter entre 3 et 31 caractères.Emplacement La 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 serverless Sélectionnez Débit approvisionné pour créer un compte dans mode de débit approvisionné. 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 d’Azure Cosmos DB, vous recevez gratuitement 1 000 RU/s et 25 Go de stockage dans un compte. Découvrez-en plus sur le niveau gratuit. Limiter le débit total du compte Sélectionner pour limiter le débit du compte Cela est utile si vous souhaitez limiter le débit total du compte à une valeur spécifique. Notes
Vous pouvez avoir un seul compte Azure Cosmos DB de niveau gratuit par abonnement Azure et vous devez vous inscrire lors de la création du compte. Si vous ne voyez pas l’option permettant d’appliquer la remise de niveau gratuit, cela signifie qu’un autre compte dans l’abonnement a déjà été activé avec le niveau gratuit.
Sous l’onglet Distribution globale, configurez les informations suivantes. Dans le cadre de ce guide de démarrage rapide, vous pouvez conserver les valeurs par défaut :
Paramètre valeur Description Géoredondance Désactiver 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 Désactiver La fonctionnalité d’écritures multirégions vous permet de tirer parti du débit provisionné pour vos bases de données et conteneurs à travers le monde. Zones de disponibilité Désactiver Les zones de disponibilité sont des emplacements isolés dans 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. Notes
Les options suivantes ne sont pas disponibles si vous sélectionnez Serverless comme Mode de capacité :
- Appliquer la remise de niveau gratuit
- Géo-redondance
- Écritures multirégions
Si vous le souhaitez, vous pouvez configurer des informations supplémentaires sous les onglets suivants :
- Réseau :configurez l’accès à partir d’un réseau virtuel.
- Stratégie de sauvegarde : configurez une stratégie de sauvegarde périodique ou continue.
- Chiffrement : utilisez une clé gérée par le service ou une clé gérée par le client.
- Étiquettes : les étiquettes sont des paires nom/valeur qui vous permettent de catégoriser les ressources et d’afficher une facturation centralisée en appliquant la même étiquette à plusieurs ressources et groupes de ressources.
Sélectionnez Revoir + créer.
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é.
Sélectionnez Accéder à la ressource pour accéder à la page du compte Azure Cosmos DB.
Clonage de l’exemple d’application
À présent, travaillons sur le code. Nous allons maintenant cloner une API pour l’application Cassandra à partir de GitHub, configurer la chaîne de connexion et l’exécuter. Vous verrez combien il est facile de travailler par programmation avec des données.
Ouvrez une invite de commandes. Créez un dossier nommé
git-samples
. Ensuite, fermez l’invite de commandes.md "C:\git-samples"
Ouvrez une fenêtre de terminal git comme Git Bash et utilisez la commande
cd
pour accéder au nouveau dossier d’installation pour l’exemple d’application.cd "C:\git-samples"
Exécutez la commande suivante pour cloner l’exemple de référentiel : Cette commande crée une copie de l’exemple d’application sur votre ordinateur.
git clone https://github.com/Azure-Samples/azure-cosmos-db-cassandra-dotnet-core-getting-started.git
Ouvrez ensuite le fichier solution CassandraQuickStartSample dans Visual Studio.
Vérifier le code
Cette étape est facultative. Si vous voulez savoir comment le code crée les ressources de base de données, vous pouvez consulter les extraits de code suivants. Les extraits de code sont tous tirés du fichier Program.cs
de la méthode async Task ProcessAsync()
, installé dans le dossier C:\git-samples\azure-cosmos-db-cassandra-dotnet-core-getting-started\CassandraQuickStart
. Sinon, vous pouvez passer à l’étape Mise à jour de votre chaîne de connexion.
Initialisez la session en vous connectant à un point de terminaison de cluster Cassandra. L’API pour Cassandra sur la base de données Azure Cosmos prend en charge uniquement TLS 1.2.
var options = new Cassandra.SSLOptions(SslProtocols.Tls12, true, ValidateServerCertificate); options.SetHostNameResolver((ipAddress) => CASSANDRACONTACTPOINT); Cluster cluster = Cluster .Builder() .WithCredentials(USERNAME, PASSWORD) .WithPort(CASSANDRAPORT) .AddContactPoint(CASSANDRACONTACTPOINT) .WithSSL(options) .Build() ; ISession session = await cluster.ConnectAsync();
Si un espace de clés existe déjà, supprimez-le.
await session.ExecuteAsync(new SimpleStatement("DROP KEYSPACE IF EXISTS uprofile"));
Créez un espace de clé.
await session.ExecuteAsync(new SimpleStatement("CREATE KEYSPACE uprofile WITH REPLICATION = { 'class' : 'NetworkTopologyStrategy', 'datacenter1' : 1 };"));
Créez une table.
await session.ExecuteAsync(new SimpleStatement("CREATE TABLE IF NOT EXISTS uprofile.user (user_id int PRIMARY KEY, user_name text, user_bcity text)"));
Insérez des entités utilisateur à l’aide de l’objet IMapper avec une nouvelle session qui se connecte à l’espace de clés uprofile.
await mapper.InsertAsync<User>(new User(1, "LyubovK", "Dubai"));
Faites une requête pour obtenir les informations de tous les utilisateurs.
foreach (User user in await mapper.FetchAsync<User>("Select * from user")) { Console.WriteLine(user); }
Faites une requête pour obtenir les informations d’un seul utilisateur.
mapper.FirstOrDefault<User>("Select * from user where user_id = ?", 3);
Mise à jour de votre chaîne de connexion
Maintenant, retournez dans le portail Azure afin d’obtenir les informations de votre chaîne de connexion et de les copier dans l’application. Les informations de la chaîne de connexion permettent à votre application de communiquer avec votre base de données hébergée.
Dans le portail Azure, sélectionnez Chaîne de connexion.
Utilisez le bouton à droite de l’écran pour copier la valeur NOM D’UTILISATEUR.
Dans Visual Studio, ouvrez le fichier Program.cs.
Collez la valeur NOM D’UTILISATEUR à partir du portail sur
<PROVIDE>
à la ligne 13.La ligne 13 du fichier Program.cs doit maintenant ressembler à la ligne suivante :
private const string UserName = "cosmos-db-quickstart";
À la ligne 15, vous pouvez également coller la valeur POINT DE CONTACT sur
<PROVIDE>
.private const string CassandraContactPoint = "cosmos-db-quickstarts.cassandra.cosmosdb.azure.com"; // DnsName
Revenez au portail et copiez la valeur MOT DE PASSE. Collez la valeur MOT DE PASSE à partir du portail sur
<PROVIDE>
à la ligne 14.La ligne 14 du fichier Program.cs doit maintenant ressembler à la ligne suivante :
private const string Password = "2Ggkr662ifxz2Mg...==";
Revenez au portail et copiez la valeur POINT DE CONTACT. Collez la valeur POINT DE CONTACT à partir du portail sur
<PROVIDE>
à la ligne 16.La ligne 16 du fichier Program.cs doit maintenant être similaire à ceci
private const string CASSANDRACONTACTPOINT = "quickstart-cassandra-api.cassandra.cosmos.azure.com";
Enregistrez le fichier Program.cs.
Exécuter l’application .NET Core
Dans Visual Studio, sélectionnez Outils>Gestionnaire de package NuGet>Console du gestionnaire de package.
À l’invite de commandes, utilisez la commande suivante pour installer le package NuGet du pilote .NET.
Install-Package CassandraCSharpDriver
Appuyez sur Ctrl + F5 pour exécuter l’application. Votre application s’affiche dans la fenêtre de votre console.
Appuyez sur CTRL + C pour arrêter l’exécution du programme et fermer la fenêtre de console.
Dans le portail Azure, ouvrez l’Explorateur de données pour interroger, modifier et utiliser ces nouvelles données.
Vérification des contrats SLA dans le portail Azure
Le portail Azure surveille le débit, le stockage, la disponibilité, la latence et la cohérence de votre compte Azure Cosmos DB. Des graphiques de métriques associées à un contrat de niveau Service (SLA) Azure Cosmos DB montrent la valeur des contrats SLA par rapport aux performances réelles. Cette suite de métriques vous permet de superviser vos contrats SLA de manière transparente.
Pour consulter les métriques et les contrats SLA :
Sélectionnez Métriques dans le menu de navigation de votre compte Azure Cosmos DB.
Sélectionnez un onglet comme Latence, puis sélectionnez un intervalle de temps à droite. Comparez les lignes Réel et SLA des graphiques.
Consultez les métriques des autres onglets.
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 :
Depuis la barre de recherche du portail Azure, recherchez et sélectionnez Groupes de ressources.
Dans la liste, sélectionnez le groupe de ressources créé pour ce guide de démarrage rapide.
Dans la page Vue d’ensemble du groupe de ressources, sélectionnez Supprimer un groupe de ressources.
Dans la fenêtre suivante, entrez le nom du groupe de ressources à supprimer, puis sélectionnez Supprimer.
Étapes suivantes
Dans ce démarrage rapide, vous avez appris à créer un compte Azure Cosmos DB, à créer un conteneur à l’aide de l’Explorateur de données, et à exécuter une application web. Vous pouvez maintenant importer d’autres données dans votre compte Azure Cosmos DB.