Exercice : Migrer des charges de travail MongoDB vers Cosmos DB
Vous travaillez pour une entreprise d’utilitaires qui dispose de capteurs IoT qui collectent des données de température. Les températures sont consignées dans une base de données MongoDB, ainsi qu’un horodatage. Chaque appareil a 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 utiliserez également une deuxième application qui permet à un utilisateur d’interroger des 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 vous connecter à Cosmos DB et vérifier qu’elles fonctionnent toujours correctement.
Dans cet exercice, vous allez prendre une base de données MongoDB existante et la migrer vers Cosmos DB. Vous allez utiliser Azure Database Migration Service. Vous verrez également comment reconfigurer les applications existantes qui utilisent la base de données MongoDB pour vous connecter à la base de données Cosmos DB à la place.
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 personnel ou simplement observer pour comprendre comment migrer votre base de données.
Créer une base de données MongoDB sur Azure
Tout d’abord, vous allez créer la base de données MongoDB pour conserver 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.
Dans le portail Azure, sélectionnez Groupes de ressources, puis +Ajouter.
Dans la page Créer un groupe de ressources, entrez les détails suivants :
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électionner Créer. Attendez que le groupe de ressources soit créé.
Dans le menu du portail Azure, sélectionnez + Créer une ressource.
Dans la nouvelle page, 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 détails suivants, puis sélectionnez Suivant : Adresses IP :
Propriété Valeur Groupe de ressources mongodbrg Nom databasevnet Région Sélectionnez le même emplacement que celui 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 sélectionnez 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éseaupar défaut, définissez la plage d’adresses du 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 qu’Azure DDoS Network Protection est défini sur Désactiver et que le pare-feu est défini sur Désactiver. Sélectionnez Vérifier + 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 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 détails suivants :
Propriété Valeur Groupe de ressources mongodbrg Nom de la machine virtuelle mongodbserver Région Sélectionnez le même emplacement que celui 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 Ports d’entrée publics 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 paramètres par défaut, puis sélectionnez Suivant : Mise en réseau >.
Dans la page Mise en réseau , entrez les détails suivants :
Propriété Valeur Réseau virtuel databasevnet Sous-réseau par défaut (10.0.0.0/28) Adresse IP publique (nouveau) mongodbserver-ip Groupe de sécurité réseau de la NIC 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 Vérifier + 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 des règles de sécurité entrantes mongodbserver-nsg , sélectionnez + Ajouter.
Dans le volet Ajouter une règle de sécurité de trafic entrant, entrez les informations suivantes :
Propriété Valeur Source Quelconque Plages de ports sources * Destination Quelconque Plages de ports de destination 8080 Protocole Quelconque Action Autoriser Priorité 1030 Nom Mongodb-port Description Port que les clients utilisent pour se connecter à MongoDB Sélectionnez Ajouter.
Remarque
Dans cet exercice, vous allez configurer MongoDB pour utiliser le port 8080. Vous devez uniquement effectuer cette opération en raison de contraintes de sécurité dans cet environnement. Vous utilisez normalement le port MongoDB par défaut de 27017.
Installer MongoDB
Dans le menu du portail Azure, sélectionnez Toutes les ressources.
Dans la page Toutes les ressources , sélectionnez mongodbserver-ip.
Sur la page mongodbserver-ip , notez l’adresse IP.
Dans la barre d’outils située en haut du portail Azure, sélectionnez Cloud Shell.
Si la boîte de message « Vous n'avez pas de stockage monté » apparaît, sélectionnez Créer un stockage.
Au démarrage de Cloud Shell, dans la liste déroulante 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 <l'adresse IP> par la valeur de l'IP mongodbserver-ip :
ssh azureuser@<ip address>À l’invite, tapez oui pour continuer la connexion.
Entrez le mot de passe Pa55w.rdPa55w.rd.
Pour recharger la base de données de package, entrez cette commande :
sudo apt-get updatePour installer MongoDB, entrez cette commande :
sudo apt-get install -y mongodbL’installation doit suivre les messages relatifs à l’installation, à la préparation et au décompression des packages. L’installation peut prendre quelques minutes.
Configurer la base de données MongoDB
Par défaut, l’instance de base de données Mongo est configurée pour s’exécuter sans authentification. Dans cette tâche, vous allez configurer MongoDB pour établir une liaison à l’interface réseau locale afin qu’elle puisse accepter les connexions à partir d’autres ordinateurs. Vous allez également activer l’authentification et créer le compte d’utilisateur nécessaire pour effectuer la migration. Enfin, vous allez ajouter un compte qu’une application de test peut utiliser pour interroger la base de données.
Pour ouvrir le fichier de configuration MongoDB, exécutez cette commande :
sudo nano /etc/mongodb.confDans le fichier, recherchez le paramètre bind_ip et définissez-le sur 0.0.0.0.
Recherchez le paramètre de port et définissez-le sur 8080.
Pour enregistrer le fichier de configuration, appuyez sur Échap , puis appuyez sur Ctrl + X. Appuyez sur y , puis entrez pour enregistrer la mémoire tampon modifiée.
Pour redémarrer le service MongoDB et appliquer vos modifications, entrez cette commande :
sudo service mongodb restartPour vous connecter au service MongoDB, entrez cette commande :
mongo --host 127.0.0.1:8080À l'invite >, pour basculer vers la base de données admin, exécutez cette commande :
use admin;Pour créer un utilisateur nommé administrateur, exécutez la commande suivante. Vous pouvez entrer la commande sur une ligne ou sur plusieurs lignes pour améliorer la lisibilité. La commande est exécutée lorsque le
mongoprogramme atteint le point-virgule :db.createUser( { user: "administrator", pwd: "Pa55w.rd", roles: [ { role: "userAdminAnyDatabase", db: "admin" }, { role: "clusterMonitor", db:"admin" }, "readWriteAnyDatabase" ] } );Pour quitter le
mongoprogramme, entrez cette commande ;exit;Pour vous connecter à MongoDB avec le compte du nouvel administrateur, exécutez cette commande :
mongo admin -u "administrator" -p "Pa55w.rd" --host 127.0.0.1:8080Pour basculer vers la base de données DeviceData , exécutez cette commande :
use DeviceData;Pour créer un utilisateur nommé deviceadmin, que l’application utilisera 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
mongoprogramme, entrez cette commande ;exit;Exécutez la commande suivante pour redémarrer le service mongodb. Vérifiez que le service redémarre sans aucun message d’erreur :
sudo service mongodb restartExécutez la commande suivante pour vérifier que vous pouvez maintenant vous connecter à mongodb en tant qu’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. L’étape suivante consiste à illustrer les exemples d’applications qui peuvent remplir et interroger les données dans cette base de données.
Générer 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-appsAccédez au dossier migration-workshop-apps/MongoDeviceDataCapture/MongoDeviceCapture :
cd ~/migration-workshop-apps/MongoDeviceDataCapture/MongoDeviceDataCaptureUtilisez l’éditeur de code pour examiner le fichier TemperatureDevice.cs :
code TemperatureDevice.csLe code de ce fichier contient une classe nommée TemperatureDevice qui simule une capture de données de l’appareil de température et l’enregistre dans une base de données MongoDB. Il utilise la bibliothèque MongoDB pour .NET Framework. Le constructeur TemperatureDevice se connecte à la base de données à l’aide des paramètres stockés dans le fichier de configuration de l’application. La méthode RecordTemperatures génère une lecture et l’écrit dans la base de données.
Fermez l’éditeur de code, puis ouvrez le fichier ThermometerReading.cs :
code ThermometerReading.csCe fichier montre la structure des documents que l’application stocke dans la base de données. Chaque document contient les champs suivants :
- ID d’objet. Il s’agit du champ « _id » généré par MongoDB pour identifier de manière unique chaque document.
- ID d’appareil. Chaque appareil a un nombre avec le préfixe « Appareil ».
- Température enregistrée par l’appareil.
- Date et heure à laquelle la température a été enregistrée.
Fermez l’éditeur de code, puis ouvrez le fichier App.config :
code App.configCe fichier contient les paramètres de connexion à la base de données MongoDB.
Définissez la valeur de la clé d’adresse sur l’adresse IP du serveur MongoDB que vous avez enregistré précédemment.
Remplacez le port utilisé par l’application par 8080.
Enregistrez le fichier et fermez l’éditeur à l’aide de Ctrl + s, puis ctrl + q.
Exécutez la commande suivante pour reconstruire l’application :
dotnet buildCela peut prendre environ 5 minutes.
Exécutez l’application :
dotnet runL’application simule 100 appareils en cours d’exécution simultanément. Autorisez l’application à s’exécuter pendant quelques minutes, puis appuyez sur Entrée pour l’arrêter.
Générer 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/DeviceDataQueryCe 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.csL’application se connecte à la base de données (à l’aide de la méthode ConnectToDatabase au bas du fichier), puis invite l’utilisateur à entrer un numéro d’appareil. L’application utilise la bibliothèque MongoDB pour .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 lectures enregistrées.
- 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.configDéfinissez la valeur de la clé d’adresse sur l’adresse IP du serveur MongoDB que vous avez enregistré précédemment.
Remplacez le port utilisé par l’application par 8080.
Enregistrez le fichier et fermez l’éditeur à l’aide de Ctrl + s, puis ctrl + q.
Générez et exécutez l’application :
dotnet build dotnet runÀ l’invite Entrer le numéro d’appareil , 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
Retournez au Portail Azure.
Dans le menu, sélectionnez + Créer une ressource.
Dans la page Nouvelle , 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 groupe de ressources mongodbrg Nom du compte mongodb*nnn*, où nnn est un nombre aléatoire sélectionné par vous API (Interface de Programmation d'Applications) API Azure Cosmos DB pour MongoDB Cahiers Désactivé Emplacement Spécifiez le même emplacement que celui 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éo-redondance Désactiver Écritures multirégions Désactiver Zones de disponibilité Désactiver Sélectionnez Vérifier + 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, puis tapez DeviceData Provisionner le débit de la base de données sélectionné Débit 10000 Identifiant de la collection Températures 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 le service de migration de base de données
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. Il peut être nécessaire de 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 nouvelle page, 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 groupe de ressources mongodbrg Nom du service MongoDBMigration Emplacement Sélectionnez le même emplacement que celui utilisé précédemment Mode de service Azur Niveau tarifaire Standard : 1 vCores Sélectionnez Suivant : Mise en réseau.
Dans la page Mise en 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 environ 10 minutes.
Créer et exécuter un 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é Valeur Nom du projet MigrateTemperatureData Type du serveur source MongoDB Type de serveur cible Cosmos DB (API MongoDB) Choisir un type d’activité Migration de données hors connexion Sélectionnez Créer et exécuter l’activité.
Au démarrage de l’Assistant Migration, sur la page des détails de la source, entrez les détails suivants :
Propriété Valeur Mode Mode standard Nom du serveur source Spécifiez la valeur de l’adresse IP mongodbserver-ip que vous avez enregistrée précédemment. Port du serveur 8080 Nom d'utilisateur administrateur Mot de passe Pa55w.rd Demande de SSL désélectionné Sélectionnez Suivant : Sélectionnez la cible.
Dans la page Sélectionner la cible , entrez les détails suivants :
Propriété Valeur Mode Sélectionner la cible Cosmos DB Sélectionner le nom de la base de données Comos mongodb*nnn* Chaîne de connexion Accepter 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 des paramètres de base de données , entrez les détails suivants :
Propriété Valeur Base de données source DeviceData Base de données cible DeviceData Débit (RU/s) 1 000 Nettoyer les collections Effacez ce champ Sélectionnez Suivant : Paramètre de collecte.
Sur la page Réglage de Collection, sélectionnez la flèche déroulante de la base de données DeviceData, entrez les détails suivants :
Propriété Valeur Nom Températures Collection cible Températures Débit (RU/s) 1 000 Clé de partition deviceID Unique Laisser vide Sélectionnez Suivant : Résumé de la migration.
Dans la page résumé de la migration, dans le champ Nom de l’activité, entrez mongodb-migration, puis sélectionnez Démarrer la migration.
Dans la page de migration mongodb , 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 réussi
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 , faites défiler la liste des documents. Vous devez voir un ID de document (_id) et la clé de partition (/deviceID) pour chaque document.
Sélectionnez n’importe quel document. Vous devez voir les détails du document affiché. Un document classique ressemble à ceci :
{ "_id" : ObjectId("5ce8104bf56e8a04a2d0929a"), "deviceID" : "Device 83", "temperature" : 19.65268837271849, "time" : 636943091952553500 }Dans la barre d’outils du volet Explorateur de documents, sélectionnez Nouvel interpréteur de commandes.
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 de la collection Temperatures. Il doit correspondre au nombre signalé par l’Assistant Migration.
Entrez la commande suivante, puis appuyez sur Entrée :
db.Temperatures.find({deviceID: "Device 99"})Cette commande extrait et affiche les documents de l’appareil 99.
Reconfigurer et exécuter des applications existantes pour utiliser Cosmos DB
La dernière étape consiste à reconfigurer vos applications MongoDB existantes pour se connecter à Cosmos DB et à vérifier qu’elles fonctionnent toujours. Cela vous oblige à 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 nnn mongodb, sous Paramètres, sélectionnez Chaîne de connexion.
Dans la page chaîne de connexionmongodb nnn, notez les paramètres suivants :
- Hébergeur
- Nom d’utilisateur
- Mot de passe principal
Revenez à la fenêtre Cloud Shell (reconnectez-vous si la session a expiré) et passez au dossier migration-workshop-apps/MongoDeviceDataCapture/DeviceDataQuery :
cd ~/migration-workshop-apps/MongoDeviceDataCapture/DeviceDataQueryOuvrez le fichier App.config dans l’éditeur de code :
code App.configDans la section Paramètres de MongoDB du fichier, commentez les paramètres existants.
Supprimez les marques de commentaire des paramètres de la section Paramètres de l’API Mongo Cosmos DB et définissez les valeurs de ces paramètres comme suit :
Réglage Valeur 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 Le fichier terminé doit ressembler à ceci :
<?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.csFaites défiler jusqu’à la méthode ConnectToDatabase .
Commentez la ligne qui définit les informations d’identification pour la connexion à MongoDB et décommentez les 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’a pas utilisé de connexion SSL. Cosmos DB utilise toujours SSL.
Enregistrez le fichier, puis fermez l’éditeur de code.
Regénérer et exécuter l’application :
dotnet build dotnet runÀ l’invite Entrer le numéro d’appareil, entrez un numéro d’appareil compris entre 0 et 99. L’application doit s’exécuter exactement comme avant, sauf cette fois qu’elle utilise les données contenues dans la base de données Cosmos DB.
Améliorer les performances des requêtes dans Cosmos DB
Cosmos DB vous permet d’ajouter d’autres index pour améliorer les performances 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.
Sur la 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 la définition, puis sélectionnez Champ unique pour le type.
Sélectionnez Enregistrer pour ajouter le nouvel index.
Revenez à votre cloud Shell pour réessayer votre requête et notez la réponse améliorée dans votre application.
Testez l’application avec d’autres numéros d’appareil. Entrez Q pour terminer.
Vous avez correctement migré une base de données MongoDB vers Cosmos DB et reconfiguré une application MongoDB existante pour vous connecter à 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 qui restent actives 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