Migrer MongoDB vers Azure Cosmos DB for MongoDB vCore hors connexion à l’aide des outils natifs MongoDB
S’APPLIQUE À : MongoDB vCore
Dans ce tutoriel, vous utilisez les outils natifs MongoDB pour effectuer une migration hors connexion (unique) d’une base de données depuis une instance locale ou cloud de MongoDB vers Azure Cosmos DB for MongoDB vCore. Les outils natifs MongoDB sont un ensemble de fichiers binaires qui facilitent la manipulation de données sur une instance MongoDB existante. Le sujet de ce document est de migrer des données à partir d’une instance MongoDB à l’aide de mongoexport/mongoimport ou de mongodump/mongorestore. Les outils natifs se connectant à MongoDB à l’aide de chaînes de connexion, vous pouvez les exécuter n’importe où. Les outils natifs peuvent être la solution la plus simple pour les petits jeux de données, quand le temps de migration total n’est pas un problème.
Prérequis
- Un cluster vCore Azure Cosmos DB for MongoDB existant.
- Si vous n’avez pas d’abonnement Azure, créez un compte gratuitement.
- Si vous disposez d’un abonnement Azure, créez un cluster Azure Cosmos DB for MongoDB vCore.
- Outils natifs MongoDB installés sur votre ordinateur.
Préparation
Avant de commencer la migration, assurez-vous d’avoir préparé votre compte Azure Cosmos DB for MongoDB vCore et votre instance MongoDB existante devant être migrée.
- 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.
- Assurez-vous que vos outils natifs MongoDB correspondent à la même version que l’instance MongoDB existante (source).
- Si votre instance MongoDB exécute une version différente d’Azure Cosmos DB for MongoDB vCore, installez les deux versions des outils natifs MongoDB et utilisez la version d’outil appropriée pour MongoDB et Azure Cosmos DB for MongoDB vCore, respectivement.
- Ajoutez un utilisateur disposant d’autorisations
readWrite
, sauf s’il en existe déjà un. Enfin, utilisez ces informations d’identification avec les outils mongoexport et mongodump.
- Azure Cosmos DB for MongoDB vCore (cible)
- Rassemblez les informations d’identification du compte Azure Cosmos DB for MongoDB vCore.
- Configurez les paramètres de pare-feu sur Azure Cosmos DB for MongoDB vCore.
Conseil
Nous vous recommandons d’exécuter ces outils au sein du même réseau que l’instance MongoDB pour éviter d’autres problèmes de pare-feu.
Choisir l’outil natif MongoDB approprié
Certaines considérations générales sont à prendre en compte lors du choix de l’outil natif MongoDB approprié pour votre migration hors connexion.
Effectuer la migration
Migrer une collection de l’instance MongoDB source vers le compte Azure Cosmos DB for MongoDB vCore cible à l’aide de votre outil natif préféré. Pour plus d’informations sur la sélection d’un outil, consultez Outils natifs MongoDB
Conseil
Si vous avez uniquement un petit fichier JSON à importer dans Azure Cosmos DB for MongoDB vCore, l’outil mongoimport est une solution rapide d’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
,--username
et--password
pour vous connecter aux enregistrements JSON et les exporter.mongoexport \ --host <hostname><:port> \ --username <username> \ --password <password> \ --db <database-name> \ --collection <collection-name> \ --out <filename>.json
Exportez un sous-ensemble de données MongoDB en ajoutant un argument
--query
. 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>.json
Exportez des données depuis Azure Cosmos DB for MongoDB vCore.
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 Cosmos DB for MongoDB vCore cible.
mongoimport \ --file <filename>.json \ --type json \ --db <database-name> \ --collection <collection-name> \ --ssl \ --uri <target-connection-string>
Surveillez la sortie de terminal à partir de mongoimport. La sortie imprime des lignes de texte sur le terminal avec des mises à jour sur l’état de l’opération d’importation.