Megosztás a következőn keresztül:


Adatok migrálása az Azure Cosmos DB-be az asztali adatmigrálási eszközzel

A KÖVETKEZŐKRE VONATKOZIK: NoSQL MongoDB Asztal

Az Azure Cosmos DB asztali adatmigrálási eszköze egy nyílt forráskódú parancssori alkalmazás, amely adatokat importál vagy exportál az Azure Cosmos DB-ből. Az eszköz számos forrásba és fogadóba migrálhatja az adatokat, többek között a következőkre:

  • Azure Cosmos DB for NoSQL
  • Azure Cosmos DB a MongoDB-hez
  • Azure Cosmos DB for Table
  • Azure Table Storage
  • JSON
  • MongoDB
  • SQL Server

Fontos

Ebben az útmutatóban adatmigrálást fog végrehajtani JSON-ról az Azure Cosmos DB for NoSQL-be.

Előfeltételek

Az asztali adatmigrálási eszköz telepítése

Először telepítse az asztali adatmigrálási eszköz legújabb verzióját a GitHub-adattárból.

Feljegyzés

Az asztali adatmigrálási eszközhöz a helyi gépen a .NET 6.0-s vagy újabb verziója szükséges.

  1. A böngészőben keresse meg az adattár Kiadások szakaszát: azurecosmosdb/data-migration-desktop-tool/releases.

  2. Töltse le a platform legújabb tömörített mappáját. Vannak tömörített mappák a win-x64, mac-x64 és linux-x64 platformokhoz.

  3. Bontsa ki a fájlokat egy telepítési helyre a helyi gépen.

  4. (Nem kötelező) Adja hozzá az asztali adatmigrálási eszközt a PATH helyi gép környezeti változójához.

A migrálási cél előkészítése

Ezután hozzon létre egy céladatbázist és -tárolót az Azure Cosmos DB for NoSQL-fiókban.

  1. Nyisson meg egy új terminált. Ha még nem tette meg, jelentkezzen be az Azure CLI-be.

  2. Hozzon létre új rendszerhéjváltozókat az Azure Cosmos DB-fiók nevének és erőforráscsoportjának.

    # Variable for Azure Cosmos DB account name
    accountName="<name-of-existing-account>"
    
    # Variable for resource group name
    resourceGroupName="<name-of-existing-resource-group>"
    
  3. Hozzon létre egy új adatbázist a következő használatával az cosmosdb sql database create: . Nevezze el az új adatbázist cosmicworks , és konfigurálja az adatbázist 400 RU/s megosztott átviteli sebességgel.

    az cosmosdb sql database create \
        --resource-group $resourceGroupName \
        --account-name $accountName \
        --name cosmicworks \
        --throughput 400
    
  4. Az adatbázison belül cosmicworks egy új tároló létrehozásához products használhatóaz cosmosdb sql container create. Állítsa be az új tároló partíciókulcs-elérési útját a következőre /category: .

    az cosmosdb sql container create \
        --resource-group $resourceGroupName \
        --account-name $accountName \
        --database-name cosmicworks \
        --name products \
        --partition-key-path "/category"
    
  5. Keresse meg az elsődleges kapcsolati sztring a fiók az cosmosdb keys listkulcsainak listájából.

    az cosmosdb keys list \
        --resource-group $resourceGroupName \
        --name $accountName \
        --type connection-strings
    
  6. Rögzítse az elsődleges kapcsolati sztring értéket. Ezt a hitelesítő adatot később fogja használni, amikor adatokat migrál az eszközzel.

Migrálási művelet végrehajtása

Most migrálja az adatokat egy JSON-tömbből az újonnan létrehozott Azure Cosmos DB for NoSQL-tárolóba.

  1. Lépjen egy üres könyvtárra a helyi gépen. Ebben a könyvtárban hozzon létre egy migrationsettings.json nevű új fájlt.

  2. A JSON-fájlban hozzon létre egy új üres JSON-objektumot:

    {}
    
  3. Hozzon létre egy új, az értékkel elnevezett Source tulajdonságot json. Hozzon létre egy másik, üres objektummal elnevezett SourceSettings tulajdonságot értékként.

    {
      "Source": "json",
      "SourceSettings": {}
    }
    
  4. Az objektumon SourceSettings belül hozzon létre egy új, az URI-ra beállított értékkel ellátott FilePath tulajdonságot: 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. Hozzon létre egy másik, az értékkel cosmos-nosqlelnevezett Sink tulajdonságot. Emellett hozzon létre egy üres objektummal elnevezett SinkSettings tulajdonságot is.

    {
      "Source": "json",
      "SourceSettings": {
        "FilePath": "https://raw.githubusercontent.com/azure-samples/cosmos-db-migration-sample-data/main/nosql-data.json"
      },
      "Sink": "cosmos-nosql",
      "SinkSettings": {
      }
    }
    
  6. Ezen belül SinkSettingshozzon létre egy tulajdonságotConnectionString, amelynek az elsődleges kapcsolati sztring, amelyet korábban az útmutatóban rögzített annak értékeként.

    {
      "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. Adjon hozzá Database, Containerés PartitionKeyPath tulajdonságokat cosmicworksa , productsés /category azok értékeihez.

    {
      "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. Mentse a migrationsettings.json fájlt.

  9. Nyisson meg egy új terminált, és keresse meg a migrationsettings.json fájlt tartalmazó könyvtárat.

  10. Futtassa az asztali adatmigrálási eszközt a dmt paranccsal.

    dmt
    

    Feljegyzés

    Ha nem adta hozzá a telepítési útvonalat a PATH környezeti változóhoz, előfordulhat, hogy meg kell adnia a dmt végrehajtható fájl teljes elérési útját.

  11. Az eszköz most a migrálás által használt forrásokat és fogadókat adja ki.

    Using JSON Source
    Using Cosmos-nosql Sink