Share via


Migrieren von Daten zu Azure Cosmos DB mithilfe des Desktop-Datenmigrationstools

GILT FÜR: NoSQL MongoDB Tabelle

Das Desktop-Datenmigrationstool von Azure Cosmos DB ist eine Open-Source-Befehlszeilenanwendung zum Importieren oder Exportieren von Daten aus Azure Cosmos DB. Das Tool kann Daten in viele und aus vielen Quellen und Senken migrieren, einschließlich, aber nicht beschränkt auf:

  • Azure Cosmos DB for NoSQL
  • Azure Cosmos DB for MongoDB
  • Azure Cosmos DB for Table
  • Azure-Tabellenspeicher
  • JSON
  • MongoDB
  • SQL Server

Wichtig

In diesem Leitfaden führen Sie eine Datenmigration von JSON zu Azure Cosmos DB for NoSQL durch.

Voraussetzungen

Installieren des Desktop-Datenmigrationstools

Installieren Sie zunächst die neueste Version des Desktop-Datenmigrationstools aus dem GitHub-Repository.

Hinweis

Das Desktop-Datenmigrationstool erfordert .NET 6.0 oder höher auf Ihrem lokalen Computer.

  1. Navigieren Sie in Ihrem Browser zum Abschnitt Releases des Repositorys azurecosmosdb/data-migration-desktop-tool/releases.

  2. Laden Sie den neuesten komprimierten Ordner für Ihre Plattform herunter. Es gibt komprimierte Ordner für die Plattformen win-x64, mac-x64 und linux-x64.

  3. Extrahieren Sie die Dateien an einen Installationsspeicherort auf Ihrem lokalen Computer.

  4. (Optional) Fügen Sie das Desktop-Datenmigrationstool der Umgebungsvariablen „PATH“ Ihres lokalen Computers hinzu.

Vorbereiten des Migrationsziels

Erstellen Sie als Nächstes eine Zieldatenbank und einen Container im Azure Cosmos DB for NoSQL-Konto.

  1. Öffnen Sie ein neues Terminal. Melden Sie sich bei Azure CLI an, falls Sie dies noch nicht getan haben.

  2. Erstellen Sie neue Shellvariablen für den Namen und die Ressourcengruppe des Azure Cosmos DB-Kontos.

    # Variable for Azure Cosmos DB account name
    accountName="<name-of-existing-account>"
    
    # Variable for resource group name
    resourceGroupName="<name-of-existing-resource-group>"
    
  3. Erstellen Sie eine neue Datenbank mit az cosmosdb sql database create. Nennen Sie die neue Datenbank „cosmicworks“, und konfigurieren Sie die Datenbank mit 400 RU/s freigegebenem Durchsatz.

    az cosmosdb sql database create \
        --resource-group $resourceGroupName \
        --account-name $accountName \
        --name cosmicworks \
        --throughput 400
    
  4. Verwenden Sie az cosmosdb sql container create, um einen neuen Container mit dem Namen „products“ innerhalb der Datenbank „cosmicworks“ zu erstellen. Legen Sie den Partitionsschlüsselpfad des neuen Containers auf /category fest.

    az cosmosdb sql container create \
        --resource-group $resourceGroupName \
        --account-name $accountName \
        --database-name cosmicworks \
        --name products \
        --partition-key-path "/category"
    
  5. Suchen Sie die Primäre Verbindungszeichenfolge aus der Liste der Schlüssel für das Konto mit az cosmosdb keys list.

    az cosmosdb keys list \
        --resource-group $resourceGroupName \
        --name $accountName \
        --type connection-strings
    
  6. Notieren Sie den Wert der Primäre Verbindungszeichenfolge. Sie benötigen diese Anmeldeinformationen später beim Migrieren von Daten mit dem Tool.

Ausführen eines Migrationsvorgangs

Migrieren Sie nun Daten aus einem JSON-Array in den neu erstellten Azure Cosmos DB for NoSQL-Container.

  1. Navigieren Sie zu einem leeren Verzeichnis auf Ihrem lokalen Computer. Erstellen Sie in diesem Verzeichnis eine neue Datei namens migrationsettings.json.

  2. Erstellen Sie in der JSON-Datei ein neues leeres JSON-Objekt:

    {}
    
  3. Erstellen Sie eine neue Eigenschaft namens „Source“ mit dem Wert „json“. Erstellen Sie eine weitere neue Eigenschaft namens „SourceSettings“ mit einem leeren Objekt als Wert.

    {
      "Source": "json",
      "SourceSettings": {}
    }
    
  4. Erstellen Sie innerhalb des SourceSettings-Objekts eine neue Eigenschaft namens „FilePath“ wobei der Wert auf diesen URI „https://raw.githubusercontent.com/azure-samples/cosmos-db-migration-sample-data/main/nosql-data.json“ festgelegt ist.

    {
      "Source": "json",
      "SourceSettings": {
        "FilePath": "https://raw.githubusercontent.com/azure-samples/cosmos-db-migration-sample-data/main/nosql-data.json"
      }
    }
    
  5. Erstellen Sie eine weitere neue Eigenschaft namens „Sink“ mit dem Wert „cosmos-nosql“. Erstellen Sie außerdem eine Eigenschaft namens „SinkSettings“ mit einem leeren 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. Erstellen Sie innerhalb von SinkSettings eine Eigenschaft namens „ConnectionString“ mit der primären Verbindungszeichenfolge, die Sie zuvor in dieser Anleitung als Wert aufgezeichnet haben.

    {
      "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. Fügen Sie die Eigenschaften Database, Container und PartitionKeyPath mit cosmicworks, products und /category als Werte hinzu.

    {
      "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. Speichern Sie die Datei migrationsettings.json.

  9. Öffnen Sie ein neues Terminal, und navigieren Sie zu dem Verzeichnis, das Ihre Datei migrationsettings.json enthält.

  10. Führen Sie das Desktop-Datenmigrationstool mithilfe des Befehls „dmt“ aus.

    dmt
    

    Hinweis

    Wenn Sie der Umgebungsvariablen nicht den Installationspfad „PATH“ hinzugefügt haben, müssen Sie möglicherweise den vollständigen Pfad zur ausführbaren Datei „dmt“ angeben.

  11. Das Tool gibt nun die Quellen und Senken aus, die für die Migration verwendet werden.

    Using JSON Source
    Using Cosmos-nosql Sink