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
- Akun Azure Cosmos DB for NoSQL yang sudah ada.
- Jika Anda memiliki langganan Azure, buat akun baru.
- Jika Anda tidak memiliki langganan Azure, buat akun gratis sebelum Anda memulai.
- Atau, Anda dapat mencoba Azure Cosmos DB gratis sebelum berkomitmen.
- Versi terbaru Azure CLI.
- .NET 6.0 atau yang lebih baru.
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.
Di browser Anda, buka bagian Rilis repositori: azurecosmosdb/data-migration-desktop-tool/releases.
Unduh folder terkompresi terbaru untuk platform Anda. Ada folder terkompresi untuk platform win-x64, mac-x64, dan linux-x64 .
Ekstrak file ke lokasi penginstalan pada komputer lokal Anda.
(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.
Buka terminal baru. Jika Anda belum melakukannya, masuk ke Azure CLI.
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>"
Buat database baru menggunakan
az cosmosdb sql database create
. Beri nama databasecosmicworks
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
Gunakan
az cosmosdb sql container create
untuk membuat kontainer baru bernamaproducts
dalamcosmicworks
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"
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
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.
Navigasi ke direktori kosong di komputer lokal Anda. Dalam direktori tersebut, buat file baru bernama migrationsettings.json.
Dalam file JSON, buat objek JSON kosong baru:
{}
Buat properti baru bernama
Source
dengan nilaijson
. Buat properti baru lain bernamaSourceSettings
dengan objek kosong sebagai nilai .{ "Source": "json", "SourceSettings": {} }
SourceSettings
Di dalam objek, buat properti baru bernamaFilePath
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" } }
Buat properti baru lain bernama
Sink
dengan nilaicosmos-nosql
. Selain itu, buat properti bernamaSinkSettings
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": { } }
Dalam
SinkSettings
, buat properti bernamaConnectionString
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>" } }
Tambahkan
Database
properti ,Container
, danPartitionKeyPath
dengancosmicworks
,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" } }
Simpan file migrationsettings.json.
Buka terminal baru dan navigasikan ke direktori yang berisi file migrationsettings.json Anda.
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 dieksekusidmt
.Alat ini sekarang menghasilkan sumber dan sink yang digunakan oleh migrasi.
Using JSON Source Using Cosmos-nosql Sink