Exercice : Migrer des charges de travail MongoDB vers Cosmos DB
Vous travaillez pour une société de services collectifs qui utilise des capteurs IoT pour recueillir des données de température. Les températures sont consignées dans une base de données MongoDB avec un timestamp. Chaque appareil possède un ID unique. Vous allez exécuter une application MongoDB qui simule ces appareils et stocke les données dans la base de données. Vous allez aussi utiliser une deuxième application qui permet à un utilisateur d’interroger les informations statistiques sur chaque appareil. Après avoir migré la base de données de MongoDB vers Cosmos DB, vous allez configurer les deux applications pour qu’elles se connectent à Cosmos DB et vérifier qu’elles fonctionnent toujours correctement.
Dans cet exercice, vous utiliserez une base de données MongoDB existante et la migrerez vers Cosmos DB. Vous utiliserez Azure Database Migration Service. Vous verrez également comment reconfigurer les applications existantes qui utilisent la base de données MongoDB afin qu’elles se connectent à la base de données Cosmos DB.
Important
Azure Data Migration Service n’est pas pris en charge dans l’environnement de bac à sable (sandbox) Azure gratuit. Vous pouvez effectuer ces étapes dans votre propre abonnement ou simplement observer pour comprendre comment migrer votre base de données.
Créer une base de données MongoDB dans Azure
Pour commencer, vous allez créer la base de données MongoDB qui va accueillir les données capturées à partir des appareils de température.
Créer un groupe de ressources et un réseau virtuel
Dans un navigateur web, ouvrez un nouvel onglet et accédez au portail Azure.
Sur le portail Azure, sélectionnez Groupes de ressources, puis + Ajouter.
Dans la page Créer un groupe de ressources, entrez les informations suivantes :
Propriété Valeur Abonnement <votre-abonnement> Groupe de ressources mongodbrg Région Sélectionnez la localisation la plus proche. Sélectionnez Vérifier + créer, puis sélectionnez Créer. Attendez que le groupe de ressources soit créé.
Dans le menu du portail Azure, sélectionnez + Créer une ressource.
Dans la page Nouveau, dans la zone Rechercher dans la Place de marché, tapez Réseau virtuel, puis appuyez sur Entrée.
Dans la page Réseau virtuel, sélectionnez Créer.
Dans la page Créer un réseau virtuel, entrez les informations suivantes, puis sélectionnez Suivant : Adresses IP :
Propriété Valeur Groupe de ressources mongodbrg Nom databasevnet Région Sélectionnez l’emplacement que vous avez spécifié pour le groupe de ressources Dans la page Adresses IP, définissez l’Espace d’adressage IPv4 sur 10.0.0.0/24.
Sélectionnez le sous-réseau par défaut, puis Supprimer le sous-réseau.
Sélectionnez + Ajouter un sous-réseau. Dans le volet Ajouter un sous-réseau, définissez le Nom du sous-réseau sur par défaut, définissez la Plage d’adresses de sous-réseau sur 10.0.0.0/28, puis sélectionnez Ajouter.
Dans la page Adresses IP, sélectionnez Suivant : Sécurité.
Dans la page Sécurité, vérifiez que la protection réseau Azure DDoS est définie sur Désactiver et que le Pare-feu est défini sur Désactiver. Sélectionnez Revoir + créer.
Dans la page Créer un réseau virtuel, sélectionnez Créer. Attendez que le réseau virtuel soit créé avant de continuer.
Créer un serveur de base de données MongoDB
Dans le menu du portail Azure, sélectionnez + Créer une ressource.
Dans la zone de texte Rechercher dans la Place de marché, tapez Ubuntu, puis appuyez sur Entrée.
Dans la page Place de marché, sélectionnez Ubuntu Server 18.04 LTS.
Dans la page Ubuntu Server 18.04 LTS, sélectionnez Créer.
Dans la page Créer une machine virtuelle, entrez les informations suivantes :
Propriété Valeur Groupe de ressources mongodbrg Nom de la machine virtuelle mongodbserver Région Sélectionnez l’emplacement que vous avez spécifié pour le groupe de ressources Options de disponibilité Aucune redondance de l’infrastructure requise Image Ubuntu Server 18.04 LTS - Gen1 Instance Azure Spot Désactivé Taille Standard A1_v2 Type d'authentification Mot de passe Nom d’utilisateur azureuser Mot de passe Pa55w.rdPa55w.rd Confirmer le mot de passe Pa55w.rdPa55w.rd Aucun port d’entrée public Autoriser les ports sélectionnés Sélectionner des ports d’entrée SSH (22) Sélectionnez Suivant : Disques>.
Dans la page Disques, conservez les valeurs par défaut des paramètres, puis sélectionnez Suivant : Réseau>.
Dans la page Réseau, entrez les informations suivantes :
Propriété Valeur Réseau virtuel databasevnet Subnet valeur par défaut (10.0.0.0/28) Adresse IP publique (nouveau) mongodbserver-ip Groupe de sécurité réseau de la carte réseau Avancé Configurer un groupe de sécurité réseau (nouveau) mongodbserver-nsg Mise en réseau accélérée Désactivé Équilibrage de la charge Désactivé Sélectionnez Revoir + créer>.
Dans la page de validation, sélectionnez Créer.
Attendez que la machine virtuelle soit déployée avant de continuer.
Dans le menu du portail Azure, sélectionnez Toutes les ressources.
Dans la page Toutes les ressources, sélectionnez mongodbserver-nsg.
Dans la page mongodbserver-nsg, sous Paramètres, sélectionnez Règles de sécurité de trafic entrant.
Dans la page mongodbserver-nsg - Règles de sécurité de trafic entrant, sélectionnez + Ajouter.
Dans le volet Ajouter une règle de sécurité de trafic entrant, entrez les informations suivantes :
Propriété Valeur Source Aucune Source port ranges * Destination Any Plages de ports de destination 8080 Protocol Any Action Autoriser Priority 1030 Nom Mongodb-port Description Port utilisé par les clients pour se connecter à MongoDB Sélectionnez Ajouter.
Notes
Dans cet exercice, vous allez configurez MongoDB pour qu’il utilise le port 8080. Ce sont les contraintes de sécurité de cet environnement qui imposent de le faire. Normalement, vous utiliseriez le port MongoDB par défaut 27017.
Installer MongoDB
Dans le menu du portail Azure, sélectionnez Toutes les ressources.
Dans la page Toutes les ressources, sélectionnez mongodbserver-ip.
Dans la page mongodbserver-ip, notez l’Adresse IP.
Dans la barre d’outils situé dans la partie supérieure du portail Azure, sélectionnez Cloud Shell.
Si la boîte de message Vous n’avez aucun stockage monté s’affiche, sélectionnez Créer l’espace de stockage.
Une fois Cloud Shell démarré, dans la liste déroulante située au-dessus de la fenêtre Cloud Shell, sélectionnez Bash.
Dans Cloud Shell, entrez la commande suivante pour vous connecter à la machine virtuelle mongodbserver. Remplacez <ip address> par la valeur d’adresse IP de mongodbserver-ip :
ssh azureuser@<ip address>
À l’invite, tapez yes pour poursuivre la connexion.
Entrez le mot de passe Pa55w.rdPa55w.rd.
Pour recharger la base de données de packages, entrez cette commande :
sudo apt-get update
Pour installer MongoDB, entrez cette commande :
sudo apt-get install -y mongodb
L’installation doit se poursuivre avec des messages sur l’installation, la préparation et la décompression des packages. L’installation peut prendre quelques minutes.
Configurer la base de données MongoDB
Par défaut, l’instance MongoDB est configurée pour s’exécuter sans authentification. Dans cette tâche, vous allez configurer la liaison de MongoDB à l’interface réseau locale afin d’accepter les connexions d’autres ordinateurs. Vous allez aussi activer l’authentification et créer le compte d’utilisateur nécessaire pour effectuer la migration. Enfin, vous ajouterez un compte pour permettre à une application de test d’interroger la base de données.
Pour ouvrir le fichier de configuration MongoDB, exécutez cette commande :
sudo nano /etc/mongodb.conf
Dans le fichier, repérez le paramètre bind_ip, puis définissez-le sur 0.0.0.0.
Repérez le paramètre port, puis définissez-le sur 8080.
Pour enregistrer le fichier de configuration, appuyez sur Échap, puis sur Ctrl+X. Appuyez sur y, puis sur Entrée pour enregistrer la mémoire tampon modifiée.
Pour redémarrer le service MongoDB et appliquer vos modifications, entrez cette commande :
sudo service mongodb restart
Pour vous connecter au service MongoDB, entrez cette commande :
mongo --host 127.0.0.1:8080
À l’invite >, pour passer à la base de données >, exécutez cette commande :
use admin;
Pour créer un nouvel utilisateur nommé administrator, exécutez cette commande. Vous pouvez entrer cette commande sur une seule ligne ou sur plusieurs lignes pour une meilleure lisibilité. La commande s’exécute lorsque le programme
mongo
atteint le point-virgule :db.createUser( { user: "administrator", pwd: "Pa55w.rd", roles: [ { role: "userAdminAnyDatabase", db: "admin" }, { role: "clusterMonitor", db:"admin" }, "readWriteAnyDatabase" ] } );
Pour quitter le programme
mongo
, entrez cette commande :exit;
Pour vous connecter à MongoDB avec le nouveau compte d’administrateur, exécutez cette commande :
mongo admin -u "administrator" -p "Pa55w.rd" --host 127.0.0.1:8080
Pour passer à la base de données DeviceData, exécutez cette commande :
use DeviceData;
Pour créer un utilisateur nommé deviceadmin, dont se servira l’application pour se connecter à la base de données, exécutez cette commande :
db.createUser( { user: "deviceadmin", pwd: "Pa55w.rd", roles: [ { role: "readWrite", db: "DeviceData" } ] } );
Pour quitter le programme
mongo
, entrez cette commande :exit;
Exécutez la commande suivante pour redémarrer le service mongodb. Vérifiez que le service redémarre sans message d’erreur :
sudo service mongodb restart
Exécutez la commande suivante pour vérifier que vous pouvez à présent vous connecter à mongodb sous le nom d’utilisateur deviceadmin :
mongo DeviceData -u "deviceadmin" -p "Pa55w.rd" --host 127.0.0.1:8080
À l’invite >, exécutez la commande suivante pour quitter l’interpréteur de commandes mongo :
exit;
À l’invite bash, exécutez la commande suivante pour vous déconnecter du serveur MongoDB et revenir à Cloud Shell :
exit
Remplir et interroger la base de données MongoDB
Vous avez maintenant créé un serveur et une base de données MongoDB. La prochaine étape consiste à présenter les exemples d’applications qui peuvent remplir cette base de données de données et les interroger.
Créer et exécuter une application pour remplir la base de données MongoDB
Dans Azure Cloud Shell, exécutez la commande suivante pour télécharger l’exemple de code :
git clone https://github.com/MicrosoftLearning/DP-060T00A-Migrating-your-Database-to-Cosmos-DB migration-workshop-apps
Accédez au dossier migration-workshop-apps/MongoDeviceDataCapture/MongoDeviceCapture :
cd ~/migration-workshop-apps/MongoDeviceDataCapture/MongoDeviceDataCapture
Utilisez l’éditeur de code pour examiner le fichier TemperatureDevice.cs :
code TemperatureDevice.cs
Le code de ce fichier contient une classe nommée TemperatureDevice qui simule un appareil de température capturant des données et les enregistrant dans une base de données MongoDB. Elle utilise la bibliothèque MongoDB pour le .NET Framework. Le constructeur TemperatureDevice se connecte à la base de données en utilisant les paramètres stockés dans le fichier de configuration de l’application. La méthode RecordTemperatures génère un relevé et l’écrit dans la base de données.
Fermez l’éditeur de code, puis ouvrez le fichier ThermometerReading.cs :
code ThermometerReading.cs
Ce fichier présente la structure des documents que l’application stocke dans la base de données. Le document contient les champs suivants :
- Un ID d’objet. Il s’agit du champ « _id » généré par MongoDB pour identifier de manière unique chaque document.
- Un ID d’appareil. À chaque appareil correspond un numéro associé au préfixe « Device ».
- La température enregistrée par l’appareil.
- La date et l’heure auxquelles la température a été enregistrée.
Fermez l’éditeur de code, puis ouvrez le fichier App.config :
code App.config
Ce fichier contient les paramètres de connexion à la base de données MongoDB.
Définissez la valeur de la clé Address sur l’adresse IP du serveur MongoDB que vous avez inscrit précédemment.
Remplacez le port utilisé par l’application par 8080.
Enregistrez le fichier et fermez l’éditeur en utilisant Ctrl + s et Ctrl + q.
Exécutez la commande suivante pour regénérer l’application :
dotnet build
Cette opération peut prendre près de cinq minutes.
Exécutez l’application :
dotnet run
L’application simule l’exécution simultanée de 100 appareils. Laissez l’application s’exécuter pendant deux ou trois minutes, puis appuyez sur Entrée pour l’arrêter.
Créer et exécuter une autre application pour interroger la base de données MongoDB
Accédez au dossier DP160T00A-Migrating-your-Database-to-Cosmos-DB/MongoDeviceDataCapture/DeviceDataQuery :
cd ~/migration-workshop-apps/MongoDeviceDataCapture/DeviceDataQuery
Ce dossier contient une autre application que vous pouvez utiliser pour analyser les données capturées par chaque appareil.
Utilisez l’éditeur de code pour examiner le fichier Program.cs :
code Program.cs
L’application se connecte à la base de données (en utilisant la méthode ConnectToDatabase au bas du fichier) et invite l’utilisateur à entrer un numéro d’appareil. L’application se sert de la bibliothèque MongoDB pour le .NET Framework pour créer et exécuter un pipeline d’agrégation qui calcule les statistiques suivantes pour l’appareil spécifié :
- Nombre de relevés enregistrés.
- Température moyenne enregistrée.
- Relevé le plus bas.
- Relevé le plus haut.
- Dernier relevé.
Fermez l’éditeur de code, puis ouvrez le fichier App.config :
code App.config
Définissez la valeur de la clé Address sur l’adresse IP du serveur MongoDB que vous avez inscrit précédemment.
Remplacez le port utilisé par l’application par 8080.
Enregistrez le fichier et fermez l’éditeur en utilisant Ctrl + s et Ctrl + q.
Créez et exécutez l’application :
dotnet build dotnet run
À l’invite Enter Device Number, entrez une valeur comprise entre 0 et 99. L’application interroge la base de données, calcule les statistiques et affiche les résultats. Appuyez sur Q pour quitter l’application.
Migrer la base de données MongoDB vers Cosmos DB
L’étape suivante consiste à prendre la base de données MongoDB et à la transférer vers Cosmos DB.
Créer un compte et une base de données Cosmos
Revenez au portail Azure.
Dans le menu, sélectionnez + Créer une ressource.
Dans la page Nouveau, dans la zone Rechercher dans la Place de marché, tapez *Azure Cosmos DB, puis appuyez sur Entrée.
Dans la page Azure Cosmos DB, sélectionnez Créer.
Dans la page Créer un compte Azure Cosmos DB, entrez les paramètres suivants :
Propriété Valeur Resource group mongodbrg Nom du compte mongodb*nnn*, où nnn est un nombre que vous avez choisi au hasard API Azure Cosmos DB pour l’API MongoDB Notebooks Désactivé Emplacement Indiquez l’emplacement que vous avez utilisé pour le serveur MongoDB et le réseau virtuel Mode de capacité Débit approvisionné Appliquer la remise de niveau gratuit Appliquer Type de compte Hors production Version 3.6 Géoredondance Désactiver Écritures multirégions Désactiver Zones de disponibilité Désactiver Sélectionnez Revoir + créer.
Dans la page de validation, sélectionnez Créer et attendez que le compte Cosmos DB soit déployé.
Dans le menu du portail Azure, sélectionnez Toutes les ressources, puis sélectionnez votre nouveau compte Cosmos DB (mongodbnnn).
Dans la page mongodbnnn, sélectionnez Explorateur de données.
Dans le volet Explorateur de données, sélectionnez Nouvelle collection.
Dans le volet Ajouter une collection, spécifiez les paramètres suivants :
Propriété Valeur ID de base de données Sélectionnez Créer nouveau, puis tapez DeviceData Approvisionner le débit d’une base de données sélectionné Débit 10000 ID de la collection Temperatures Capacité de stockage Illimité Clé de partition deviceID La taille de ma clé de partition est supérieure à 100 octets laissez désélectionné Créer un index générique sur tous les champs laissez désélectionné Magasin analytique Désactivé Sélectionnez OK.
Créer l’instance Database Migration Service
Revenez au portail Azure.
Cliquez successivement sur Tous les services, sur Abonnements, puis sur votre abonnement.
Dans la page de votre abonnement, sous Paramètres, cliquez sur Fournisseurs de ressources.
Dans la zone Filtrer par nom, tapez DataMigration, puis cliquez sur Microsoft.DataMigration.
Si Microsoft.DataMigration n’est pas inscrit, cliquez sur Inscrire, puis attendez que l’État passe à Inscrit. Vous devrez peut-être cliquer sur Actualiser pour faire apparaître le changement d’état.
Dans le menu du portail Azure, sélectionnez + Créer une ressource.
Dans la page Nouveau, dans la zone Rechercher dans la Place de marché, tapez Azure Database Migration Service, puis appuyez sur Entrée.
Dans la page Azure Database Migration Service, sélectionnez Créer.
Dans la page Créer un service de migration, entrez les paramètres suivants :
Propriété Valeur Resource group mongodbrg Nom du service MongoDBMigration Emplacement Sélectionnez le même emplacement que celui utilisé précédemment Mode de service Microsoft Azure Niveau de tarification Standard : 1 vCores Sélectionnez Suivant : Réseau.
Dans la page Réseau, sélectionnez databasevnet/default, puis sélectionnez Vérifier + créer.
Sélectionnez Créer et attendez que le service soit déployé avant de continuer. Cette opération peut prendre près de 10 minutes.
Créer et exécuter un nouveau projet de migration
Dans le menu du portail Azure, sélectionnez Groupes de ressources.
Dans la fenêtre Groupes de ressources, sélectionnez mongodbrg.
Dans la fenêtre mongodbrg, sélectionnez MongoDBMigration.
Dans la page MongoDBMigration, sélectionnez + Nouveau projet de migration.
Dans la page Nouveau projet de migration, entrez les paramètres suivants :
Propriété Value Nom du projet MigrateTemperatureData Type du serveur source MongoDB Type du serveur cible Cosmos DB (API MongoDB) Choisir un type d’activité Migration de données hors connexion Sélectionnez Créer et exécuter une activité.
Au démarrage de l’Assistant Migration, dans la page Détails de la source, entrez les informations suivantes :
Propriété Value Mode Mode standard Nom du serveur source Indiquez la valeur d’adresse IP de mongodbserver-ip que vous avez inscrite précédemment Port du serveur 8080 User Name administrator Mot de passe Pa55w.rd Exiger SSL désélectionné Sélectionnez Suivant : Sélectionner la cible.
Dans la page Sélectionner une cible, entrez les informations suivantes :
Propriété Value Mode Sélectionner la cible Cosmos DB Sélectionner le nom Cosmos DB mongodb*nnn* Chaîne de connexion Acceptez la chaîne de connexion générée pour votre compte Cosmos DB Sélectionnez Suivant : Paramètre de base de données.
Dans la page Paramètre de base de données, entrez les informations suivantes :
Propriété Value Base de données source DeviceData Base de données cible DeviceData Débit (RU/s) 1 000 Nettoyer les collections Décochez cette case Sélectionnez Suivant : Paramètre de collection.
Dans la page Paramètre de collection, sélectionnez la flèche déroulante pour la base de données DeviceData, puis entrez les informations suivantes :
Propriété Valeur Nom Temperatures Collection cible Temperatures Débit (RU/s) 1 000 Clé de partition deviceID Unique Laisser vide Sélectionnez Suivant : Récapitulatif de la migration.
Dans la page Récapitulatif de la migration, dans le champ Nom de l’activité, entrez mongodb-migration, puis sélectionnez Démarrer la migration.
Dans la page mongodb-migration, sélectionnez Actualiser toutes les 30 secondes jusqu’à ce que la migration soit terminée. Notez le nombre de documents traités.
Vérifier que la migration a abouti
Dans le menu du portail Azure, sélectionnez Toutes les ressources.
Dans la page Toutes les ressources, sélectionnez mongodbnnn.
Dans la page mongodb*nnn, sélectionnez Explorateur de données.
Dans le volet Explorateur de données, développez la base de données DeviceData, développez la collection Temperatures, puis sélectionnez Documents.
Dans le volet Documents, parcourez la liste de documents. Vous devez y trouver un ID de document (_id) et la clé de partition (/deviceID) pour chaque document.
Sélectionnez un document. Les détails du document doivent s’afficher. Voici comment se présente un document :
{ "_id" : ObjectId("5ce8104bf56e8a04a2d0929a"), "deviceID" : "Device 83", "temperature" : 19.65268837271849, "time" : 636943091952553500 }
Dans la barre d’outils du volet Explorateur de documents, sélectionnez Nouveau shell.
Dans le volet Shell 1, à l’invite >, entrez la commande suivante, puis appuyez sur Entrée :
db.Temperatures.count()
Cette commande affiche le nombre de documents présents dans la collection Temperatures. Il doit correspondre au nombre indiqué par l’Assistant Migration.
Entrez la commande suivante, puis appuyez sur Entrée :
db.Temperatures.find({deviceID: "Device 99"})
Cette commande récupère et affiche les documents pour Device 99.
Reconfigurer les applications existantes pour qu’elles utilisent Cosmos DB et les exécuter
La dernière étape consiste à reconfigurer vos applications MongoDB existantes pour les connecter à Cosmos DB et à vérifier qu’elles fonctionnent toujours. Vous allez être amené à modifier la façon dont vos applications se connectent à la base de données, mais la logique de vos applications doit rester inchangée.
Dans le volet mongodbnnn, sous Paramètres, sélectionnez Chaîne de connexion.
Dans la page Chaîne de connexion mongodbnnn, notez les paramètres suivants :
- Host
- Nom d’utilisateur
- Mot de passe principal
Revenez à la fenêtre Cloud Shell (reconnectez-vous si la session a expiré), puis accédez au dossier migration-workshop-apps/MongoDeviceDataCapture/DeviceDataQuery :
cd ~/migration-workshop-apps/MongoDeviceDataCapture/DeviceDataQuery
Ouvrez le fichier App.config dans l’éditeur de code :
code App.config
Dans la section Settings for MongoDB du fichier, commentez les paramètres existants.
Supprimez les marques de commentaire des paramètres de la section Settings for Cosmos DB Mongo API et définissez les valeurs de ces paramètres comme suit :
Paramètre Value Adresse HÔTE de la page Chaîne de connexion mongodbnnn Port PORT de la page Chaîne de connexion mongodbnnn Nom d’utilisateur NOM D’UTILISATEUR de la page Chaîne de connexion mongodbnnn Mot de passe MOT DE PASSE PRINCIPAL de la page Chaîne de connexion mongodbnnn Une fois complété, le fichier doit se présenter comme suit :
<?xml version="1.0" encoding="utf-8"?> <configuration> <appSettings> <add key="Database" value="DeviceData" /> <add key="Collection" value="Temperatures" /> <!-- Settings for MongoDB <add key="Address" value="nn.nn.nn.nn" /> <add key="Port" value="27017" /> <add key="Username" value="deviceadmin" /> <add key="Password" value="Pa55w.rd" /> End of settings for MongoDB --> <!-- Settings for CosmosDB Mongo API --> <add key="Address" value="mongodbnnn.documents.azure.com"/> <add key="Port" value="10255"/> <add key="Username" value="mongodbnnn"/> <add key="Password" value="xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx=="/> <!-- End of settings for CosmosDB Mongo API --> </appSettings> </configuration>
Enregistrez le fichier, puis fermez l’éditeur de code.
Ouvrez le fichier Program.cs à l’aide de l’éditeur de code.
code Program.cs
Faites défiler l’écran jusqu’à la méthode ConnectToDatabase.
Commentez la ligne qui définit les informations d’identification pour la connexion à MongoDB, puis supprimez les marques de commentaire des instructions qui spécifient les informations d’identification pour la connexion à Cosmos DB. Le code doit se présenter comme ceci :
// Connect to the MongoDB database MongoClient client = new MongoClient(new MongoClientSettings { Server = new MongoServerAddress(address, port), ServerSelectionTimeout = TimeSpan.FromSeconds(10), // // Credential settings for MongoDB // // Credential = MongoCredential.CreateCredential(database, azureLogin.UserName, azureLogin.SecurePassword), // // Credential settings for CosmosDB Mongo API // UseTls = true, Credential = new MongoCredential("SCRAM-SHA-1", new MongoInternalIdentity(database, azureLogin.UserName), new PasswordEvidence(azureLogin.SecurePassword)) // End of Mongo API settings });
Ces modifications sont nécessaires, car la base de données MongoDB d’origine n’utilisait pas de connexion SSL. Cosmos DB utilise toujours SSL.
Enregistrez le fichier, puis fermez l’éditeur de code.
Regénérez l’application et exécutez-la :
dotnet build dotnet run
À l’invite Enter Device Number, entrez un numéro d’appareil compris entre 0 et 99. L’application doit s’exécuter exactement comme auparavant, sauf que cette fois-ci, elle utilise les données contenues dans la base de données Cosmos DB.
Améliorer le niveau de performance des requêtes dans Cosmos DB
Cosmos DB vous permet d’ajouter des index supplémentaires pour améliorer le niveau de performance des requêtes. Comme nous agrégeons sur deviceID, l’ajout de ce champ en tant qu’index permet d’accélérer les requêtes.
Revenez au portail Azure.
À gauche, sélectionnez Explorateur de données.
Dans le volet Explorateur de données, développez la base de données DeviceData, développez la collection Temperatures, puis sélectionnez Paramètres.
Sélectionnez Stratégie d’indexation.
Sous _id, ajoutez un nouvel index, entrez deviceID pour Définition, puis sélectionnez Champ unique pour Type.
Sélectionnez Enregistrer pour ajouter le nouvel index.
Revenez à Cloud Shell pour réexécuter votre requête, puis remarquez la réponse améliorée de votre application.
Testez l’application avec d’autres numéros d’appareils. Entrez Q pour terminer.
Vous avez migré une base de données MongoDB vers Cosmos DB, puis reconfiguré une application MongoDB existante pour qu’elle se connecte à la nouvelle base de données Cosmos DB.
Nettoyer les ressources que vous avez créées
Important
Si vous avez effectué ces étapes dans votre propre abonnement, vous pouvez supprimer les ressources individuellement ou supprimer le groupe de ressources, c’est-à-dire le jeu complet de ressources. Les ressources laissées en cours d’exécution peuvent vous coûter de l’argent.
Dans Cloud Shell, exécutez cette commande pour supprimer le groupe de ressources :
az group delete --name mongodbrg