Delen via


Gegevens migreren naar Azure Cosmos DB met behulp van het hulpprogramma voor migratie van bureaubladgegevens

VAN TOEPASSING OP: NoSQL MongoDB Tafel

Het hulpprogramma voor gegevensmigratie van Azure Cosmos DB is een opensource-opdrachtregeltoepassing voor het importeren of exporteren van gegevens uit Azure Cosmos DB. Het hulpprogramma kan gegevens migreren naar en van veel bronnen en sinks, waaronder, maar niet beperkt tot:

  • Azure Cosmos DB voor NoSQL
  • Azure Cosmos DB voor MongoDB
  • Azure Cosmos DB voor tabel
  • Azure Table Storage
  • JSON
  • MongoDB
  • SQL Server

Belangrijk

Voor deze handleiding voert u een gegevensmigratie uit van JSON naar Azure Cosmos DB for NoSQL.

Vereisten

Het hulpprogramma voor migratie van bureaubladgegevens installeren

Installeer eerst de nieuwste versie van het hulpprogramma voor migratie van bureaubladgegevens vanuit de GitHub-opslagplaats.

Notitie

Voor het hulpprogramma voor migratie van bureaubladgegevens is .NET 6.0 of hoger op uw lokale computer vereist.

  1. Navigeer in uw browser naar de sectie Releases van de opslagplaats: azurecosmosdb/data-migration-desktop-tool/releases.

  2. Download de meest recente gecomprimeerde map voor uw platform. Er zijn gecomprimeerde mappen voor de win-x64-, mac-x64- en linux-x64-platforms .

  3. Pak de bestanden uit op een installatielocatie op uw lokale computer.

  4. (Optioneel) Voeg het hulpprogramma voor bureaubladgegevensmigratie toe aan de PATH omgevingsvariabele van uw lokale computer.

Uw migratiedoel voorbereiden

Maak vervolgens een doeldatabase en -container in het Azure Cosmos DB for NoSQL-account.

  1. Open een nieuwe terminal. Als u dat nog niet hebt gedaan, meldt u zich aan bij de Azure CLI.

  2. Maak nieuwe shellvariabelen voor de naam en resourcegroep van het Azure Cosmos DB-account.

    # Variable for Azure Cosmos DB account name
    accountName="<name-of-existing-account>"
    
    # Variable for resource group name
    resourceGroupName="<name-of-existing-resource-group>"
    
  3. Maak een nieuwe database met behulp van az cosmosdb sql database create. Geef de nieuwe database cosmicworks een naam en configureer de database met 400 RU/s van gedeelde doorvoer.

    az cosmosdb sql database create \
        --resource-group $resourceGroupName \
        --account-name $accountName \
        --name cosmicworks \
        --throughput 400
    
  4. Hiermee az cosmosdb sql container create maakt u een nieuwe container met de naam products in de cosmicworks database. Stel het partitiesleutelpad van de nieuwe container in op /category.

    az cosmosdb sql container create \
        --resource-group $resourceGroupName \
        --account-name $accountName \
        --database-name cosmicworks \
        --name products \
        --partition-key-path "/category"
    
  5. Zoek de primaire verbindingsreeks uit de lijst met sleutels voor het account met az cosmosdb keys list.

    az cosmosdb keys list \
        --resource-group $resourceGroupName \
        --name $accountName \
        --type connection-strings
    
  6. Noteer de primaire verbindingsreeks waarde. U gebruikt deze referentie later bij het migreren van gegevens met het hulpprogramma.

Een migratiebewerking uitvoeren

Migreer nu gegevens van een JSON-matrix naar de zojuist gemaakte Azure Cosmos DB for NoSQL-container.

  1. Navigeer naar een lege map op uw lokale computer. Maak in die map een nieuw bestand met de naam migrationsettings.json.

  2. Maak in het JSON-bestand een nieuw leeg JSON-object:

    {}
    
  3. Maak een nieuwe eigenschap met de naam Source met de waarde json. Maak nog een nieuwe eigenschap met de naam SourceSettings met een leeg object als waarde.

    {
      "Source": "json",
      "SourceSettings": {}
    }
    
  4. Maak in het SourceSettings object een nieuwe eigenschap met de naam FilePath met de waarde die is ingesteld op deze 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. Maak nog een nieuwe eigenschap met de naam Sink met de waarde cosmos-nosql. Maak ook een eigenschap met de naam SinkSettings met een leeg object.

    {
      "Source": "json",
      "SourceSettings": {
        "FilePath": "https://raw.githubusercontent.com/azure-samples/cosmos-db-migration-sample-data/main/nosql-data.json"
      },
      "Sink": "cosmos-nosql",
      "SinkSettings": {
      }
    }
    
  6. SinkSettingsMaak binnen een eigenschap met ConnectionString de primaire verbindingsreeks die u eerder in deze handleiding hebt vastgelegd als waarde.

    {
      "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. Voeg Databaserespectievelijk , Containeren PartitionKeyPath eigenschappen toe met cosmicworks, productsen /category als hun waarden.

    {
      "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. Sla het migrationsettings.json bestand op.

  9. Open een nieuwe terminal en navigeer naar de map met uw migrationsettings.json-bestand .

  10. Voer het hulpprogramma voor migratie van bureaubladgegevens uit met behulp van de dmt opdracht.

    dmt
    

    Notitie

    Als u het installatiepad niet hebt toegevoegd aan uw PATH omgevingsvariabele, moet u mogelijk het volledige pad naar het dmt uitvoerbare bestand opgeven.

  11. Het hulpprogramma voert nu de bronnen en sinks uit die door de migratie worden gebruikt.

    Using JSON Source
    Using Cosmos-nosql Sink