Dela via


Migrera data till Azure Cosmos DB med hjälp av migreringsverktyget för skrivbordsdata

GÄLLER FÖR: NoSQL MongoDB Bord

Datamigreringsverktyget för Azure Cosmos DB är ett kommandoradsprogram med öppen källkod för att importera eller exportera data från Azure Cosmos DB. Verktyget kan migrera data till och från många källor och mottagare, inklusive, men inte begränsat till:

  • Azure Cosmos DB för NoSQL
  • Azure Cosmos DB för MongoDB
  • Azure Cosmos DB för tabell
  • Azure Table Storage
  • JSON
  • MongoDB
  • SQL Server

Viktigt!

I den här guiden utför du en datamigrering från JSON till Azure Cosmos DB för NoSQL.

Förutsättningar

Installera migreringsverktyget för skrivbordsdata

Installera först den senaste versionen av migreringsverktyget för skrivbordsdata från GitHub-lagringsplatsen.

Kommentar

Skrivbordsdatamigreringsverktyget kräver .NET 6.0 eller senare på den lokala datorn.

  1. I webbläsaren går du till avsnittet Versioner på lagringsplatsen: azurecosmosdb/data-migration-desktop-tool/releases.

  2. Ladda ned den senaste komprimerade mappen för din plattform. Det finns komprimerade mappar för plattformarna win-x64, mac-x64 och linux-x64.

  3. Extrahera filerna till en installationsplats på den lokala datorn.

  4. (Valfritt) Lägg till migreringsverktyget för skrivbordsdata i PATH miljövariabeln för den lokala datorn.

Förbereda migreringsmålet

Skapa sedan en måldatabas och container på Azure Cosmos DB för NoSQL-kontot.

  1. Öppna en ny terminal. Om du inte redan har gjort det loggar du in på Azure CLI.

  2. Skapa nya gränssnittsvariabler för Azure Cosmos DB-kontots namn och resursgrupp.

    # Variable for Azure Cosmos DB account name
    accountName="<name-of-existing-account>"
    
    # Variable for resource group name
    resourceGroupName="<name-of-existing-resource-group>"
    
  3. Skapa en ny databas med .az cosmosdb sql database create Namnge den nya databasen cosmicworks och konfigurera databasen med 400 RU/s delat dataflöde.

    az cosmosdb sql database create \
        --resource-group $resourceGroupName \
        --account-name $accountName \
        --name cosmicworks \
        --throughput 400
    
  4. Använd az cosmosdb sql container create för att skapa en ny container med namnet products i cosmicworks databasen. Ange partitionsnyckelsökvägen för den nya containern till /category.

    az cosmosdb sql container create \
        --resource-group $resourceGroupName \
        --account-name $accountName \
        --database-name cosmicworks \
        --name products \
        --partition-key-path "/category"
    
  5. Hitta den primära niska veze från listan med nycklar för kontot med az cosmosdb keys list.

    az cosmosdb keys list \
        --resource-group $resourceGroupName \
        --name $accountName \
        --type connection-strings
    
  6. Registrera det primära niska veze värdet. Du använder den här autentiseringsuppgiften senare när du migrerar data med verktyget.

Utföra en migreringsåtgärd

Migrera nu data från en JSON-matris till den nyligen skapade Azure Cosmos DB for NoSQL-containern.

  1. Navigera till en tom katalog på den lokala datorn. Skapa en ny fil med namnet migrationsettings.json i katalogen.

  2. Skapa ett nytt tomt JSON-objekt i JSON-filen:

    {}
    
  3. Skapa en ny egenskap med namnet Source med värdet json. Skapa en annan ny egenskap med namnet SourceSettings med ett tomt objekt som värde.

    {
      "Source": "json",
      "SourceSettings": {}
    }
    
  4. SourceSettings I objektet skapar du en ny egenskap med namnet FilePath med värdet inställt på den här URI:n: 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. Skapa en annan ny egenskap med namnet Sink med värdet cosmos-nosql. Skapa också en egenskap med namnet SinkSettings med ett tomt objekt.

    {
      "Source": "json",
      "SourceSettings": {
        "FilePath": "https://raw.githubusercontent.com/azure-samples/cosmos-db-migration-sample-data/main/nosql-data.json"
      },
      "Sink": "cosmos-nosql",
      "SinkSettings": {
      }
    }
    
  6. I SinkSettingsskapar du en egenskap med namnet ConnectionString med den primära niska veze som du registrerade tidigare i den här guiden som dess värde.

    {
      "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. Lägg till Database, Containeroch PartitionKeyPath egenskaper med cosmicworks, productsoch /category som deras värden.

    {
      "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. Spara filen migrationsettings.json .

  9. Öppna en ny terminal och gå till katalogen som innehåller din migrationsettings.json-fil .

  10. Kör migreringsverktyget för skrivbordsdata med kommandot dmt .

    dmt
    

    Kommentar

    Om du inte har lagt till installationssökvägen i PATH miljövariabeln kan du behöva ange den fullständiga sökvägen till den dmt körbara filen.

  11. Verktyget matar nu ut de källor och mottagare som används av migreringen.

    Using JSON Source
    Using Cosmos-nosql Sink