Migrace dat do služby Azure Cosmos DB pomocí nástroje pro migraci desktopových dat
PLATÍ PRO: NoSQL MongoDB Stůl
Nástroj pro migraci desktopových dat služby Azure Cosmos DB je opensourcová aplikace příkazového řádku pro import nebo export dat ze služby Azure Cosmos DB. Nástroj může migrovat data do a z mnoha zdrojů a jímek, včetně, ale nikoli pouze na:
- Azure Cosmos DB for NoSQL
- Azure Cosmos DB pro MongoDB
- Azure Cosmos DB pro tabulku
- Azure Table Storage
- JSON
- MongoDB
- SQL Server
Důležité
V tomto průvodci provedete migraci dat z JSON do Azure Cosmos DB for NoSQL.
Požadavky
- Existující účet Azure Cosmos DB for NoSQL.
- Pokud máte předplatné Azure, vytvořte nový účet.
- Pokud ještě nemáte předplatné Azure, vytvořte si napřed bezplatný účet.
- Alternativně můžete před potvrzením vyzkoušet službu Azure Cosmos DB zdarma .
- Nejnovější verze Azure CLI
- .NET 6.0 nebo novější.
Instalace nástroje pro migraci desktopových dat
Nejprve nainstalujte nejnovější verzi nástroje pro migraci desktopových dat z úložiště GitHub.
Poznámka:
Nástroj pro migraci desktopových dat vyžaduje na místním počítači rozhraní .NET 6.0 nebo novější.
V prohlížeči přejděte do části Vydané verze úložiště: azurecosmosdb/data-migration-desktop-tool/release.
Stáhněte si nejnovější komprimovanou složku pro vaši platformu. Pro platformy win-x64, mac-x64 a linux-x64 existují komprimované složky.
Extrahujte soubory do umístění instalace na místním počítači.
(Volitelné) Přidejte nástroj pro migraci desktopových dat do
PATH
proměnné prostředí místního počítače.
Příprava cíle migrace
Dále vytvořte cílovou databázi a kontejner v účtu Azure Cosmos DB for NoSQL.
Otevřete nový terminál. Pokud jste to ještě neudělali, přihlaste se k Azure CLI.
Vytvořte nové proměnné prostředí pro název a skupinu prostředků účtu služby Azure Cosmos DB.
# Variable for Azure Cosmos DB account name accountName="<name-of-existing-account>" # Variable for resource group name resourceGroupName="<name-of-existing-resource-group>"
Vytvořte novou databázi pomocí
az cosmosdb sql database create
příkazu . Pojmenujte novou databázicosmicworks
a nakonfigurujte databázi se 400 RU/s sdílené propustnosti.az cosmosdb sql database create \ --resource-group $resourceGroupName \ --account-name $accountName \ --name cosmicworks \ --throughput 400
Slouží
az cosmosdb sql container create
k vytvoření nového kontejneru pojmenovanéhoproducts
cosmicworks
v databázi. Nastavte cestu klíče oddílu nového kontejneru na/category
.az cosmosdb sql container create \ --resource-group $resourceGroupName \ --account-name $accountName \ --database-name cosmicworks \ --name products \ --partition-key-path "/category"
Najděte primární připojovací řetězec ze seznamu klíčů pro účet s
az cosmosdb keys list
.az cosmosdb keys list \ --resource-group $resourceGroupName \ --name $accountName \ --type connection-strings
Zaznamenejte primární připojovací řetězec hodnotu. Tyto přihlašovací údaje použijete později při migraci dat pomocí nástroje.
Provedení operace migrace
Teď migrujte data z pole JSON do nově vytvořeného kontejneru Azure Cosmos DB for NoSQL.
Přejděte do prázdného adresáře na místním počítači. V rámci daného adresáře vytvořte nový soubor s názvem migrationsettings.json.
V souboru JSON vytvořte nový prázdný objekt JSON:
{}
Vytvořte novou vlastnost s názvem
Source
hodnotajson
. Vytvořte další novou vlastnost s prázdnýmSourceSettings
objektem jako hodnotou.{ "Source": "json", "SourceSettings": {} }
V rámci
SourceSettings
objektu vytvořte novou vlastnost sFilePath
hodnotou nastavenou na tento identifikátor 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" } }
Vytvořte další novou vlastnost s názvem
Sink
hodnotacosmos-nosql
. Vytvořte také vlastnost s názvemSinkSettings
s prázdným objektem.{ "Source": "json", "SourceSettings": { "FilePath": "https://raw.githubusercontent.com/azure-samples/cosmos-db-migration-sample-data/main/nosql-data.json" }, "Sink": "cosmos-nosql", "SinkSettings": { } }
V tomto
SinkSettings
průvodci vytvořte vlastnost s názvemConnectionString
primární připojovací řetězec, kterou jste si poznamenali dříve v tomto průvodci jako její hodnotu.{ "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>" } }
Přidejte
Database
,Container
aPartitionKeyPath
vlastnosti scosmicworks
,products
a/category
jako jejich hodnoty v uvedeném pořadí.{ "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" } }
Uložte soubor migrationsettings.json.
Otevřete nový terminál a přejděte do adresáře, který obsahuje váš soubor migrationsettings.json .
Pomocí příkazu spusťte nástroj pro
dmt
migraci desktopových dat.dmt
Poznámka:
Pokud jste do proměnné prostředí nepřidali instalační cestu
PATH
, možná budete muset zadat úplnou cestu ke spustitelnémudmt
souboru.Nástroj teď vypíše zdroje a jímky používané migrací.
Using JSON Source Using Cosmos-nosql Sink