Masaüstü veri geçiş aracını kullanarak verileri Azure Cosmos DB'ye geçirme
ŞUNLAR IÇIN GEÇERLIDIR: NoSQL
MongoDB
Masa
Azure Cosmos DB masaüstü veri geçiş aracı, Azure Cosmos DB'den verileri içeri veya dışarı aktarmaya yönelik bir açık kaynak komut satırı uygulamasıdır. Araç, aşağıdakiler dahil ancak bunlarla sınırlı olmamak üzere birçok kaynak ve havuza veri geçirebilir:
- NoSQL için Azure Cosmos DB
- MongoDB için Azure Cosmos DB
- Tablo için Azure Cosmos DB
- Azure Tablo depolama
- JSON
- MongoDB
- SQL Server
Önemli
Bu kılavuz için JSON'dan NoSQL için Azure Cosmos DB'ye veri geçişi gerçekleştiracaksınız.
Önkoşullar
- Mevcut bir NoSQL için Azure Cosmos DB hesabı.
- Azure aboneliğiniz varsa yeni bir hesap oluşturun.
- Azure aboneliğiniz yoksa başlamadan önce ücretsiz bir hesap oluşturun.
- Alternatif olarak, işlemeden önce Azure Cosmos DB'yi ücretsiz deneyebilirsiniz.
- Azure CLI'nın en son sürümü.
- .NET 6.0 veya üzeri.
Masaüstü veri geçiş aracını yükleme
İlk olarak, GitHub deposundan masaüstü veri geçiş aracının en son sürümünü yükleyin.
Not
Masaüstü veri geçiş aracı, yerel makinenizde .NET 6.0 veya üzerini gerektirir.
Tarayıcınızda, deponun Sürümler bölümüne gidin: azurecosmosdb/data-migration-desktop-tool/releases.
Platformunuz için en son sıkıştırılmış klasörü indirin. Win-x64, mac-x64 ve linux-x64 platformları için sıkıştırılmış klasörler vardır.
Dosyaları yerel makinenizdeki bir yükleme konumuna ayıklayın.
(İsteğe bağlı) Masaüstü veri geçiş aracını
PATH
yerel makinenizin ortam değişkenine ekleyin.
Geçiş hedefinizi hazırlama
Ardından, NoSQL için Azure Cosmos DB hesabında bir hedef veritabanı ve kapsayıcı oluşturun.
Yeni bir terminal açın. Henüz yapmadıysanız Azure CLI'da oturum açın.
Azure Cosmos DB hesabının adı ve kaynak grubu için yeni kabuk değişkenleri oluşturun.
# Variable for Azure Cosmos DB account name accountName="<name-of-existing-account>" # Variable for resource group name resourceGroupName="<name-of-existing-resource-group>"
kullanarak
az cosmosdb sql database create
yeni bir veritabanı oluşturun. Yeni veritabanınıcosmicworks
adlandırın ve veritabanını 400 RU/sn paylaşılan aktarım hızıyla yapılandırın.az cosmosdb sql database create \ --resource-group $resourceGroupName \ --account-name $accountName \ --name cosmicworks \ --throughput 400
Veritabanında adlı
products
cosmicworks
yeni bir kapsayıcı oluşturmak için kullanınaz cosmosdb sql container create
. Yeni kapsayıcının bölüm anahtarı yolunu olarak/category
ayarlayın.az cosmosdb sql container create \ --resource-group $resourceGroupName \ --account-name $accountName \ --database-name cosmicworks \ --name products \ --partition-key-path "/category"
ile
az cosmosdb keys list
hesabın anahtar listesinden birincil bağlantı dizesi bulun.az cosmosdb keys list \ --resource-group $resourceGroupName \ --name $accountName \ --type connection-strings
Birincil bağlantı dizesi değerini kaydedin. Bu kimlik bilgilerini daha sonra araçla veri geçirirken kullanırsınız.
Geçiş işlemi gerçekleştirme
Şimdi bir JSON dizisinden yeni oluşturulan NoSQL için Azure Cosmos DB kapsayıcısına veri geçirin.
Yerel makinenizde boş bir dizine gidin. Bu dizinde migrationsettings.json adlı yeni bir dosya oluşturun.
JSON dosyasında yeni bir boş JSON nesnesi oluşturun:
{}
değeriyle
json
adlıSource
yeni bir özellik oluşturun. Değeri boş olan adlıSourceSettings
başka bir yeni özellik oluşturun.{ "Source": "json", "SourceSettings": {} }
nesnesinin içinde
SourceSettings
, değeri şu URI'ye ayarlanmış olan adlıFilePath
yeni bir özellik oluşturun: 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" } }
değeriyle
cosmos-nosql
adlıSink
başka bir yeni özellik oluşturun. Ayrıca, boş bir nesneyle adlıSinkSettings
bir özellik oluşturun.{ "Source": "json", "SourceSettings": { "FilePath": "https://raw.githubusercontent.com/azure-samples/cosmos-db-migration-sample-data/main/nosql-data.json" }, "Sink": "cosmos-nosql", "SinkSettings": { } }
içinde
SinkSettings
, bu kılavuzun önceki bölümlerinde değeri olarak kaydettiğiniz birincil bağlantı dizesi adlı bir özellikConnectionString
oluşturun.{ "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>" } }
,
Container
vePartitionKeyPath
özelliklerini değerleri olarak sırasıyla ,products
ve/category
ilecosmicworks
ekleyinDatabase
.{ "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" } }
migrationsettings.json dosyasını kaydedin.
Yeni bir terminal açın ve migrationsettings.json dosyanızı içeren dizine gidin.
komutunu kullanarak
dmt
masaüstü veri geçiş aracını çalıştırın.dmt
Not
Yükleme yolunu ortam değişkeninize
PATH
eklemediyseniz yürütülebilir dosyanın tam yolunudmt
belirtmeniz gerekebilir.Araç artık geçiş tarafından kullanılan kaynakları ve havuzları çıkış olarak alır.
Using JSON Source Using Cosmos-nosql Sink