Partager via


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

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)

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.

  1. 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 --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
      
  2. 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>
    
  3. 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.

Étape suivante