Condividi tramite


Eseguire la migrazione offline di MongoDB ad Azure DocumentDB con gli strumenti nativi di MongoDB

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 cloud di MongoDB ad Azure DocumentDB. 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 è la migrazione dei dati da un'istanza di MongoDB usando mongoexport/mongoimport o mongodump/mongorestore. Poiché gli strumenti nativi si connettono a MongoDB usando le stringhe di connessione, è possibile eseguire gli strumenti ovunque. Gli strumenti nativi 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

  • Una sottoscrizione di Azure

  • Un cluster Di Azure DocumentDB esistente

Prepare

Prima di avviare la migrazione, assicurarsi di aver preparato l'account Azure DocumentDB e l'istanza di MongoDB esistente 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 mongoDB esistente (di origine).
      • Se l'istanza di MongoDB ha una versione diversa da Azure DocumentDB, installare entrambe le versioni dello strumento nativo mongoDB e usare rispettivamente la versione dello strumento appropriata per MongoDB e Azure DocumentDB.
    • Aggiungere un utente con readWrite autorizzazioni, a meno che non ne esista già uno. Questa credenziale verrà usata con gli strumenti mongoexport e mongodump .
  • Azure DocumentDB (destinazione)

Suggerimento

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

Scegliere lo strumento nativo MongoDB appropriato

Quando si sceglie lo strumento nativo 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 DocumentDB di destinazione usando lo strumento nativo preferito. Per altre informazioni sulla selezione di uno strumento, vedere Opzioni di migrazione.

Suggerimento

Se si ha semplicemente un piccolo file JSON da importare in Azure DocumentDB, lo strumento mongoimport è 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 --hostargomenti , --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
      
    • Esporta un subset dei dati di MongoDB aggiungendo un argomento --query. Questo argomento garantisce che lo strumento esporta 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 dati da Azure DocumentDB.

      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 DocumentDB 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. L'output stampa righe di testo nel terminale con aggiornamenti sullo stato dell'operazione di importazione.

Passo successivo