Bagikan melalui


Memigrasikan data ke Azure Cosmos DB menggunakan alat migrasi data desktop

BERLAKU UNTUK: NoSQL MongoDB Meja

Alat migrasi data desktop Azure Cosmos DB adalah aplikasi baris perintah sumber terbuka untuk mengimpor atau mengekspor data dari Azure Cosmos DB. Alat ini dapat memigrasikan data ke dan dari banyak sumber dan sink termasuk, tetapi tidak terbatas pada:

  • Azure Cosmos DB for NoSQL
  • Azure Cosmos DB untuk MongoDB
  • Azure Cosmos DB for Table
  • Azure Table Storage
  • JSON
  • MongoDB
  • SQL Server

Penting

Untuk panduan ini, Anda akan melakukan migrasi data dari JSON ke Azure Cosmos DB untuk NoSQL.

Prasyarat

Menginstal alat migrasi data desktop

Pertama, instal versi terbaru alat migrasi data desktop dari repositori GitHub.

Catatan

Alat migrasi data desktop memerlukan .NET 6.0 atau yang lebih baru di komputer lokal Anda.

  1. Di browser Anda, buka bagian Rilis repositori: azurecosmosdb/data-migration-desktop-tool/releases.

  2. Unduh folder terkompresi terbaru untuk platform Anda. Ada folder terkompresi untuk platform win-x64, mac-x64, dan linux-x64 .

  3. Ekstrak file ke lokasi penginstalan pada komputer lokal Anda.

  4. (Opsional) Tambahkan alat migrasi data desktop ke PATH variabel lingkungan komputer lokal Anda.

Menyiapkan target migrasi Anda

Selanjutnya, buat database dan kontainer target di akun Azure Cosmos DB for NoSQL.

  1. Buka terminal baru. Jika Anda belum melakukannya, masuk ke Azure CLI.

  2. Buat variabel shell baru untuk nama akun Azure Cosmos DB dan grup sumber daya.

    # Variable for Azure Cosmos DB account name
    accountName="<name-of-existing-account>"
    
    # Variable for resource group name
    resourceGroupName="<name-of-existing-resource-group>"
    
  3. Buat database baru menggunakan az cosmosdb sql database create. Beri nama database cosmicworks baru dan konfigurasikan database dengan 400 RU/dtk throughput bersama.

    az cosmosdb sql database create \
        --resource-group $resourceGroupName \
        --account-name $accountName \
        --name cosmicworks \
        --throughput 400
    
  4. Gunakan az cosmosdb sql container create untuk membuat kontainer baru bernama products dalam cosmicworks database. Atur jalur kunci partisi kontainer baru ke /category.

    az cosmosdb sql container create \
        --resource-group $resourceGroupName \
        --account-name $accountName \
        --database-name cosmicworks \
        --name products \
        --partition-key-path "/category"
    
  5. Temukan string koneksi utama dari daftar kunci untuk akun dengan az cosmosdb keys list.

    az cosmosdb keys list \
        --resource-group $resourceGroupName \
        --name $accountName \
        --type connection-strings
    
  6. Catat nilai string koneksi utama. Anda menggunakan kredensial ini nanti saat memigrasikan data dengan alat.

Melakukan operasi migrasi

Sekarang, migrasikan data dari array JSON ke kontainer Azure Cosmos DB for NoSQL yang baru dibuat.

  1. Navigasi ke direktori kosong di komputer lokal Anda. Dalam direktori tersebut, buat file baru bernama migrationsettings.json.

  2. Dalam file JSON, buat objek JSON kosong baru:

    {}
    
  3. Buat properti baru bernama Source dengan nilai json. Buat properti baru lain bernama SourceSettings dengan objek kosong sebagai nilai .

    {
      "Source": "json",
      "SourceSettings": {}
    }
    
  4. SourceSettings Di dalam objek, buat properti baru bernama FilePath dengan nilai yang diatur ke URI ini: 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. Buat properti baru lain bernama Sink dengan nilai cosmos-nosql. Selain itu, buat properti bernama SinkSettings dengan objek kosong.

    {
      "Source": "json",
      "SourceSettings": {
        "FilePath": "https://raw.githubusercontent.com/azure-samples/cosmos-db-migration-sample-data/main/nosql-data.json"
      },
      "Sink": "cosmos-nosql",
      "SinkSettings": {
      }
    }
    
  6. Dalam SinkSettings, buat properti bernama ConnectionString dengan string koneksi utama yang Anda rekam sebelumnya dalam panduan ini sebagai nilainya.

    {
      "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. Tambahkan Databaseproperti , Container, dan PartitionKeyPath dengan cosmicworks, products, dan /category sebagai nilainya masing-masing.

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

  9. Buka terminal baru dan navigasikan ke direktori yang berisi file migrationsettings.json Anda.

  10. Jalankan alat migrasi data desktop menggunakan dmt perintah .

    dmt
    

    Catatan

    Jika Anda tidak menambahkan jalur penginstalan ke variabel lingkungan Anda PATH , Anda mungkin perlu menentukan jalur lengkap ke yang dapat dieksekusi dmt .

  11. Alat ini sekarang menghasilkan sumber dan sink yang digunakan oleh migrasi.

    Using JSON Source
    Using Cosmos-nosql Sink