Migrera data till Azure Cosmos DB med hjälp av migreringsverktyget för skrivbordsdata
GÄLLER FÖR: NoSQL MongoDB Bord
Datamigreringsverktyget för Azure Cosmos DB är ett kommandoradsprogram med öppen källkod för att importera eller exportera data från Azure Cosmos DB. Verktyget kan migrera data till och från många källor och mottagare, inklusive, men inte begränsat till:
- Azure Cosmos DB för NoSQL
- Azure Cosmos DB för MongoDB
- Azure Cosmos DB för tabell
- Azure Table Storage
- JSON
- MongoDB
- SQL Server
Viktigt!
I den här guiden utför du en datamigrering från JSON till Azure Cosmos DB för NoSQL.
Förutsättningar
- Ett befintligt Azure Cosmos DB för NoSQL-konto.
- Om du har en Azure-prenumeration skapar du ett nytt konto.
- Om du inte har någon Azure-prenumeration skapar du ett kostnadsfritt konto innan du börjar.
- Du kan också prova Azure Cosmos DB kostnadsfritt innan du checkar in.
- Senaste versionen av Azure CLI.
- .NET 6.0 eller senare.
Installera migreringsverktyget för skrivbordsdata
Installera först den senaste versionen av migreringsverktyget för skrivbordsdata från GitHub-lagringsplatsen.
Kommentar
Skrivbordsdatamigreringsverktyget kräver .NET 6.0 eller senare på den lokala datorn.
I webbläsaren går du till avsnittet Versioner på lagringsplatsen: azurecosmosdb/data-migration-desktop-tool/releases.
Ladda ned den senaste komprimerade mappen för din plattform. Det finns komprimerade mappar för plattformarna win-x64, mac-x64 och linux-x64.
Extrahera filerna till en installationsplats på den lokala datorn.
(Valfritt) Lägg till migreringsverktyget för skrivbordsdata i
PATH
miljövariabeln för den lokala datorn.
Förbereda migreringsmålet
Skapa sedan en måldatabas och container på Azure Cosmos DB för NoSQL-kontot.
Öppna en ny terminal. Om du inte redan har gjort det loggar du in på Azure CLI.
Skapa nya gränssnittsvariabler för Azure Cosmos DB-kontots namn och resursgrupp.
# Variable for Azure Cosmos DB account name accountName="<name-of-existing-account>" # Variable for resource group name resourceGroupName="<name-of-existing-resource-group>"
Skapa en ny databas med .
az cosmosdb sql database create
Namnge den nya databasencosmicworks
och konfigurera databasen med 400 RU/s delat dataflöde.az cosmosdb sql database create \ --resource-group $resourceGroupName \ --account-name $accountName \ --name cosmicworks \ --throughput 400
Använd
az cosmosdb sql container create
för att skapa en ny container med namnetproducts
icosmicworks
databasen. Ange partitionsnyckelsökvägen för den nya containern till/category
.az cosmosdb sql container create \ --resource-group $resourceGroupName \ --account-name $accountName \ --database-name cosmicworks \ --name products \ --partition-key-path "/category"
Hitta den primära anslutningssträng från listan med nycklar för kontot med
az cosmosdb keys list
.az cosmosdb keys list \ --resource-group $resourceGroupName \ --name $accountName \ --type connection-strings
Registrera det primära anslutningssträng värdet. Du använder den här autentiseringsuppgiften senare när du migrerar data med verktyget.
Utföra en migreringsåtgärd
Migrera nu data från en JSON-matris till den nyligen skapade Azure Cosmos DB for NoSQL-containern.
Navigera till en tom katalog på den lokala datorn. Skapa en ny fil med namnet migrationsettings.json i katalogen.
Skapa ett nytt tomt JSON-objekt i JSON-filen:
{}
Skapa en ny egenskap med namnet
Source
med värdetjson
. Skapa en annan ny egenskap med namnetSourceSettings
med ett tomt objekt som värde.{ "Source": "json", "SourceSettings": {} }
SourceSettings
I objektet skapar du en ny egenskap med namnetFilePath
med värdet inställt på den här URI:n: https://raw.githubusercontent.com/azure-samples/cosmos-db-migration-sample-data/main/nosql-data.json.{ "Source": "json", "SourceSettings": { "FilePath": "https://raw.githubusercontent.com/azure-samples/cosmos-db-migration-sample-data/main/nosql-data.json" } }
Skapa en annan ny egenskap med namnet
Sink
med värdetcosmos-nosql
. Skapa också en egenskap med namnetSinkSettings
med ett tomt objekt.{ "Source": "json", "SourceSettings": { "FilePath": "https://raw.githubusercontent.com/azure-samples/cosmos-db-migration-sample-data/main/nosql-data.json" }, "Sink": "cosmos-nosql", "SinkSettings": { } }
I
SinkSettings
skapar du en egenskap med namnetConnectionString
med den primära anslutningssträng som du registrerade tidigare i den här guiden som dess värde.{ "Source": "json", "SourceSettings": { "FilePath": "https://raw.githubusercontent.com/azure-samples/cosmos-db-migration-sample-data/main/nosql-data.json" }, "Sink": "cosmos-nosql", "SinkSettings": { "ConnectionString": "<connection-string-for-existing-account>" } }
Lägg till
Database
,Container
ochPartitionKeyPath
egenskaper medcosmicworks
,products
och/category
som deras värden.{ "Source": "json", "SourceSettings": { "FilePath": "https://raw.githubusercontent.com/azure-samples/cosmos-db-migration-sample-data/main/nosql-data.json" }, "Sink": "cosmos-nosql", "SinkSettings": { "ConnectionString": "<connection-string-for-existing-account>", "Database": "cosmicworks", "Container": "products", "PartitionKeyPath": "/category" } }
Spara filen migrationsettings.json .
Öppna en ny terminal och gå till katalogen som innehåller din migrationsettings.json-fil .
Kör migreringsverktyget för skrivbordsdata med kommandot
dmt
.dmt
Kommentar
Om du inte har lagt till installationssökvägen i
PATH
miljövariabeln kan du behöva ange den fullständiga sökvägen till dendmt
körbara filen.Verktyget matar nu ut de källor och mottagare som används av migreringen.
Using JSON Source Using Cosmos-nosql Sink