Öğretici: Verilerinizi Azure Cosmos DB'ye geçirmek için Veri Geçiş Aracı'nı kullanma

UYGULANDıĞı YER: SQL API

Bu öğreticide, çeşitli kaynaklardan Azure Cosmos kapsayıcılarına ve tablolarına verileri içeri aktarabilen Azure Cosmos DB Veri Geçişi aracının kullanımına ilişkin yönergeler sağlanmaktadır. JSON dosyalarından, CSV dosyalarından, SQL, MongoDB, Azure Tablo depolamadan, Amazon DynamoDB ve hatta Azure Cosmos DB SQL API koleksiyonlarından içeri aktarma işlemi yapabilirsiniz. Bu verileri, Azure Cosmos DB ile birlikte kullanmak için koleksiyonlara ve tablolara geçirirsiniz. Veri Geçişi aracı, tek bir bölüm koleksiyonundan SQL API’si için çok bölümlü bir koleksiyona geçirme işlemi sırasında da kullanılabilir.

Not

Azure Cosmos DB Veri Geçişi aracı, küçük geçişler için tasarlanmış bir açık kaynak araçtır. Daha büyük geçişler için verileri alan kılavuzumuza bakın.

Bu öğretici aşağıdaki görevleri kapsar:

  • Veri Geçişi aracını yükleme
  • Farklı veri kaynaklarından verileri içeri aktarma
  • Azure Cosmos DB’den JSON’a dışarı aktarma

Önkoşullar

Bu makaledeki yönergeleri takip etmek için aşağıdaki adımları gerçekleştirin:

  • Microsoft .NET Framework 4.51 veya üst sürümü yükleyin.

  • Aktarım hızını artırma: Veri geçiş süreniz, tek bir koleksiyon veya bir koleksiyon kümesi için ayar seçtiğiniz aktarım hızı miktarına bağlıdır. Büyük veri geçişleri için aktarım hızını artırdığınızdan emin olun. Geçişi tamamladıktan sonra maliyet tasarrufu sağlamak için aktarım hızını azaltın. Hizmet katmanında aktarım hızını artırma hakkında daha fazla Azure portal için bkz. Azure Cosmos DB'de performans düzeyleri ve fiyatlandırma katmanları.

  • Azure Cosmos DB kaynaklarını oluşturma: Veri geçişini başlatmadan önce Azure portaldan tüm koleksiyonlarınızı oluşturun. Veritabanı düzeyinde aktarım hızına sahip bir Azure Cosmos DB hesabına geçiş yapmak için Azure Cosmos Kapsayıcıları'Cosmos oluşturun.

Önemli

Veri geçiş aracının Azure Cosmos hesaplarınıza bağlanırken Aktarım Katmanı Güvenliği (TLS) 1.2'yi kullandığından emin olmak için .NET Framework sürüm 4.7'yi kullanın veya bu makalede bulunan yönergeleri izleyin.

Genel Bakış

Veri Geçişi aracı, aşağıda örnekleri verilen çeşitli kaynaklardan Azure Cosmos DB’ye veri içeri aktaran bir açık kaynak çözümüdür:

  • JSON dosyaları
  • MongoDB
  • SQL Server
  • CSV dosyaları
  • Azure Tablo depolama
  • Amazon DynamoDB
  • HBase
  • Azure Cosmos kapsayıcıları

İçeri aktarma aracı bir grafiksel kullanıcı arabirimi (dtui.exe) içerse de, komut satırından (dt.exe) da tetiklenebilir. Aslında kullanıcı arabirimi üzerinden içeri aktarmayı ayarlıyorsanız ilişkili komutun çıkışını alma seçeneği vardır. İçeri aktarma sırasında hiyerarşik ilişkiler (alt belgeler) oluşturmak için SQL Server veya CSV dosyaları gibi tablosal kaynak verileri dönüştürebilirsiniz. Kaynak seçenekleri, her bir kaynaktan içeri aktarma için örnek komutlar, hedef seçenekler ve içeri aktarma sonuçlarını görüntüleme hakkında daha fazla bilgi edinmek için devamını okuyun.

Not

Küçük geçişler için yalnızca Azure Cosmos DB geçiş aracını kullanabilirsiniz. Büyük geçişler için verileri alan kılavuzumuza bakın.

Yükleme

Yürütülebilir paketi indirme

  • En son imzalı dosyanın ve ikili dt.exe zip'dtui.exe Windows indirme
  • Bilgisayarınızda herhangi bir dizinde sıkıştırmayı açın ve ikili dosyaları bulmak için ayıklanan dizini açın

Kaynaktan derleme

Geçiş aracı kaynak koduna GitHub’da bu depodan erişilebilir. Çözümü yerel olarak indirip derleyebilirsiniz ve ardından şu iki işlemi de çalıştırarak:

  • Dtui.exe: Aracın grafiksel arabirim sürümü
  • Dt.exe: Aracın komut satırı sürümü

Veri kaynağı seçme

Aracı yükledikten sonra verilerinizin içeri aktarılmasına sıra gelir. Ne tür verileri içeri aktarmak istiyorsunuz?

JSON dosyalarını içeri aktarma

JSON dosya kaynağı içeri aktarıcı seçeneği, her biri bir JSON belgesi dizisine sahip olan bir veya daha fazla tek belge JSON dosyasını veya JSON dosyasını içeri aktarmaya olanak sağlar. İçeri aktarılamaları gereken JSON dosyaları olan klasörler eklerken, alt klasörlerdeki dosyaları tekrar tekrar arama seçeneğiniz vardır.

JSON dosya kaynağı seçeneklerinin ekran görüntüsü: Veritabanı geçişi araçları

Bağlantı dizesi aşağıdaki biçimdedir:

AccountEndpoint=<CosmosDB Endpoint>;AccountKey=<CosmosDB Key>;Database=<CosmosDB Database>

  • , <CosmosDB Endpoint> uç nokta URI'leridir. Bu değeri Azure portal. Azure Cosmos gidin. Genel Bakış bölmesini açın ve URI değerini kopyalayın.
  • , <AccountKey> "Parola" veya PRIMARY KEY 'tir. Bu değeri Azure portal. Azure Cosmos gidin. Bağlantı Dizeleri veya Anahtarlar bölmesini açın ve "Parola" veya PRIMARY KEY değerini kopyalayın.
  • <CosmosDB Database>, CosmosDB veritabanı adıdır.

Örnek: AccountEndpoint=https://myCosmosDBName.documents.azure.com:443/;AccountKey=wJmFRYna6ttQ79ATmrTMKql8vPri84QBiHTt6oinFkZRvoe7Vv81x9sn6zlVlBY10bEPMgGM982wfYXpWXWB9w==;Database=myDatabaseName

Not

Bağlantı dizesi alanında belirtilen Cosmos DB hesabına erişenin olduğundan emin olmak için Doğrula komutunu kullanın.

Aşağıda, JSON dosyalarını içeri aktarmak için bazı komut satırı örnekleri verilmiştir:

#Import a single JSON file
dt.exe /s:JsonFile /s.Files:.\Sessions.json /t:DocumentDBBulk /t.ConnectionString:"AccountEndpoint=<CosmosDB Endpoint>;AccountKey=<CosmosDB Key>;Database=<CosmosDB Database>;" /t.Collection:Sessions /t.CollectionThroughput:2500

#Import a directory of JSON files
dt.exe /s:JsonFile /s.Files:C:\TESessions\*.json /t:DocumentDBBulk /t.ConnectionString:" AccountEndpoint=<CosmosDB Endpoint>;AccountKey=<CosmosDB Key>;Database=<CosmosDB Database>;" /t.Collection:Sessions /t.CollectionThroughput:2500

#Import a directory (including sub-directories) of JSON files
dt.exe /s:JsonFile /s.Files:C:\LastFMMusic\**\*.json /t:DocumentDBBulk /t.ConnectionString:" AccountEndpoint=<CosmosDB Endpoint>;AccountKey=<CosmosDB Key>;Database=<CosmosDB Database>;" /t.Collection:Music /t.CollectionThroughput:2500

#Import a directory (single), directory (recursive), and individual JSON files
dt.exe /s:JsonFile /s.Files:C:\Tweets\*.*;C:\LargeDocs\**\*.*;C:\TESessions\Session48172.json;C:\TESessions\Session48173.json;C:\TESessions\Session48174.json;C:\TESessions\Session48175.json;C:\TESessions\Session48177.json /t:DocumentDBBulk /t.ConnectionString:"AccountEndpoint=<CosmosDB Endpoint>;AccountKey=<CosmosDB Key>;Database=<CosmosDB Database>;" /t.Collection:subs /t.CollectionThroughput:2500

#Import a single JSON file and partition the data across 4 collections
dt.exe /s:JsonFile /s.Files:D:\\CompanyData\\Companies.json /t:DocumentDBBulk /t.ConnectionString:"AccountEndpoint=<CosmosDB Endpoint>;AccountKey=<CosmosDB Key>;Database=<CosmosDB Database>;" /t.Collection:comp[1-4] /t.PartitionKey:name /t.CollectionThroughput:2500

MongoDB’den içeri aktarma

Önemli

MongoDB için Azure Cosmos DB API'si ile yapılandırılmış bir Cosmos hesabına içeri aktarıyorsanız, bu yönergeleri izleyin.

MongoDB kaynak içeri aktarıcı seçeneğiyle, tek bir MongoDB koleksiyonundan içeri aktarabilirsiniz, isteğe bağlı olarak bir sorgu kullanarak belgeleri filtreler ve bir projeksiyon kullanarak belge yapısını değiştirebilirsiniz.

MongoDB kaynağı seçeneklerinin ekran görüntüsü

Bağlantı dizesi, standart MongoDB biçimindedir:

mongodb://<dbuser>:<dbpassword>@<host>:<port>/<database>

Not

Bağlantı dizesi alanında belirtilen MongoDB örneğinin erişilebilir olduğundan emin olmak için Doğrula komutunu kullanın.

İçinden verilerin içeri aktarılacağı koleksiyonun adını girin. İsteğe bağlı olarak, içeri aktarıyorsanız verileri hem filtrelemek hem de şekillendirmek için sorgu için gibi bir dosya veya gibi bir projeksiyon {pop: {$gt:5000}} {loc:0} belirtebilirsiniz.

Aşağıda, MongoDB’den içeri aktarılacak bazı komut satırı örnekleri verilmiştir:

#Import all documents from a MongoDB collection
dt.exe /s:MongoDB /s.ConnectionString:mongodb://<dbuser>:<dbpassword>@<host>:<port>/<database> /s.Collection:zips /t:DocumentDBBulk /t.ConnectionString:"AccountEndpoint=<CosmosDB Endpoint>;AccountKey=<CosmosDB Key>;Database=<CosmosDB Database>;" /t.Collection:BulkZips /t.IdField:_id /t.CollectionThroughput:2500

#Import documents from a MongoDB collection which match the query and exclude the loc field
dt.exe /s:MongoDB /s.ConnectionString:mongodb://<dbuser>:<dbpassword>@<host>:<port>/<database> /s.Collection:zips /s.Query:{pop:{$gt:50000}} /s.Projection:{loc:0} /t:DocumentDBBulk /t.ConnectionString:"AccountEndpoint=<CosmosDB Endpoint>;AccountKey=<CosmosDB Key>;Database=<CosmosDB Database>;" /t.Collection:BulkZipsTransform /t.IdField:_id/t.CollectionThroughput:2500

MongoDB dışarı aktarma dosyalarını içeri aktarma

Önemli

mongodb desteğiyle Azure Cosmos DB bir hesaba aktarıyorsanız, bu yönergeleriizleyin.

MongoDB dışarı aktarma JSON dosyası kaynak içeri aktarıcı seçeneği, mongoexport yardımcı programından üretilen bir veya daha fazla JSON dosyasını içeri aktarmanıza olanak sağlar.

MongoDB dışarı aktarma kaynağı seçeneklerinin ekran görüntüsü

İçeri aktarma için MongoDB dışa aktarma JSON dosyalarını içeren klasörler eklenirken, alt klasörlerdeki dosyaları yinelemeli olarak arama seçeneğiniz vardır.

Aşağıda, MongoDB dışarı aktarma JSON dosyalarından içeri aktarma işlemi yapmak için bir komut satırı örneği verilmiştir:

dt.exe /s:MongoDBExport /s.Files:D:\mongoemployees.json /t:DocumentDBBulk /t.ConnectionString:"AccountEndpoint=<CosmosDB Endpoint>;AccountKey=<CosmosDB Key>;Database=<CosmosDB Database>;" /t.Collection:employees /t.IdField:_id /t.Dates:Epoch /t.CollectionThroughput:2500

SQL Server’dan içeri aktarma

SQL kaynak içeri aktarıcı seçeneği, tek bir SQL Server veritabanından içeri aktarma işlemi yapmanıza ve isteğe bağlı şekilde bir sorgu kullanarak içeri aktarılacak kayıtları filtrelemenize olanak sağlar. Ayrıca bir iç içe geçirme ayırıcısı belirterek de belge yapısını değiştirebilirsiniz (kısa bir süre sonra bununla ilgili daha fazla bilgi verilecektir).

SQL kaynak seçeneklerinin ekran görüntüsü: veritabanı geçişi araçları

Bağlantı dizesinin biçimi, standart SQL bağlantı dizesi biçimindedir.

Not

Bağlantı dizesi alanında belirtilen SQL Server örneğinin erişilebilir olduğundan emin olmak için Doğrula komutunu kullanın.

İçeri aktarma sırasında hiyerarşik ilişkiler (alt belgeler) oluşturmak için iç içe geçirme ayırıcısı özelliği kullanılır. Aşağıdaki SQL sorgusunu dikkate alın:

select CAST(BusinessEntityID AS varchar) as Id, Name, AddressType as [Address.AddressType], AddressLine1 as [Address.AddressLine1], City as [Address.Location.City], StateProvinceName as [Address.Location.StateProvinceName], PostalCode as [Address.PostalCode], CountryRegionName as [Address.CountryRegionName] from Sales.vStoreWithAddresses WHERE AddressType='Main Office'

Aşağıdaki (kısmi) sonuçları döndürür:

SQL sorgusu sonuçlarının ekran görüntüsü

Address.AddressType ve Address.Location.StateProvinceName gibi diğer adlara dikkat edin. İç içe geçirme ayırıcısı olarak '.' öğesi belirtildiğinde içeri aktarma aracı içeri aktarma sırasında Address ve Address.Location alt belgelerini oluşturur. Aşağıda, Azure Cosmos DB’de elde edilen bir belge örneği verilmiştir:

{ "id": "956", "Name": "Finer Sales and Service", "Address": { "AddressType": "Main Office", "AddressLine1": "#500-75 O'Connor Street", "Location": { "City": "Ottawa", "StateProvinceName": "Ontario" }, "PostalCode": "K4B 1S2", "CountryRegionName": "Canada" } }

Aşağıda, SQL Server’dan içeri aktarılacak bazı komut satırı örnekleri verilmiştir:

#Import records from SQL which match a query
dt.exe /s:SQL /s.ConnectionString:"Data Source=<server>;Initial Catalog=AdventureWorks;User Id=advworks;Password=<password>;" /s.Query:"select CAST(BusinessEntityID AS varchar) as Id, * from Sales.vStoreWithAddresses WHERE AddressType='Main Office'" /t:DocumentDBBulk /t.ConnectionString:" AccountEndpoint=<CosmosDB Endpoint>;AccountKey=<CosmosDB Key>;Database=<CosmosDB Database>;" /t.Collection:Stores /t.IdField:Id /t.CollectionThroughput:2500

#Import records from sql which match a query and create hierarchical relationships
dt.exe /s:SQL /s.ConnectionString:"Data Source=<server>;Initial Catalog=AdventureWorks;User Id=advworks;Password=<password>;" /s.Query:"select CAST(BusinessEntityID AS varchar) as Id, Name, AddressType as [Address.AddressType], AddressLine1 as [Address.AddressLine1], City as [Address.Location.City], StateProvinceName as [Address.Location.StateProvinceName], PostalCode as [Address.PostalCode], CountryRegionName as [Address.CountryRegionName] from Sales.vStoreWithAddresses WHERE AddressType='Main Office'" /s.NestingSeparator:. /t:DocumentDBBulk /t.ConnectionString:" AccountEndpoint=<CosmosDB Endpoint>;AccountKey=<CosmosDB Key>;Database=<CosmosDB Database>;" /t.Collection:StoresSub /t.IdField:Id /t.CollectionThroughput:2500

CSV dosyalarını içeri aktarma ve CSV’yi JSON’a dönüştürme

CSV dosyası kaynak içeri aktarıcı seçeneği, bir veya daha fazla CSV dosyasını içeri aktarmanıza olanak sağlar. İçeri aktarma için CSV dosyaları olan klasörler eklenirken, alt klasörlerdeki dosyaları yinelemeli olarak arama seçeneğiniz vardır.

CSV kaynak seçeneklerinin ekran görüntüsü: CSV’den JSON’a

SQL kaynağına benzer şekilde, içeri aktarma sırasında hiyerarşik ilişkiler (alt belgeler) oluşturmak için iç içe geçirme ayırıcısı özelliği kullanılabilir. Aşağıdaki CSV üst bilgisi satırını ve veri satırlarını dikkate alın:

CSV örnek kayıtlarının ekran görüntüsü: CSV’den JSON’a

DomainInfo.Domain_Name ve RedirectInfo.Redirecting gibi diğer adlara dikkat edin. İç içe geçirme ayırıcısı olarak '.' öğesi belirtildiğinde içeri aktarma aracı içeri aktarma sırasında DomainInfo ve RedirectInfo alt belgelerini oluşturur. Aşağıda, Azure Cosmos DB’de elde edilen bir belge örneği verilmiştir:

{"DomainInfo": {"Domain_Name": "ACUS.GOV", "Domain_Name_Address": "https: / /www.ACUS.gov"}, "Federal kurum": "Birleşik Devletler Yönetici Konferansı", "Redirectınfo": {"yeniden yönlendirme": "0", "Redirect_Destination": ""}, "kimlik": "9cc565c5-EBCD-1c03-ebd3-cc3e2ecd814d"}

İçeri aktarma aracı, CSV dosyalarındaki tırnak içine alınmış olmayan değerler için tür bilgilerini çıkarmaya çalışır (tırnak içinde değerler her zaman dize olarak değerlendirilir). Türler şu sırayla tanımlanır: sayı, tarih saat, boole.

CSV içeri aktarımı ile ilgili dikkat edilecek iki şey daha vardır:

  1. Varsayılan olarak, tırnak içine alınmayan değerler her zaman sekmeler ve boşluklar için kırpılırken, tırnak içine alınan değerler olduğu gibi korunur. Tırnak içine alınan değerleri kırp onay kutusu veya /s.TrimQuoted komut satırı seçeneği ile bu davranış geçersiz kılınabilir.
  2. Varsayılan olarak, tırnak içine alınmayan null değer, null değer olarak değerlendirilir. Tırnak içine alınmayan NULL değeri dize olarak değerlendir onay kutusu veya /s.NoUnquotedNulls komut satırı seçeneği ile bu davranış geçersiz kılınabilir (başka bir deyişle, tırnak içine alınmayan null değer, "null" dize olarak değerlendirilir).

Aşağıda, CSV içeri aktarımı için bir komut satırı örneği verilmiştir:

dt.exe /s:CsvFile /s.Files:.\Employees.csv /t:DocumentDBBulk /t.ConnectionString:"AccountEndpoint=<CosmosDB Endpoint>;AccountKey=<CosmosDB Key>;Database=<CosmosDB Database>;" /t.Collection:Employees /t.IdField:EntityID /t.CollectionThroughput:2500

Azure Tablo depolamadan içeri aktarma

Azure Tablo depolama kaynak içeri aktarıcı seçeneği, tek bir Azure Tablo depolama tablosundan içeri aktarma işlemi yapmanıza olanak sağlar. İsteğe bağlı olarak, içeri aktarılacak tablo varlıklarını filtreleyebilirsiniz.

Tablo API'si ile kullanmak üzere Azure Cosmos DB tabloları ve varlıkları Depolama Azure tablosundan içeri aktarılan verilerin çıktısını alabilirsiniz. içeri aktarılan veriler, SQL apı 'siyle kullanılmak üzere koleksiyonlar ve belgeler için de çıktı olabilir. Ancak, Tablo API'si yalnızca komut satırı yardımcı programında hedef olarak kullanılabilir. Veri geçiş aracı Kullanıcı arabirimini kullanarak Tablo API'si dışarı aktarabilirsiniz. Daha fazla bilgi için bkz. Azure Cosmos DB Tablo API’si ile kullanılmak üzere verileri içeri aktarma.

Azure Tablo depolama kaynağı seçeneklerinin ekran görüntüsü

Azure Tablo depolama bağlantı dizesinin biçimi şöyledir:

DefaultEndpointsProtocol=<protocol>;AccountName=<Account Name>;AccountKey=<Account Key>;

Not

Bağlantı dizesi alanında belirtilen Azure Tablo depolama örneğinin erişilebilir olduğundan emin olmak için Doğrula komutunu kullanın.

İçinden içeri aktarma yapılacak Azure tablosunun adını girin. İsteğe bağlı olarak bir filtre belirtebilirsiniz.

Azure Tablo depolama kaynağı içeri aktarıcı seçeneği aşağıdaki ek seçenekleri içerir:

  1. İç Alanları Dahil Et
    1. Tümü: Tüm iç alanları (PartitionKey, RowKey ve Timestamp) dahil et
    2. Hiçbiri: Tüm iç alanları dışla
    3. RowKey: Yalnızca RowKey alanını dahil et
  2. Sütun Seç
    1. Azure Tablo depolama filtreleri projeksiyonları desteklemez. Yalnızca belirli Azure Tablo varlığı özelliklerini içeri aktarmak istiyorsanız bunları Sütun Seç listesine ekleyin. Diğer tüm varlık özellikleri yoksayılır.

Aşağıda, Azure Tablo depolamadan içeri aktarılacak bir komut satırı örneği verilmiştir:

dt.exe /s:AzureTable /s.ConnectionString:"DefaultEndpointsProtocol=https;AccountName=<Account Name>;AccountKey=<Account Key>" /s.Table:metrics /s.InternalFields:All /s.Filter:"PartitionKey eq 'Partition1' and RowKey gt '00001'" /s.Projection:ObjectCount;ObjectSize  /t:DocumentDBBulk /t.ConnectionString:" AccountEndpoint=<CosmosDB Endpoint>;AccountKey=<CosmosDB Key>;Database=<CosmosDB Database>;" /t.Collection:metrics /t.CollectionThroughput:2500

Amazon DynamoDB’den içeri aktarma

Amazon DynamoDB kaynağı alma seçeneği, tek bir Amazon DynamoDB tablosundan içeri aktarmanızı sağlar. Bu, isteğe bağlı olarak içeri aktarılacak varlıkları filtreleyebilirler. İçeri aktarımın mümkün olduğunca kolay şekilde ayarlanması için birçok şablon sağlanır.

Amazon DynamoDB kaynak seçenekleri-veritabanı geçiş araçları ekran görüntüsü.

Kaynak-veritabanı geçiş araçlarıyla Amazon DynamoDB kaynak seçeneklerinin ekran görüntüsü.

Amazon DynamoDB bağlantı dizesinin biçimi şöyledir:

ServiceURL=<Service Address>;AccessKey=<Access Key>;SecretKey=<Secret Key>;

Not

Bağlantı dizesi alanında belirtilen Amazon DynamoDB örneğinin erişilebilir olduğundan emin olmak için Doğrula komutunu kullanın.

Aşağıda, Amazon DynamoDB’den içeri aktarım için bir komut satırı örneği verilmiştir:

dt.exe /s:DynamoDB /s.ConnectionString:ServiceURL=https://dynamodb.us-east-1.amazonaws.com;AccessKey=<accessKey>;SecretKey=<secretKey> /s.Request:"{   """TableName""": """ProductCatalog""" }" /t:DocumentDBBulk /t.ConnectionString:"AccountEndpoint=<Azure Cosmos DB Endpoint>;AccountKey=<Azure Cosmos DB Key>;Database=<Azure Cosmos database>;" /t.Collection:catalogCollection /t.CollectionThroughput:2500

Azure Blob depolama alanından içeri aktarma

JSON dosyası, MongoDB dışarı aktarma dosyası ve CSV dosyası kaynak içeri aktarıcı seçenekleri, Azure Blob depolama alanından bir veya daha fazla dosyayı içeri aktarmanıza olanak sağlar. Bir Blob kapsayıcı URL’si ve Hesap Anahtarı belirttikten sonra, içeri aktarılacak dosyaları seçmek için bir normal ifade sağlayın.

Blob dosya kaynağı seçeneklerinin ekran görüntüsü

Aşağıda, Azure Blob depolama alanından JSON dosyalarını içeri aktarmak için komut satırı örneği verilmiştir:

dt.exe /s:JsonFile /s.Files:"blobs://<account key>@account.blob.core.windows.net:443/importcontainer/.*" /t:DocumentDBBulk /t.ConnectionString:"AccountEndpoint=<CosmosDB Endpoint>;AccountKey=<CosmosDB Key>;Database=<CosmosDB Database>;" /t.Collection:doctest

SQL API koleksiyonundan içeri aktarma

Azure Cosmos DB kaynak alma seçeneği, bir veya daha fazla Azure Cosmos kapsayıcılarından verileri içeri aktarmanıza ve isteğe bağlı olarak, bir sorgu kullanarak belge filtrelemenize olanak tanır.

Azure Cosmos DB kaynağı seçeneklerinin ekran görüntüsü

Azure Cosmos DB bağlantı dizesinin biçimi şöyledir:

AccountEndpoint=<CosmosDB Endpoint>;AccountKey=<CosmosDB Key>;Database=<CosmosDB Database>;

Azure Cosmos DB hesabı yönetmebölümünde açıklandığı gibi, Azure portal anahtarlar sayfasından Azure Cosmos DB hesabı bağlantı dizesini alabilirsiniz. Ancak, veritabanının adı bağlantı dizesinin aşağıdaki biçimde eklenmesi gerekir:

Database=<CosmosDB Database>;

Not

Bağlantı dizesi alanında belirtilen Azure Cosmos DB örneğinin erişilebilir olduğundan emin olmak için Doğrula komutunu kullanın.

tek bir Azure Cosmos kapsayıcısından içeri aktarmak için, verilerin içeri aktarılacağı koleksiyonun adını girin. birden fazla Azure Cosmos kapsayıcısını içeri aktarmak için bir veya daha fazla koleksiyon adıyla eşleşecek bir normal ifade sağlayın (örneğin, collection01 | collection02 | collection03). İsteğe bağlı olarak, içeri aktardığınız verilerin filtreleneceği ve şekillendirileni için bir sorgu belirtebilir veya bir dosya sağlayabilirsiniz.

Not

Koleksiyon alanı normal ifadeleri kabul ettiğinden, adının normal ifade karakterlerine sahip olduğu tek bir koleksiyondan içeri aktarıyorsanız, bu karakterlerin buna uygun şekilde kaçışılması gerekir.

Azure Cosmos DB kaynağı içeri aktarıcı seçeneği aşağıdaki gelişmiş seçenekleri içerir:

  1. İç Alanları Dahil Et: Azure Cosmos DB belge sistemi özelliklerinin dışa aktarıma dahil edilip edilmeyeceğini belirtir (örneğin, _rid, _ts).
  2. Hata Durumunda Yeniden Deneme Sayısı: Geçici hatalar (örneğin, ağ bağlantısı kesintisi) olması durumunda Azure Cosmos DB’ye bağlantı yeniden denemesi sayısını belirtir.
  3. Yeniden Deneme Aralığı: Geçici hatalar (örneğin, ağ bağlantısı kesintisi) olması durumunda Azure Cosmos DB’ye yapılacak bağlantı yeniden denemeleri arasında beklenecek süreyi belirtir.
  4. Bağlantı Modu: Azure Cosmos DB ile kullanılacak bağlantı modunu belirtir. Kullanılabilir seçenekler, DirectTcp, DirectHttps ve Gateway seçenekleridir. Doğrudan bağlantı modları daha hızlıyken, ağ geçidi modu ise yalnızca 443 numaralı bağlantı noktasını kullandığından güvenlik duvarıyla daha kolay kullanılabilir.

Azure Cosmos DB kaynağı gelişmiş seçeneklerinin ekran görüntüsü

İpucu

İçeri aktarma aracı, varsayılan olarak DirectTcp bağlantı moduna geçer. Güvenlik duvarıyla ilgili sorun yaşarsanız, Ağ Geçidi bağlantı moduna geçin; bu yalnızca 443 numaralı bağlantı noktasını gerektirir.

Aşağıda, Azure Cosmos DB’den içeri aktarılacak bazı komut satırı örnekleri verilmiştir:

#Migrate data from one Azure Cosmos container to another Azure Cosmos containers
dt.exe /s:DocumentDB /s.ConnectionString:"AccountEndpoint=<CosmosDB Endpoint>;AccountKey=<CosmosDB Key>;Database=<CosmosDB Database>;" /s.Collection:TEColl /t:DocumentDBBulk /t.ConnectionString:" AccountEndpoint=<CosmosDB Endpoint>;AccountKey=<CosmosDB Key>;Database=<CosmosDB Database>;" /t.Collection:TESessions /t.CollectionThroughput:2500

#Migrate data from more than one Azure Cosmos container to a single Azure Cosmos container
dt.exe /s:DocumentDB /s.ConnectionString:"AccountEndpoint=<CosmosDB Endpoint>;AccountKey=<CosmosDB Key>;Database=<CosmosDB Database>;" /s.Collection:comp1|comp2|comp3|comp4 /t:DocumentDBBulk /t.ConnectionString:"AccountEndpoint=<CosmosDB Endpoint>;AccountKey=<CosmosDB Key>;Database=<CosmosDB Database>;" /t.Collection:singleCollection /t.CollectionThroughput:2500

#Export an Azure Cosmos container to a JSON file
dt.exe /s:DocumentDB /s.ConnectionString:"AccountEndpoint=<CosmosDB Endpoint>;AccountKey=<CosmosDB Key>;Database=<CosmosDB Database>;" /s.Collection:StoresSub /t:JsonFile /t.File:StoresExport.json /t.Overwrite

İpucu

Azure Cosmos DB Veri İçeri Aktarma Aracı, Azure Cosmos DB Öykünücüsü’nden verilerin içeri aktarımını da destekler. Yerel bir öykünücüden verilerini içeri aktarırken uç noktayı https://localhost:<port> olarak ayarlayın.

HBase’den içeri aktarma

HBase kaynak içeri aktarıcı seçeneği, bir HBase tablosundan verileri içeri aktarmanıza ve isteğe bağlı olarak verileri filtrelemenize olanak sağlar. İçeri aktarımın mümkün olduğunca kolay şekilde ayarlanması için birçok şablon sağlanır.

HBase kaynak seçeneklerinin ekran görüntüsü.

Filtre bağlamsal menüsü genişletilmiş HBase kaynak seçeneklerinin ekran görüntüsü.

HBase Stargate bağlantı dizesinin biçimi şöyledir:

ServiceURL=<server-address>;Username=<username>;Password=<password>

Not

Bağlantı dizesi alanında belirtilen HBase örneğinin erişilebilir olduğundan emin olmak için Doğrula komutunu kullanın.

Aşağıda, HBase’den içeri aktarım için bir komut satırı örneği verilmiştir:

dt.exe /s:HBase /s.ConnectionString:ServiceURL=<server-address>;Username=<username>;Password=<password> /s.Table:Contacts /t:DocumentDBBulk /t.ConnectionString:"AccountEndpoint=<CosmosDB Endpoint>;AccountKey=<CosmosDB Key>;Database=<CosmosDB Database>;" /t.Collection:hbaseimport

SQL API’sine içeri aktarma (Toplu İçeri Aktarma)

Azure Cosmos DB Toplu içeri aktarıcı, verimlilik için bir Azure Cosmos DB saklı yordamını kullanarak kullanılabilir kaynak seçeneklerden herhangi birinden içeri aktarma işlemi yapmanıza olanak sağlar. araç, tek bölümlenmiş bir Azure Cosmos kapsayıcısına içeri aktarmayı destekler. ayrıca, verilerin birden fazla tek bölümlenmiş Azure Cosmos kapsayıcısına bölümlenmesi için parçalı içeri aktarmayı destekler. Verileri bölümleme hakkında daha fazla bilgi için bkz. Azure Cosmos DB'de bölümleme ve ölçeklendirme. Araç, saklı yordam oluşturur, yürütür ve sonra hedef koleksiyonlardan saklı yordamı siler.

Azure Cosmos DB toplu seçeneklerinin ekran görüntüsü

Azure Cosmos DB bağlantı dizesinin biçimi şöyledir:

AccountEndpoint=<CosmosDB Endpoint>;AccountKey=<CosmosDB Key>;Database=<CosmosDB Database>;

Azure Cosmos DB hesabını yönetme bölümünde açıklandığı gibi, Azure portalının Anahtarlar sayfasından Azure Cosmos DB hesabı bağlantı dizesi alınabilse de, bağlantı dizesinin sonuna veritabanı adının şu biçimde eklenmesi gerekir:

Database=<CosmosDB Database>;

Not

Bağlantı dizesi alanında belirtilen Azure Cosmos DB örneğinin erişilebilir olduğundan emin olmak için Doğrula komutunu kullanın.

Tek bir koleksiyona içeri aktarmak için, içinden verilerin içeri aktarılacağı koleksiyonun adını girin ve Ekle düğmesine tıklayın. Birden fazla koleksiyona içeri aktarmak için her bir koleksiyon adını tek tek girin veya birden fazla koleksiyon belirtmek için şu sözdizimini kullanın: collection_prefix[Dizin sonu dizinini Başlat]. Belirtilen sözdizimini kullanarak birden fazla koleksiyon belirtirken aşağıdaki yönergeleri aklınızda bulundurun:

  1. Yalnızca tamsayı aralığı adı desenleri desteklenir. Örneğin, collection[0-3] belirtildiğinde şu koleksiyonlar oluşturulur: collection0, collection1, collection2, collection3.
  2. Kısaltılmış bir sözdizimi kullanabilirsiniz: collection[3], 1. adımda belirtilen aynı koleksiyon kümesini oluşturur.
  3. Birden fazla değiştirme sağlanabilir. Örneğin, collection[0-1] [0-9], başında sıfır olan 20 koleksiyon adı oluşturur (collection01, ..02, ..03).

Koleksiyon adları belirtildikten sonra, koleksiyonların istediğiniz aktarım hızını seçin (400 RU - 10.000 RU). En iyi içeri aktarma performansı için daha yüksek bir aktarım hızı seçin. Performans düzeyleri hakkında daha fazla bilgi için bkz. Azure Cosmos DB’de performans düzeyleri.

Not

Performans aktarım hızı ayarı yalnızca koleksiyon oluşturma için geçerlidir. Belirtilen koleksiyon zaten varsa, işlem hacmi değiştirilmez.

Birden fazla koleksiyona aktardığınızda, içeri aktarma aracı karma tabanlı parçalama destekler. Bu senaryoda, bölüm anahtarı olarak kullanmak istediğiniz belge özelliğini belirtin. (Bölüm anahtarı boş bırakılırsa, belgeler hedef koleksiyonlar arasında rastgele bir şekilde oluşturulur.)

içeri aktarma işlemi sırasında içeri aktarma kaynağındaki hangi alanın Azure Cosmos DB belge kimliği özelliği olarak kullanılması gerektiğini isteğe bağlı olarak belirtebilirsiniz. Belgeler bu özelliğe sahip değilse, içeri aktarma aracı KIMLIK özelliği değeri olarak bir GUID oluşturur.

İçeri aktarma sırasında kullanılabilen birçok gelişmiş seçenek vardır. İlk olarak, araç varsayılan bir toplu içeri aktarma saklı yordamı (BulkInsert.js) içerse de, kendi içeri aktarma saklı yordamınızı belirtmeyi seçebilirsiniz:

Azure Cosmos DB toplu ekleme sproc seçeneğinin ekran görüntüsü

Ayrıca veri türlerini içeri aktarırken (örneğin, SQL Server veya MongoDB’den) üç içeri aktarma seçeneği arasından seçim yapabilirsiniz:

Azure Cosmos DB tarih saat içeri aktarma seçeneklerinin ekran görüntüsü

  • Dize: Dize değeri olarak kalıcı olur
  • Dönem: Bir Dönem sayı değeri olarak kalıcı olur
  • Her İkisi: Hem dize hem de Dönem sayı değeri olarak kalıcı olur. Bu seçenek bir alt belge oluşturur; örneğin: "date_joined": { "Value": "2013-10-21T21:17:25.2410000Z", "Epoch": 1382390245 }

Azure Cosmos DB Toplu içeri aktarıcı aşağıdaki ek gelişmiş seçenekleri içerir:

  1. Toplu İş Boyutu: Araç varsayılan olarak 50 toplu iş boyutunu belirler. İçeri aktarılacak belgeler büyükse, toplu iş boyutunu küçültün. Aksine, içeri aktarılacak belgeler küçükse, toplu iş boyutunu büyütün.
  2. Maksimum Betik Boyutu (bayt): Araç varsayılan olarak 512 KB maksimum betik boyutunu belirler.
  3. Otomatik kimlik oluşturmayı devre dışı bırak: içeri aktarılacak her belge bir KIMLIK alanına sahipse, bu seçeneğin belirlenmesi performansı artırabilir. Benzersiz bir KIMLIK alanı eksik olan belgeler içeri aktarılmaz.
  4. Mevcut belgeleri güncelleştir: araç, mevcut belgeleri KIMLIK çakışmaları ile değiştirmez. Bu seçeneğin belirlenmesi, eşleşen kimlikleri olan mevcut belgelerin üzerine yazılmasına izin verir. Bu özellik, mevcut belgeleri güncelleştiren zamanlanmış veri geçişleri için yararlıdır.
  5. hata durumunda yeniden deneme sayısı: geçici hatalar sırasında Azure Cosmos DB bağlantısının ne sıklıkta yeniden deneneceğini belirtir (örneğin, ağ bağlantısı kesintisi).
  6. Yeniden Deneme Aralığı: Geçici hatalar (örneğin, ağ bağlantısı kesintisi) olması durumunda Azure Cosmos DB’ye yapılacak bağlantı yeniden denemeleri arasında beklenecek süreyi belirtir.
  7. Bağlantı Modu: Azure Cosmos DB ile kullanılacak bağlantı modunu belirtir. Kullanılabilir seçenekler, DirectTcp, DirectHttps ve Gateway seçenekleridir. Doğrudan bağlantı modları daha hızlıyken, ağ geçidi modu ise yalnızca 443 numaralı bağlantı noktasını kullandığından güvenlik duvarıyla daha kolay kullanılabilir.

Azure Cosmos DB toplu içeri aktarma gelişmiş seçeneklerinin ekran görüntüsü

İpucu

İçeri aktarma aracı, varsayılan olarak DirectTcp bağlantı moduna geçer. Güvenlik duvarıyla ilgili sorun yaşarsanız, Ağ Geçidi bağlantı moduna geçin; bu yalnızca 443 numaralı bağlantı noktasını gerektirir.

SQL API’sine içeri aktarma (Sıralı Kayıt İçeri Aktarma)

Azure Cosmos DB sıralı kayıt alma programı, kayıt temelinde bulunan kullanılabilir bir kaynak seçeneğinden içeri aktarmanızı sağlar. Saklı yordam kotasına ulaşmış olan mevcut bir koleksiyona içeri aktarma işlemi yapıyorsanız bu seçeneği belirleyebilirsiniz. araç tek bir (tek bölümlü ve çok bölgeli) Azure Cosmos kapsayıcısına aktarmayı destekler. ayrıca, verilerin birden fazla tek bölümlü veya çok bölgeli Azure Cosmos kapsayıcısına bölümlenmiş olduğu parçalı içeri aktarmayı da destekler. Verileri bölümleme hakkında daha fazla bilgi için bkz. Azure Cosmos DB'de bölümleme ve ölçeklendirme.

Azure Cosmos DB sıralı kayıt içeri aktarma seçeneklerinin ekran görüntüsü

Azure Cosmos DB bağlantı dizesinin biçimi şöyledir:

AccountEndpoint=<CosmosDB Endpoint>;AccountKey=<CosmosDB Key>;Database=<CosmosDB Database>;

Azure Cosmos DB hesabını yönetmebölümünde açıklandığı gibi, Azure portal anahtarlar sayfasından Azure Cosmos DB hesabının bağlantı dizesini alabilirsiniz. Ancak, veritabanının adı bağlantı dizesinin aşağıdaki biçimde eklenmesi gerekir:

Database=<Azure Cosmos database>;

Not

Bağlantı dizesi alanında belirtilen Azure Cosmos DB örneğinin erişilebilir olduğundan emin olmak için Doğrula komutunu kullanın.

Tek bir koleksiyona aktarmak için, verilerin içe aktarılacağı koleksiyonun adını girin ve ardından Ekle düğmesine tıklayın. Birden fazla koleksiyona içeri aktarmak için her koleksiyon adını tek tek girin. Ayrıca, birden fazla koleksiyon belirtmek için şu sözdizimini kullanabilirsiniz: collection_prefix[Dizin bitiş dizinini Başlat]. Belirtilen sözdizimi aracılığıyla birden fazla koleksiyon belirtirken aşağıdaki yönergeleri aklınızda bulundurun:

  1. Yalnızca tamsayı aralığı adı desenleri desteklenir. Örneğin, collection[0-3] belirtildiğinde şu koleksiyonlar oluşturulur: collection0, collection1, collection2, collection3.
  2. Kısaltılmış bir sözdizimi kullanabilirsiniz: collection[3], 1. adımda belirtilen aynı koleksiyon kümesini oluşturur.
  3. Birden fazla değiştirme sağlanabilir. Örneğin, collection[0-1] [0-9], başında sıfır olan 20 koleksiyon adı oluşturur (collection01, ..02, ..03).

Koleksiyon adları belirtildikten sonra, koleksiyonların istediğiniz aktarım hızını seçin (400 RU - 250.000 RU). En iyi içeri aktarma performansı için daha yüksek bir aktarım hızı seçin. Performans düzeyleri hakkında daha fazla bilgi için bkz. Azure Cosmos DB’de performans düzeyleri. Aktarım hızı 10.000 RU’da büyük olan koleksiyonlara içeri aktarma işlemi için bölüm anahtarı gerekir. 250.000’den fazla RU’nuz olmasını seçerseniz, hesabınızın artırılması için portalda bir istekte bulunmanız gerekir.

Not

Aktarım hızı ayarı yalnızca koleksiyon veya veritabanı oluşturma için geçerlidir. Belirtilen koleksiyon zaten varsa, işlem hacmi değiştirilmez.

Birden fazla koleksiyona içeri aktarırken, içeri aktarma aracı karma tabanlı parçalama destekler. Bu senaryoda, bölüm anahtarı olarak kullanmak istediğiniz belge özelliğini belirtin. (Bölüm anahtarı boş bırakılırsa, belgeler hedef koleksiyonlar arasında rastgele bir şekilde oluşturulur.)

içeri aktarma işlemi sırasında içeri aktarma kaynağındaki hangi alanın Azure Cosmos DB belge kimliği özelliği olarak kullanılması gerektiğini isteğe bağlı olarak belirtebilirsiniz. (Belgeler bu özelliğe sahip değilse, içeri aktarma aracı KIMLIK özelliği değeri olarak bir GUID oluşturur.)

İçeri aktarma sırasında kullanılabilen birçok gelişmiş seçenek vardır. İlk olarak, veri türlerini içeri aktarırken (örneğin, SQL Server veya MongoDB’den) üç içeri aktarma seçeneği arasından seçim yapabilirsiniz:

Azure Cosmos DB tarih saat içeri aktarma seçeneklerinin ekran görüntüsü

  • Dize: Dize değeri olarak kalıcı olur
  • Dönem: Bir Dönem sayı değeri olarak kalıcı olur
  • Her İkisi: Hem dize hem de Dönem sayı değeri olarak kalıcı olur. Bu seçenek bir alt belge oluşturur; örneğin: "date_joined": { "Value": "2013-10-21T21:17:25.2410000Z", "Epoch": 1382390245 }

Azure Cosmos DB: Sıralı kayıt içeri aktarıcı aşağıdaki ek gelişmiş seçenekleri içerir:

  1. Paralel İstek Sayısı: Araç varsayılan olarak iki paralel isteği belirler. İçeri aktarılacak belgeler küçükse, paralel istek sayısını yükseltin. Bu sayı çok fazla yükseltilirse içeri aktarma sırasında hız sınırlama oluşabilir.
  2. Otomatik kimlik oluşturmayı devre dışı bırak: içeri aktarılacak her belge bir KIMLIK alanına sahipse, bu seçeneğin belirlenmesi performansı artırabilir. Benzersiz bir KIMLIK alanı eksik olan belgeler içeri aktarılmaz.
  3. Mevcut belgeleri güncelleştir: araç, mevcut belgeleri KIMLIK çakışmaları ile değiştirmez. Bu seçeneğin belirlenmesi, eşleşen kimlikleri olan mevcut belgelerin üzerine yazılmasına izin verir. Bu özellik, mevcut belgeleri güncelleştiren zamanlanmış veri geçişleri için yararlıdır.
  4. hata durumunda yeniden deneme sayısı: geçici hatalar sırasında Azure Cosmos DB bağlantısının ne sıklıkta yeniden deneneceğini belirtir (örneğin, ağ bağlantısı kesintisi).
  5. yeniden deneme aralığı: geçici hatalarda Azure Cosmos DB bağlantının yeniden deneneceği (örneğin, ağ bağlantısı kesintisi) arasında ne kadar bekleneceğini belirtir.
  6. Bağlantı Modu: Azure Cosmos DB ile kullanılacak bağlantı modunu belirtir. Kullanılabilir seçenekler, DirectTcp, DirectHttps ve Gateway seçenekleridir. Doğrudan bağlantı modları daha hızlıyken, ağ geçidi modu ise yalnızca 443 numaralı bağlantı noktasını kullandığından güvenlik duvarıyla daha kolay kullanılabilir.

Azure Cosmos DB sıralı kayıt içeri aktarma gelişmiş seçeneklerinin ekran görüntüsü

İpucu

İçeri aktarma aracı, varsayılan olarak DirectTcp bağlantı moduna geçer. Güvenlik duvarıyla ilgili sorun yaşarsanız, Ağ Geçidi bağlantı moduna geçin; bu yalnızca 443 numaralı bağlantı noktasını gerektirir.

Dizin oluşturma ilkesi belirtme

Geçiş aracının, içeri aktarma sırasında Azure Cosmos DB SQL API koleksiyonları oluşturmasına izin verdiğinizde koleksiyonların dizin oluşturma ilkesini belirtebilirsiniz. Azure Cosmos DB Sıralı kayıt seçenekleri ve Azure Cosmos DB Toplu içeri aktarmanın gelişmiş seçenekler bölümünde Dizin Oluşturma İlkesi bölümüne gidin.

Azure Cosmos DB dizin oluşturma ilkesi gelişmiş seçeneklerinin ekran görüntüsü.

Dizin Oluşturma İlkesi gelişmiş seçeneğini kullanarak, bir dizin oluşturma ilkesi dosyası seçebilir, kendiniz bir dizin oluşturma ilkesi girebilir veya varsayılan şablonlar kümesi içinden seçim yapabilirsiniz (dizin oluşturma ilkesi metin kutusuna sağ tıklayarak).

Aracın sağladığı ilke şablonları şunlardır:

  • Varsayılan. Bu ilke, dizelerde eşitlik sorguları gerçekleştirdiğinizde en iyi seçenektir. Ayrıca, sayılar için SıRALAMA ölçütü, Aralık ve eşitlik sorguları kullanıyorsanız da kullanılabilir. Bu ilkenin, Aralıktan daha düşük dizin depolama yükü vardır.
  • Aralık. Bu ilke, hem sayılar hem de dizeler üzerinde SıRALAMA, Aralık ve eşitlik sorguları kullandığınızda en iyisidir. Bu ilkenin, Varsayılan veya Karmadan daha yüksek dizin depolama yükü vardır.

hedef bilgileri belirten Azure Cosmos DB dizin oluşturma ilkesi gelişmiş seçenekleri ekran görüntüsü.

Not

Bir dizin oluşturma ilkesi belirtmezseniz, varsayılan ilke uygulanır. Dizin oluşturma ilkeleri hakkında daha fazla bilgi için bkz: Azure Cosmos DB dizin oluşturma ilkeleri.

JSON dosyasına dışarı aktarma

Azure Cosmos DB json dışarı aktarıcı, kullanılabilir kaynak seçeneklerinden herhangi birini json belgelerinin dizisine sahip bir json dosyasına vermenize olanak tanır. Araç, dışarı aktarmayı sizin için işler. Alternatif olarak, elde edilen geçiş komutunu görüntülemeyi ve komutu kendiniz çalıştırmayı tercih edebilirsiniz. Sonuçta elde edilen JSON dosyası, yerel olarak veya Azure Blob depolama alanında depolanabilir.

Azure Cosmos DB JSON yerel dosya dışarı aktarma seçeneğinin ekran görüntüsü

Azure Cosmos DB JSON Azure Blob depolama alanı dışarı aktarma seçeneğinin ekran görüntüsü

İsteğe bağlı olarak, sonuçta elde edilen JSON 'ı önceden belirleyebilirsiniz. Bu eylem, içeriğin daha fazla okunabilir hale getirilmesi sırasında elde edilen belgenin boyutunu artırır.

  • Standart JSON dışarı aktarma

    [{"id":"Sample","Title":"About Paris","Language":{"Name":"English"},"Author":{"Name":"Don","Location":{"City":"Paris","Country":"France"}},"Content":"Don's document in Azure Cosmos DB is a valid JSON document as defined by the JSON spec.","PageViews":10000,"Topics":[{"Title":"History of Paris"},{"Title":"Places to see in Paris"}]}]
    
  • Önceden bağlı JSON dışarı aktarma

      [
       {
      "id": "Sample",
      "Title": "About Paris",
      "Language": {
        "Name": "English"
      },
      "Author": {
        "Name": "Don",
        "Location": {
          "City": "Paris",
          "Country": "France"
        }
      },
      "Content": "Don's document in Azure Cosmos DB is a valid JSON document as defined by the JSON spec.",
      "PageViews": 10000,
      "Topics": [
        {
          "Title": "History of Paris"
        },
        {
          "Title": "Places to see in Paris"
        }
      ]
      }]
    

Aşağıda, Azure Blob depolama alanından JSON dosyasını dışarı aktarmak için komut satırı örneği verilmiştir:

dt.exe /ErrorDetails:All /s:DocumentDB /s.ConnectionString:"AccountEndpoint=<CosmosDB Endpoint>;AccountKey=<CosmosDB Key>;Database=<CosmosDB database_name>" /s.Collection:<CosmosDB collection_name>
/t:JsonFile /t.File:"blobs://<Storage account key>@<Storage account name>.blob.core.windows.net:443/<Container_name>/<Blob_name>"
/t.Overwrite

Gelişmiş yapılandırma

Gelişmiş yapılandırma ekranında, hataların yazılmasını istediğiniz günlük dosyasının konumunu belirtin. Bu sayfa için aşağıdaki kurallar geçerlidir:

  1. Bir dosya adı sağlanmamışsa, tüm hatalar sonuçlar sayfasında döndürülür.

  2. Bir dizin olmadan dosya adı sağlanırsa, geçerli ortam dizininde dosya oluşturulur (veya dosyanın üzerine yazılır).

  3. Var olan bir dosyayı seçerseniz, dosyanın üzerine yazılır, hiçbir ekleme seçeneği yoktur.

  4. Daha sonra tüm hata iletilerinin mi, kritik hata iletilerinin mi günlüğe kaydedileceğini yoksa hiçbir hata iletisinin günlüğe kaydedilmeyeceğini mi seçin. Son olarak, ekrandaki aktarım iletisinin ilerleme durumunun ne sıklıkla güncelleştirileceğine karar verin.

    Gelişmiş yapılandırma ekranının görüntüsü

İçeri aktarma ayarlarını Onayla ve komut satırını görüntüle

  1. Kaynak bilgilerini, hedef bilgileri ve gelişmiş yapılandırmayı belirttikten sonra, geçiş özetini gözden geçirin ve isterseniz, elde edilen geçiş komutunu görüntüleyin veya kopyalayın. (Komutu kopyalamak, içeri aktarma işlemlerini otomatikleştirmek için yararlıdır.)

    Özet ekranının ekran görüntüsü.

    Komut satırı önizlemesiyle Özet ekranının ekran görüntüsü.

  2. Kaynak ve hedef seçeneklerden memnun kaldığınızda İçeri Aktar’a tıklayın. İçeri aktarma devam ettikçe, geçen süre, aktarılan sayı ve hata bilgileri (Gelişmiş yapılandırma bölümünde bir dosya adı sağlamadıysanız) güncelleştirilir. Tamamlandıktan sonra, sonuçları dışarı aktarabilirsiniz (örneğin, içeri aktarma hatalarıyla ilgilenmek için).

    JSON dışarı aktarma seçeneğinin Azure Cosmos DB ekran görüntüsü.

  3. Ayrıca, tüm değerleri sıfırlayarak veya var olan ayarları tutarak yeni bir içeri aktarma işlemi başlatabilirsiniz. (Örneğin, bağlantı dizesi bilgilerini, kaynak ve hedef seçimi ve daha fazlasını tutmayı seçebilirsiniz.)

    yeni içeri aktarma onayı iletişim kutusuyla Azure Cosmos DB JSON dışarı aktarma seçeneğinin ekran görüntüsü.

Sonraki adımlar

Bu öğreticide, aşağıdaki görevleri tamamladınız:

  • Veri Geçişi aracını yüklediniz
  • Farklı veri kaynaklarından verileri içeri aktardınız
  • Azure Cosmos DB’den JSON’a dışarı aktarma işlemi yaptınız

Şimdi, sonraki öğreticiye devam edebilir ve Azure Cosmos DB kullanarak verilerin nasıl sorgulanacağını öğrenebilirsiniz.

Azure Cosmos DB bir geçişe yönelik kapasite planlaması yapılmaya çalışılıyor musunuz?