Adatok migrálása az Azure Cosmos DB-be az asztali adatmigrálási eszközzel
A KÖVETKEZŐKRE VONATKOZIK: NoSQL
MongoDB
Asztal
Az Azure Cosmos DB asztali adatmigrálási eszköze egy nyílt forráskódú parancssori alkalmazás, amely adatokat importál vagy exportál az Azure Cosmos DB-ből. Az eszköz számos forrásba és fogadóba migrálhatja az adatokat, többek között a következőkre:
- Azure Cosmos DB for NoSQL
- Azure Cosmos DB a MongoDB-hez
- Azure Cosmos DB for Table
- Azure Table Storage
- JSON
- MongoDB
- SQL Server
Fontos
Ebben az útmutatóban adatmigrálást fog végrehajtani JSON-ról az Azure Cosmos DB for NoSQL-be.
Előfeltételek
- Egy meglévő Azure Cosmos DB for NoSQL-fiók.
- Ha Rendelkezik Azure-előfizetéssel, hozzon létre egy új fiókot.
- Ha még nincs Azure-előfizetése, kezdés előtt hozzon létre egy ingyenes fiókot.
- Másik lehetőségként a véglegesítés előtt ingyenesen kipróbálhatja az Azure Cosmos DB-t.
- Az Azure CLI legújabb verziója.
- .NET 6.0 vagy újabb.
Az asztali adatmigrálási eszköz telepítése
Először telepítse az asztali adatmigrálási eszköz legújabb verzióját a GitHub-adattárból.
Feljegyzés
Az asztali adatmigrálási eszközhöz a helyi gépen a .NET 6.0-s vagy újabb verziója szükséges.
A böngészőben keresse meg az adattár Kiadások szakaszát: azurecosmosdb/data-migration-desktop-tool/releases.
Töltse le a platform legújabb tömörített mappáját. Vannak tömörített mappák a win-x64, mac-x64 és linux-x64 platformokhoz.
Bontsa ki a fájlokat egy telepítési helyre a helyi gépen.
(Nem kötelező) Adja hozzá az asztali adatmigrálási eszközt a
PATH
helyi gép környezeti változójához.
A migrálási cél előkészítése
Ezután hozzon létre egy céladatbázist és -tárolót az Azure Cosmos DB for NoSQL-fiókban.
Nyisson meg egy új terminált. Ha még nem tette meg, jelentkezzen be az Azure CLI-be.
Hozzon létre új rendszerhéjváltozókat az Azure Cosmos DB-fiók nevének és erőforráscsoportjának.
# Variable for Azure Cosmos DB account name accountName="<name-of-existing-account>" # Variable for resource group name resourceGroupName="<name-of-existing-resource-group>"
Hozzon létre egy új adatbázist a következő használatával
az cosmosdb sql database create
: . Nevezze el az új adatbázistcosmicworks
, és konfigurálja az adatbázist 400 RU/s megosztott átviteli sebességgel.az cosmosdb sql database create \ --resource-group $resourceGroupName \ --account-name $accountName \ --name cosmicworks \ --throughput 400
Az adatbázison belül
cosmicworks
egy új tároló létrehozásáhozproducts
használhatóaz cosmosdb sql container create
. Állítsa be az új tároló partíciókulcs-elérési útját a következőre/category
: .az cosmosdb sql container create \ --resource-group $resourceGroupName \ --account-name $accountName \ --database-name cosmicworks \ --name products \ --partition-key-path "/category"
Keresse meg az elsődleges kapcsolati sztring a fiók
az cosmosdb keys list
kulcsainak listájából.az cosmosdb keys list \ --resource-group $resourceGroupName \ --name $accountName \ --type connection-strings
Rögzítse az elsődleges kapcsolati sztring értéket. Ezt a hitelesítő adatot később fogja használni, amikor adatokat migrál az eszközzel.
Migrálási művelet végrehajtása
Most migrálja az adatokat egy JSON-tömbből az újonnan létrehozott Azure Cosmos DB for NoSQL-tárolóba.
Lépjen egy üres könyvtárra a helyi gépen. Ebben a könyvtárban hozzon létre egy migrationsettings.json nevű új fájlt.
A JSON-fájlban hozzon létre egy új üres JSON-objektumot:
{}
Hozzon létre egy új, az értékkel elnevezett
Source
tulajdonságotjson
. Hozzon létre egy másik, üres objektummal elnevezettSourceSettings
tulajdonságot értékként.{ "Source": "json", "SourceSettings": {} }
Az objektumon
SourceSettings
belül hozzon létre egy új, az URI-ra beállított értékkel ellátottFilePath
tulajdonságot: 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" } }
Hozzon létre egy másik, az értékkel
cosmos-nosql
elnevezettSink
tulajdonságot. Emellett hozzon létre egy üres objektummal elnevezettSinkSettings
tulajdonságot is.{ "Source": "json", "SourceSettings": { "FilePath": "https://raw.githubusercontent.com/azure-samples/cosmos-db-migration-sample-data/main/nosql-data.json" }, "Sink": "cosmos-nosql", "SinkSettings": { } }
Ezen belül
SinkSettings
hozzon létre egy tulajdonságotConnectionString
, amelynek az elsődleges kapcsolati sztring, amelyet korábban az útmutatóban rögzített annak értékeként.{ "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>" } }
Adjon hozzá
Database
,Container
ésPartitionKeyPath
tulajdonságokatcosmicworks
a ,products
és/category
azok értékeihez.{ "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" } }
Mentse a migrationsettings.json fájlt.
Nyisson meg egy új terminált, és keresse meg a migrationsettings.json fájlt tartalmazó könyvtárat.
Futtassa az asztali adatmigrálási eszközt a
dmt
paranccsal.dmt
Feljegyzés
Ha nem adta hozzá a telepítési útvonalat a
PATH
környezeti változóhoz, előfordulhat, hogy meg kell adnia admt
végrehajtható fájl teljes elérési útját.Az eszköz most a migrálás által használt forrásokat és fogadókat adja ki.
Using JSON Source Using Cosmos-nosql Sink