Migrowanie danych do usługi Azure Cosmos DB przy użyciu narzędzia do migracji danych pulpitu

DOTYCZY: Nosql Mongodb Tabeli

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

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.

  1. W przeglądarce przejdź do sekcji Wydania repozytorium: azurecosmosdb/data-migration-desktop-tool/releases.

  2. Pobierz najnowszy skompresowany folder dla swojej platformy. Istnieją skompresowane foldery dla platform win-x64, mac-x64 i linux-x64.

  3. Wyodrębnij pliki do lokalizacji instalacji na komputerze lokalnym.

  4. (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.

  1. Otwórz nowy terminal. Jeśli jeszcze tego nie zrobiono, zaloguj się do interfejsu wiersza polecenia platformy Azure.

  2. 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>"
    
  3. Utwórz nową bazę danych przy użyciu polecenia az cosmosdb sql database create. Nadaj nowej bazie danych nazwę i skonfiguruj bazę danych cosmicworks 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
    
  4. Użyj az cosmosdb sql container create polecenia , aby utworzyć nowy kontener o nazwie products w cosmicworks 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"
    
  5. 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
    
  6. 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.

  1. Przejdź do pustego katalogu na komputerze lokalnym. W tym katalogu utwórz nowy plik o nazwie migrationsettings.json.

  2. W pliku JSON utwórz nowy pusty obiekt JSON:

    {}
    
  3. Utwórz nową właściwość o nazwie Source z wartością json. Utwórz inną nową właściwość o nazwie SourceSettings z pustym obiektem jako wartością.

    {
      "Source": "json",
      "SourceSettings": {}
    }
    
  4. SourceSettings W obiekcie utwórz nową właściwość o nazwie FilePath 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"
      }
    }
    
  5. Utwórz kolejną nową właściwość o nazwie Sink z wartością cosmos-nosql. Ponadto utwórz właściwość o nazwie SinkSettings 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": {
      }
    }
    
  6. W programie SinkSettingsutwórz właściwość o nazwie ConnectionString 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>"
      }
    }
    
  7. Dodaj Databasewłaściwości , Containeri PartitionKeyPath z wartościami cosmicworks, productsi /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"
      }
    }
    
  8. Zapisz plik migrationsettings.json.

  9. Otwórz nowy terminal i przejdź do katalogu zawierającego plik migrationsettings.json .

  10. 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łnej dmt ścieżki do pliku wykonywalnego.

  11. Narzędzie generuje teraz źródła i ujścia używane przez migrację.

    Using JSON Source
    Using Cosmos-nosql Sink