Share via


Eseguire la migrazione dei dati ad Azure Cosmos DB usando lo strumento di migrazione dei dati desktop

SI APPLICA A: Nosql Mongodb Tabella

Lo strumento di migrazione dei dati desktop di Azure Cosmos DB è un'applicazione della riga di comando open source per importare o esportare dati da Azure Cosmos DB. Lo strumento può eseguire la migrazione dei dati da e verso molte origini e sink, tra cui, ad esempio:

  • Azure Cosmos DB for NoSQL
  • Azure Cosmos DB for MongoDB
  • Azure Cosmos DB for Table
  • Archiviazione tabelle di Azure
  • JSON
  • MongoDB
  • SQL Server

Importante

Per questa guida si eseguirà una migrazione dei dati da JSON ad Azure Cosmos DB per NoSQL.

Prerequisiti

  • Un account Azure Cosmos DB per NoSQL esistente.
  • Versione più recente dell'interfaccia della riga di comando di Azure.
  • .NET 6.0 o versione successiva.

Installare lo strumento di migrazione dei dati desktop

Installare prima di tutto la versione più recente dello strumento di migrazione dei dati desktop dal repository GitHub.

Nota

Lo strumento di migrazione dei dati desktop richiede .NET 6.0 o versione successiva nel computer locale.

  1. Nel browser passare alla sezione Versioni del repository: azurecosmosdb/data-migration-desktop-tool/releases.

  2. Scaricare la cartella compressa più recente per la piattaforma. Sono disponibili cartelle compresse per le piattaforme win-x64, mac-x64 e linux-x64 .

  3. Estrarre i file in un percorso di installazione nel computer locale.

  4. (Facoltativo) Aggiungere lo strumento di migrazione dei dati desktop alla PATH variabile di ambiente del computer locale.

Preparare la destinazione della migrazione

Creare quindi un database e un contenitore di destinazione nell'account Azure Cosmos DB per NoSQL.

  1. Aprire un nuovo terminale. Se non è già stato fatto, accedere all'interfaccia della riga di comando di Azure.

  2. Creare nuove variabili della shell per il nome e il gruppo di risorse dell'account 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. Creare un nuovo database usando az cosmosdb sql database create. Assegnare al nuovo database cosmicworks il nome e configurare il database con 400 UR/sec di velocità effettiva condivisa.

    az cosmosdb sql database create \
        --resource-group $resourceGroupName \
        --account-name $accountName \
        --name cosmicworks \
        --throughput 400
    
  4. Usare az cosmosdb sql container create per creare un nuovo contenitore denominato products all'interno del cosmicworks database. Impostare il percorso della chiave di partizione del nuovo contenitore su /category.

    az cosmosdb sql container create \
        --resource-group $resourceGroupName \
        --account-name $accountName \
        --database-name cosmicworks \
        --name products \
        --partition-key-path "/category"
    
  5. Trovare il stringa di connessione primario dall'elenco delle chiavi per l'account con az cosmosdb keys list.

    az cosmosdb keys list \
        --resource-group $resourceGroupName \
        --name $accountName \
        --type connection-strings
    
  6. Registrare il valore stringa di connessione primario. Questa credenziale viene usata in un secondo momento durante la migrazione dei dati con lo strumento .

Eseguire un'operazione di migrazione

Eseguire ora la migrazione dei dati da una matrice JSON al contenitore Azure Cosmos DB per NoSQL appena creato.

  1. Passare a una directory vuota nel computer locale. All'interno di tale directory creare un nuovo file denominato migrationsettings.json.

  2. All'interno del file JSON creare un nuovo oggetto JSON vuoto:

    {}
    
  3. Creare una nuova proprietà denominata Source con il valore json. Creare un'altra nuova proprietà denominata SourceSettings con un oggetto vuoto come valore.

    {
      "Source": "json",
      "SourceSettings": {}
    }
    
  4. All'interno dell'oggetto SourceSettings creare una nuova proprietà denominata FilePath con il valore impostato su questo 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. Creare un'altra nuova proprietà denominata Sink con il valore cosmos-nosql. Creare inoltre una proprietà denominata SinkSettings con un oggetto vuoto.

    {
      "Source": "json",
      "SourceSettings": {
        "FilePath": "https://raw.githubusercontent.com/azure-samples/cosmos-db-migration-sample-data/main/nosql-data.json"
      },
      "Sink": "cosmos-nosql",
      "SinkSettings": {
      }
    }
    
  6. In SinkSettingscreare una proprietà denominata ConnectionString con il stringa di connessione primario registrato in precedenza in questa guida come valore.

    {
      "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. Aggiungere Databasele proprietà , Containere PartitionKeyPath rispettivamente con cosmicworks, productse /category come valori.

    {
      "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. Salvare il file migrationsettings.json .

  9. Aprire un nuovo terminale e passare alla directory contenente il file migrationsettings.json .

  10. Eseguire lo strumento di migrazione dei dati desktop usando il dmt comando .

    dmt
    

    Nota

    Se non è stato aggiunto il percorso di installazione alla PATH variabile di ambiente, potrebbe essere necessario specificare il percorso completo del dmt file eseguibile.

  11. Lo strumento restituisce ora le origini e i sink usati dalla migrazione.

    Using JSON Source
    Using Cosmos-nosql Sink