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

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ší.

  1. V prohlížeči přejděte do části Vydané verze úložiště: azurecosmosdb/data-migration-desktop-tool/release.

  2. 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.

  3. Extrahujte soubory do umístění instalace na místním počítači.

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

  1. Otevřete nový terminál. Pokud jste to ještě neudělali, přihlaste se k Azure CLI.

  2. 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>"
    
  3. Vytvořte novou databázi pomocí az cosmosdb sql database createpříkazu . Pojmenujte novou databázi cosmicworks 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
    
  4. Slouží az cosmosdb sql container create k vytvoření nového kontejneru pojmenovaného products 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"
    
  5. 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
    
  6. 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.

  1. 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.

  2. V souboru JSON vytvořte nový prázdný objekt JSON:

    {}
    
  3. Vytvořte novou vlastnost s názvem Source hodnota json. Vytvořte další novou vlastnost s prázdným SourceSettings objektem jako hodnotou.

    {
      "Source": "json",
      "SourceSettings": {}
    }
    
  4. V rámci SourceSettings objektu vytvořte novou vlastnost s FilePath 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"
      }
    }
    
  5. Vytvořte další novou vlastnost s názvem Sink hodnota cosmos-nosql. Vytvořte také vlastnost s názvem SinkSettings 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": {
      }
    }
    
  6. V tomto SinkSettingsprůvodci vytvořte vlastnost s názvem ConnectionString 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>"
      }
    }
    
  7. Přidejte Database, Containera PartitionKeyPath vlastnosti s cosmicworks, productsa /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"
      }
    }
    
  8. Uložte soubor migrationsettings.json.

  9. Otevřete nový terminál a přejděte do adresáře, který obsahuje váš soubor migrationsettings.json .

  10. 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ému dmt souboru.

  11. Nástroj teď vypíše zdroje a jímky používané migrací.

    Using JSON Source
    Using Cosmos-nosql Sink