Partager via


Migrer MongoDB vers Azure DocumentDB hors connexion à l’aide d’outils natifs MongoDB

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

  • Un cluster Azure DocumentDB existant

    • Si vous n’avez pas de cluster, créez un cluster

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 readWrite d’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)

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.

  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, --username et --password pour se 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 des données MongoDB en ajoutant un --query argument. 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
      
    • Exporter 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
      
  2. 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>
    
  3. 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.

Étape suivante