Condividi tramite


Eseguire la migrazione offline di MongoDB ad Azure Cosmos DB for MongoDB vCore usando gli strumenti nativi di MongoDB

SI APPLICA A: MongoDB vCore

In questa esercitazione si usano gli strumenti nativi di MongoDB per eseguire una migrazione offline (una tantum) di un database da un'istanza locale o da un cloud di MongoDB ad Azure Cosmos DB for MongoDB vCore. Gli strumenti nativi di MongoDB sono un set di file binari che facilitano la manipolazione dei dati in un'istanza di MongoDB esistente. L'obiettivo di questo documento è eseguire la migrazione dei dati da un'istanza di MongoDB usando gli strumentimongoexport/mongoimport o mongodump/mongorestore. Poiché gli strumenti nativi si connettono a MongoDB usando le stringhe di connessione, è possibile eseguire gli strumenti ovunque. Tali strumenti possono essere la soluzione più semplice per i set di dati di piccole dimensioni in cui il tempo di migrazione totale non è un problema.

Prerequisiti

Preparazione

Prima di avviare la migrazione, assicurarsi di aver preparato l'account Azure Cosmos DB for MongoDB vCore e l'istanza esistente di MongoDB per la migrazione.

  • Istanza di MongoDB (origine)
    • Completare la valutazione di pre-migrazione per determinare se sono presenti incompatibilità e avvisi tra l'istanza di origine e l'account di destinazione.
    • Assicurarsi che gli strumenti nativi di MongoDB corrispondano alla stessa versione dell'istanza di MongoDB esistente (origine).
      • Se l'istanza di MongoDB ha una versione diversa da quella di Azure Cosmos DB for MongoDB vCore, installare entrambe le versioni degli strumenti nativi di MongoDB e usare la versione appropriata rispettivamente per MongoDB e Azure Cosmos DB for MongoDB vCore.
    • Aggiungere un utente con autorizzazioni readWrite, se non ne esiste già uno. Questa credenziale verrà usata con gli strumenti mongoexport e mongodump.
  • Azure Cosmos DB for MongoDB vCore (destinazione)

Suggerimento

È consigliabile eseguire questi strumenti nella stessa rete dell'istanza di MongoDB per evitare ulteriori problemi del firewall.

Scegliere lo strumento nativo di MongoDB appropriato

Quando si sceglie lo strumento nativo di MongoDB appropriato per la migrazione offline, è necessario tenere presenti alcune considerazioni generali.

Eseguire la migrazione

Eseguire la migrazione di una raccolta dall'istanza di MongoDB di origine all'account Azure Cosmos DB for MongoDB vCore di destinazione usando lo strumento nativo preferito. Per altre informazioni sulla scelta di uno strumento, vedere Strumenti MongoDB nativi

Suggerimento

Se si ha semplicemente un file JSON di piccole dimensioni da importare in Azure Cosmos DB for MongoDB vCore, lo strumento mongoimport rappresenta una soluzione rapida per l'inserimento dei dati.

  1. Per esportare i dati dall'istanza di MongoDB di origine, aprire un terminale e usare uno dei tre metodi elencati qui.

    • Specificare gli argomenti --host, --usernamee --password per connettersi ed esportare record JSON.

      mongoexport \
          --host <hostname><:port> \
          --username <username> \
          --password <password> \
          --db <database-name> \
          --collection <collection-name> \
          --out <filename>.json
      
    • Esportare un subset dei dati di MongoDB aggiungendo un argomento --query. Questo argomento garantisce che lo strumento esporti solo i documenti che corrispondono al filtro.

      mongoexport \
          --host <hostname><:port> \
          --username <username> \
          --password <password> \
          --db <database-name> \
          --collection <collection-name> \
          --query '{ "quantity": { "$gte": 15 } }' \
          --out <filename>.json
      
    • Esportare i dati da 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. Importare il file esportato in precedenza nell'account Azure Cosmos DB for MongoDB vCore di destinazione.

    mongoimport \
        --file <filename>.json \
        --type json \
        --db <database-name> \
        --collection <collection-name> \
        --ssl \
        --uri <target-connection-string>
    
  3. Monitorare l'output del terminale da mongoimport. Nel terminale vengono visualizzate righe di testo con gli aggiornamenti sullo stato dell'importazione.

Passaggio successivo