Migrowanie danych do usługi Azure Cosmos DB przy użyciu narzędzia do migracji danych pulpitu
DOTYCZY: NoSQL MongoDB Stół
Narzędzie do migracji danych pulpitu usługi Azure Cosmos DB to aplikacja wiersza polecenia typu open source do importowania lub eksportowania danych z usługi Azure Cosmos DB. Narzędzie może migrować dane do i z wielu źródeł i ujść, w tym między innymi:
- Azure Cosmos DB for NoSQL
- Usługa Azure Cosmos DB dla bazy danych MongoDB
- Usługa Azure Cosmos DB dla tabeli
- Azure Table Storage
- JSON
- MongoDB
- SQL Server
Ważne
W tym przewodniku przeprowadzisz migrację danych z formatu JSON do usługi Azure Cosmos DB for NoSQL.
Wymagania wstępne
- Istniejące konto usługi Azure Cosmos DB for NoSQL.
- Jeśli masz subskrypcję platformy Azure, utwórz nowe konto.
- Jeśli nie masz subskrypcji platformy Azure, przed rozpoczęciem utwórz bezpłatne konto.
- Alternatywnie możesz wypróbować usługę Azure Cosmos DB bezpłatnie przed zatwierdzeniem.
- Najnowsza wersja interfejsu wiersza polecenia platformy Azure.
- .NET 6.0 lub nowszy.
Instalowanie narzędzia do migracji danych pulpitu
Najpierw zainstaluj najnowszą wersję narzędzia do migracji danych pulpitu z repozytorium GitHub.
Uwaga
Narzędzie do migracji danych pulpitu wymaga platformy .NET 6.0 lub nowszej na komputerze lokalnym.
W przeglądarce przejdź do sekcji Wydania repozytorium: azurecosmosdb/data-migration-desktop-tool/releases.
Pobierz najnowszy skompresowany folder dla swojej platformy. Istnieją skompresowane foldery dla platform win-x64, mac-x64 i linux-x64.
Wyodrębnij pliki do lokalizacji instalacji na komputerze lokalnym.
(Opcjonalnie) Dodaj narzędzie do migracji danych pulpitu do
PATH
zmiennej środowiskowej komputera lokalnego.
Przygotowywanie celu migracji
Następnie utwórz docelową bazę danych i kontener na koncie usługi Azure Cosmos DB for NoSQL.
Otwórz nowy terminal. Jeśli jeszcze tego nie zrobiono, zaloguj się do interfejsu wiersza polecenia platformy Azure.
Utwórz nowe zmienne powłoki dla nazwy i grupy zasobów konta usługi 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>"
Utwórz nową bazę danych przy użyciu polecenia
az cosmosdb sql database create
. Nadaj nowej bazie danych nazwę i skonfiguruj bazę danychcosmicworks
z 400 RU/s współużytkowanej przepływności.az cosmosdb sql database create \ --resource-group $resourceGroupName \ --account-name $accountName \ --name cosmicworks \ --throughput 400
Użyj
az cosmosdb sql container create
polecenia , aby utworzyć nowy kontener o nazwieproducts
wcosmicworks
bazie danych. Ustaw ścieżkę klucza partycji nowego kontenera na/category
.az cosmosdb sql container create \ --resource-group $resourceGroupName \ --account-name $accountName \ --database-name cosmicworks \ --name products \ --partition-key-path "/category"
Znajdź parametry połączenia podstawową z listy kluczy dla konta za pomocą polecenia
az cosmosdb keys list
.az cosmosdb keys list \ --resource-group $resourceGroupName \ --name $accountName \ --type connection-strings
Zarejestruj wartość parametry połączenia podstawową. To poświadczenie będzie używane później podczas migrowania danych z narzędziem.
Wykonywanie operacji migracji
Teraz przeprowadź migrację danych z tablicy JSON do nowo utworzonego kontenera usługi Azure Cosmos DB for NoSQL.
Przejdź do pustego katalogu na komputerze lokalnym. W tym katalogu utwórz nowy plik o nazwie migrationsettings.json.
W pliku JSON utwórz nowy pusty obiekt JSON:
{}
Utwórz nową właściwość o nazwie
Source
z wartościąjson
. Utwórz inną nową właściwość o nazwieSourceSettings
z pustym obiektem jako wartością.{ "Source": "json", "SourceSettings": {} }
SourceSettings
W obiekcie utwórz nową właściwość o nazwieFilePath
z wartością ustawioną na ten identyfikator 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" } }
Utwórz kolejną nową właściwość o nazwie
Sink
z wartościącosmos-nosql
. Ponadto utwórz właściwość o nazwieSinkSettings
z pustym obiektem.{ "Source": "json", "SourceSettings": { "FilePath": "https://raw.githubusercontent.com/azure-samples/cosmos-db-migration-sample-data/main/nosql-data.json" }, "Sink": "cosmos-nosql", "SinkSettings": { } }
W programie
SinkSettings
utwórz właściwość o nazwieConnectionString
z parametry połączenia podstawową zarejestrowaną wcześniej w tym przewodniku jako jej wartość.{ "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>" } }
Dodaj
Database
właściwości ,Container
iPartitionKeyPath
z wartościamicosmicworks
,products
i/category
odpowiednio jako ich wartości.{ "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" } }
Zapisz plik migrationsettings.json.
Otwórz nowy terminal i przejdź do katalogu zawierającego plik migrationsettings.json .
Uruchom narzędzie do migracji danych pulpitu
dmt
przy użyciu polecenia .dmt
Uwaga
Jeśli nie dodano ścieżki instalacji do
PATH
zmiennej środowiskowej, może być konieczne określenie pełnejdmt
ścieżki do pliku wykonywalnego.Narzędzie generuje teraz źródła i ujścia używane przez migrację.
Using JSON Source Using Cosmos-nosql Sink