Gegevens migreren naar Azure Cosmos DB met behulp van het hulpprogramma voor migratie van bureaubladgegevens
VAN TOEPASSING OP: NoSQL MongoDB Tafel
Het hulpprogramma voor gegevensmigratie van Azure Cosmos DB is een opensource-opdrachtregeltoepassing voor het importeren of exporteren van gegevens uit Azure Cosmos DB. Het hulpprogramma kan gegevens migreren naar en van veel bronnen en sinks, waaronder, maar niet beperkt tot:
- Azure Cosmos DB voor NoSQL
- Azure Cosmos DB voor MongoDB
- Azure Cosmos DB voor tabel
- Azure Table Storage
- JSON
- MongoDB
- SQL Server
Belangrijk
Voor deze handleiding voert u een gegevensmigratie uit van JSON naar Azure Cosmos DB for NoSQL.
Vereisten
- Een bestaand Azure Cosmos DB for NoSQL-account.
- Als u een Azure-abonnement hebt, maakt u een nieuw account.
- Als u geen Azure-abonnement hebt, maakt u een gratis account voordat u begint.
- U kunt azure Cosmos DB ook gratis proberen voordat u zich doorvoert.
- Nieuwste versie van Azure CLI.
- .NET 6.0 of hoger.
Het hulpprogramma voor migratie van bureaubladgegevens installeren
Installeer eerst de nieuwste versie van het hulpprogramma voor migratie van bureaubladgegevens vanuit de GitHub-opslagplaats.
Notitie
Voor het hulpprogramma voor migratie van bureaubladgegevens is .NET 6.0 of hoger op uw lokale computer vereist.
Navigeer in uw browser naar de sectie Releases van de opslagplaats: azurecosmosdb/data-migration-desktop-tool/releases.
Download de meest recente gecomprimeerde map voor uw platform. Er zijn gecomprimeerde mappen voor de win-x64-, mac-x64- en linux-x64-platforms .
Pak de bestanden uit op een installatielocatie op uw lokale computer.
(Optioneel) Voeg het hulpprogramma voor bureaubladgegevensmigratie toe aan de
PATH
omgevingsvariabele van uw lokale computer.
Uw migratiedoel voorbereiden
Maak vervolgens een doeldatabase en -container in het Azure Cosmos DB for NoSQL-account.
Open een nieuwe terminal. Als u dat nog niet hebt gedaan, meldt u zich aan bij de Azure CLI.
Maak nieuwe shellvariabelen voor de naam en resourcegroep van het Azure Cosmos DB-account.
# Variable for Azure Cosmos DB account name accountName="<name-of-existing-account>" # Variable for resource group name resourceGroupName="<name-of-existing-resource-group>"
Maak een nieuwe database met behulp van
az cosmosdb sql database create
. Geef de nieuwe databasecosmicworks
een naam en configureer de database met 400 RU/s van gedeelde doorvoer.az cosmosdb sql database create \ --resource-group $resourceGroupName \ --account-name $accountName \ --name cosmicworks \ --throughput 400
Hiermee
az cosmosdb sql container create
maakt u een nieuwe container met de naamproducts
in decosmicworks
database. Stel het partitiesleutelpad van de nieuwe container in op/category
.az cosmosdb sql container create \ --resource-group $resourceGroupName \ --account-name $accountName \ --database-name cosmicworks \ --name products \ --partition-key-path "/category"
Zoek de primaire verbindingsreeks uit de lijst met sleutels voor het account met
az cosmosdb keys list
.az cosmosdb keys list \ --resource-group $resourceGroupName \ --name $accountName \ --type connection-strings
Noteer de primaire verbindingsreeks waarde. U gebruikt deze referentie later bij het migreren van gegevens met het hulpprogramma.
Een migratiebewerking uitvoeren
Migreer nu gegevens van een JSON-matrix naar de zojuist gemaakte Azure Cosmos DB for NoSQL-container.
Navigeer naar een lege map op uw lokale computer. Maak in die map een nieuw bestand met de naam migrationsettings.json.
Maak in het JSON-bestand een nieuw leeg JSON-object:
{}
Maak een nieuwe eigenschap met de naam
Source
met de waardejson
. Maak nog een nieuwe eigenschap met de naamSourceSettings
met een leeg object als waarde.{ "Source": "json", "SourceSettings": {} }
Maak in het
SourceSettings
object een nieuwe eigenschap met de naamFilePath
met de waarde die is ingesteld op deze URI: 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" } }
Maak nog een nieuwe eigenschap met de naam
Sink
met de waardecosmos-nosql
. Maak ook een eigenschap met de naamSinkSettings
met een leeg object.{ "Source": "json", "SourceSettings": { "FilePath": "https://raw.githubusercontent.com/azure-samples/cosmos-db-migration-sample-data/main/nosql-data.json" }, "Sink": "cosmos-nosql", "SinkSettings": { } }
SinkSettings
Maak binnen een eigenschap metConnectionString
de primaire verbindingsreeks die u eerder in deze handleiding hebt vastgelegd als waarde.{ "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>" } }
Voeg
Database
respectievelijk ,Container
enPartitionKeyPath
eigenschappen toe metcosmicworks
,products
en/category
als hun waarden.{ "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" } }
Sla het migrationsettings.json bestand op.
Open een nieuwe terminal en navigeer naar de map met uw migrationsettings.json-bestand .
Voer het hulpprogramma voor migratie van bureaubladgegevens uit met behulp van de
dmt
opdracht.dmt
Notitie
Als u het installatiepad niet hebt toegevoegd aan uw
PATH
omgevingsvariabele, moet u mogelijk het volledige pad naar hetdmt
uitvoerbare bestand opgeven.Het hulpprogramma voert nu de bronnen en sinks uit die door de migratie worden gebruikt.
Using JSON Source Using Cosmos-nosql Sink