Migrera MongoDB till Azure Cosmos DB för MongoDB vCore offline med hjälp av inbyggda MongoDB-verktyg
GÄLLER FÖR: MongoDB vCore
I den här självstudien använder du inbyggda MongoDB-verktyg för att utföra en offlinemigrering (engångsmigrering) av en databas från en lokal eller molninstans av MongoDB till Azure Cosmos DB för MongoDB vCore. De inbyggda MongoDB-verktygen är en uppsättning binärfiler som underlättar datamanipulering på en befintlig MongoDB-instans. Fokus för det här dokumentet är att migrera data från en MongoDB-instans med mongoexport /mongoimport eller mongodump/mongorestore. Eftersom de inbyggda verktygen ansluter till MongoDB med hjälp av anslutningssträng kan du köra verktygen var som helst. De inbyggda verktygen kan vara den enklaste lösningen för små datauppsättningar där total migreringstid inte är något problem.
Förutsättningar
- Ett befintligt Azure Cosmos DB för MongoDB vCore-kluster.
- Om du inte har en Azure-prenumeration skapar du ett konto kostnadsfritt.
- Om du har en befintlig Azure-prenumeration skapar du ett nytt Azure Cosmos DB för MongoDB vCore-kluster.
- Inbyggda MongoDB-verktyg installerade på datorn.
Förbereda
Innan du påbörjar migreringen kontrollerar du att du har förberett ditt Azure Cosmos DB för MongoDB vCore-kontot och din befintliga MongoDB-instans för migrering.
- MongoDB-instans (källa)
- Slutför utvärderingen före utvandringen för att avgöra om det finns en lista över inkompatibiliteter och varningar mellan källinstansen och målkontot.
- Kontrollera att dina inbyggda MongoDB-verktyg matchar samma version som den befintliga (källan) MongoDB-instansen.
- Om din MongoDB-instans har en annan version än Azure Cosmos DB för MongoDB vCore installerar du båda mongoDB-verktygsversionerna och använder lämplig verktygsversion för MongoDB respektive Azure Cosmos DB för MongoDB vCore.
- Lägg till en användare med
readWrite
behörigheter, såvida det inte redan finns någon. Du använder så småningom den här autentiseringsuppgiften med mongoexport- och mongodump-verktygen.
- Azure Cosmos DB for MongoDB vCore (mål)
- Samla in autentiseringsuppgifterna för Azure Cosmos DB för MongoDB vCore-kontot.
- Konfigurera brandväggsinställningar i Azure Cosmos DB för virtuella MongoDB-kärnor.
Dricks
Vi rekommenderar att du kör dessa verktyg i samma nätverk som MongoDB-instansen för att undvika ytterligare brandväggsproblem.
Välj rätt ursprungligt MongoDB-verktyg
Det finns vissa överväganden på hög nivå när du väljer rätt mongoDB-inbyggda verktyg för offlinemigreringen.
Utföra migreringen
Migrera en samling från MongoDB-källinstansen till målets Azure Cosmos DB for MongoDB vCore-konto med ditt önskade interna verktyg. Mer information om hur du väljer ett verktyg finns i interna MongoDB-verktyg
Dricks
Om du bara har en liten JSON-fil som du vill importera till Azure Cosmos DB för MongoDB vCore är mongoimport-verktyget en snabb lösning för att mata in data.
Om du vill exportera data från MongoDB-källinstansen öppnar du en terminal och använder någon av tre metoder som anges här.
Ange argumenten
--host
,--username
och--password
för att ansluta till och exportera JSON-poster.mongoexport \ --host <hostname><:port> \ --username <username> \ --password <password> \ --db <database-name> \ --collection <collection-name> \ --out <filename>.json
Exportera en delmängd av MongoDB-data genom att lägga till ett
--query
argument. Det här argumentet säkerställer att verktyget endast exporterar dokument som matchar filtret.mongoexport \ --host <hostname><:port> \ --username <username> \ --password <password> \ --db <database-name> \ --collection <collection-name> \ --query '{ "quantity": { "$gte": 15 } }' \ --out <filename>.json
Exportera data från Azure Cosmos DB för MongoDB vCore.
mongoexport \ --uri <target-connection-string> --db <database-name> \ --collection <collection-name> \ --query '{ "quantity": { "$gte": 15 } }' \ --out <filename>.json
Importera den tidigare exporterade filen till målets Azure Cosmos DB för MongoDB vCore-kontot.
mongoimport \ --file <filename>.json \ --type json \ --db <database-name> \ --collection <collection-name> \ --ssl \ --uri <target-connection-string>
Övervaka terminalutdata från mongoimport. Utdata skriver ut textrader till terminalen med uppdateringar om importåtgärdens status.