Remarque
L’accès à cette page nécessite une autorisation. Vous pouvez essayer de vous connecter ou de modifier des répertoires.
L’accès à cette page nécessite une autorisation. Vous pouvez essayer de modifier des répertoires.
Dans ce tutoriel, vous utilisez des outils natifs MongoDB pour effectuer une migration hors connexion (ponctuelle) d’une base de données d’une instance locale ou cloud de MongoDB vers Azure DocumentDB. Les outils natifs MongoDB sont un ensemble de fichiers binaires qui facilitent la manipulation des données sur une instance MongoDB existante. L’objectif de ce document est de migrer des données hors d’une instance MongoDB à l’aide de mongoexport/mongoimport ou mongodump/mongorestore. Étant donné que les outils natifs se connectent à MongoDB à l’aide de chaînes de connexion, vous pouvez exécuter les outils n’importe où. Les outils natifs peuvent être la solution la plus simple pour les petits jeux de données où le temps de migration total n’est pas un problème.
Prerequisites
Un abonnement Azure
- Si vous n’avez pas d’abonnement Azure, créez un compte gratuit
Un cluster Azure DocumentDB existant
- Si vous n’avez pas de cluster, créez un cluster
- Outils natifs MongoDB installés sur votre ordinateur.
Préparation
Avant de commencer la migration, vérifiez que vous avez préparé votre compte Azure DocumentDB et votre instance MongoDB existante pour la migration.
- Instance MongoDB (source)
- Effectuez l’évaluation de prémigration pour déterminer s’il existe une liste d’incompatibilités et d’avertissements entre votre instance source et votre compte cible.
- Vérifiez que vos outils natifs MongoDB correspondent à la même version que l’instance MongoDB existante (source).
- Si votre instance MongoDB a une version différente d’Azure DocumentDB, installez les deux versions d’outils natives MongoDB et utilisez respectivement la version d’outil appropriée pour MongoDB et Azure DocumentDB.
- Ajoutez un utilisateur disposant
readWrited’autorisations, sauf s’il en existe déjà un. Vous utilisez finalement ces informations d’identification avec les outils mongoexport et mongodump .
- Azure DocumentDB (objectif)
- Rassemblez les informations d’identification du compte Azure DocumentDB.
- Configurer les paramètres du pare-feu sur Azure DocumentDB.
Conseil / Astuce
Nous vous recommandons d’exécuter ces outils dans le même réseau que l’instance MongoDB pour éviter d’autres problèmes de pare-feu.
Choisir l’outil natif MongoDB approprié
Il existe quelques considérations générales lors du choix de l’outil natif MongoDB approprié pour votre migration hors connexion.
Effectuer la migration
Migrez une collection de l’instance MongoDB source vers le compte Azure DocumentDB cible à l’aide de votre outil natif préféré. Pour plus d’informations sur la sélection d’un outil, consultez les options de migration.
Conseil / Astuce
Si vous avez simplement un petit fichier JSON que vous souhaitez importer dans Azure DocumentDB, l’outil mongoimport est une solution rapide pour l’ingestion des données.
Pour exporter les données à partir de l’instance MongoDB source, ouvrez un terminal et utilisez l’une des trois méthodes répertoriées ici.
Spécifiez les arguments
--host,--usernameet--passwordpour se connecter aux enregistrements JSON et les exporter.mongoexport \ --host <hostname><:port> \ --username <username> \ --password <password> \ --db <database-name> \ --collection <collection-name> \ --out <filename>.jsonExportez un sous-ensemble des données MongoDB en ajoutant un
--queryargument. Cet argument garantit que l’outil exporte uniquement les documents qui correspondent au filtre.mongoexport \ --host <hostname><:port> \ --username <username> \ --password <password> \ --db <database-name> \ --collection <collection-name> \ --query '{ "quantity": { "$gte": 15 } }' \ --out <filename>.jsonExporter des données à partir d’Azure DocumentDB.
mongoexport \ --uri <target-connection-string> --db <database-name> \ --collection <collection-name> \ --query '{ "quantity": { "$gte": 15 } }' \ --out <filename>.json
Importez le fichier précédemment exporté dans le compte Azure DocumentDB cible.
mongoimport \ --file <filename>.json \ --type json \ --db <database-name> \ --collection <collection-name> \ --ssl \ --uri <target-connection-string>Surveillez la sortie du terminal à partir de mongoimport. La sortie imprime des lignes de texte dans le terminal avec des mises à jour sur l’état de l’opération d’importation.