verilerinizi bir Azure Cosmos DB Tablo API'si hesabına geçirin

Uygulama hedefı: tablo API'si

bu öğreticide, Azure Cosmos DB Tablo API'sikullanım için verileri içeri aktarmaya yönelik yönergeler sağlanmaktadır. Azure tablo Depolama depolanan veriler varsa, verilerinizi Azure Cosmos DB Tablo API'si aktarmak için veri geçiş aracı veya azcopy kullanabilirsiniz.

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

  • Veri geçiş aracı ile veri aktarma
  • AzCopy ile veri içeri aktarma

Önkoşullar

  • Aktarım hızını artırma: Veri geçişinizin süresi, tek bir kapsayıcı veya bir kapsayıcı kümesi için ayarladığınız 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.

  • Azure Cosmos DB kaynakları oluşturma: Verileri geçirmeye başlamadan önce, Azure portal tüm tablolarınızı oluşturun. veritabanı düzeyinde aktarım hızı olan bir Azure Cosmos DB hesabına geçiş yapıyorsanız, Azure Cosmos DB tabloları oluştururken bir bölüm anahtarı sağladığınızdan emin olun.

Veri geçiş aracı

mevcut Azure tablo Depolama verilerinizi bir Tablo API'si hesabına aktarmak için Azure Cosmos DB komut satırı veri geçiş aracı 'nı (dt.exe) kullanabilirsiniz.

Tablo verilerini geçirmek için:

  1. Geçiş aracını GitHub'dan indirin.

  2. dt.exeSenaryonuz için komut satırı bağımsız değişkenlerini kullanarak çalıştırın. dt.exe aşağıdaki biçimde bir komut alır:

     dt.exe [/<option>:<value>] /s:<source-name> [/s.<source-option>:<value>] /t:<target-name> [/t.<target-option>:<value>] 
    

Bu komut için desteklenen seçenekler şunlardır:

  • /Errorlog: Seçim. Veri aktarımı hatalarının yeniden yönlendirileceği CSV dosyasının adı.
  • /Overwritehata günlüğü: Seçim. Hata günlüğü dosyasının üzerine yazın.
  • /ProgressUpdateInterval: İsteğe bağlı, varsayılan 00:00:01 . Ekrandaki veri aktarımı ilerlemesini yenileme zaman aralığı.
  • /ErrorDetails: İsteğe bağlı, varsayılan None . Ayrıntılı hata bilgilerinin aşağıdaki hatalar için görüntüleneceğini belirtir: None , Critical , veya All .
  • /Enablecosmostablelog: Seçim. günlüğü bir Azure Cosmos DB tablo hesabına yönlendirin. Ayarlanırsa, bu varsayılan olarak hedef hesap bağlantı dizesine /CosmosTableLogConnectionString de sağlanmamıştır. Bu, aracın birden çok örneği aynı anda çalıştırıldığında yararlıdır.
  • /Cosmostablelogconnectionstring: Seçim. günlüğü uzak Azure Cosmos DB tablo hesabına yönlendirecek bağlantı dizesi.

Komut satırı kaynak ayarları

geçiş kaynağı olarak Azure tablo Depolama tanımlarken aşağıdaki kaynak seçeneklerini kullanın.

  • /s: AzureTable: tablodaki verileri okur Depolama.
  • /S.ConnectionString: Tablo uç noktası için bağlantı dizesi. Bunu Azure portal elde edebilirsiniz.
  • /S.locationmode: İsteğe bağlı, varsayılan PrimaryOnly . Depolama tablosuna bağlanılırken kullanılacak konum modunu belirtir:,,, PrimaryOnly PrimaryThenSecondary SecondaryOnly SecondaryThenPrimary .
  • /S.Table: Azure tablosunun adı.
  • /S.InternalFields: All , RowKey Ve PartitionKey içeri aktarma için gerekli olduğundan tablo geçişi için olarak ayarlayın.
  • /S.Filter: Seçim. Filtre dizesini Uygula.
  • /S.Projection: Seçim. Seçilecek sütunların listesi,

Depolama tablosundan içeri aktardığınızda kaynak bağlantı dizesini almak için Azure portal açın. Depolama hesapları > hesap > erişim anahtarları' nı seçin ve bağlantı dizesini kopyalayın.

Depolama hesapları > hesap > erişim tuşları seçeneklerini gösteren ve kopyala simgesini vurgulayan ekran görüntüsü.

Komut satırı hedefi ayarları

Azure Cosmos DB Tablo API'si geçişin hedefi olarak tanımlarken aşağıdaki hedef seçenekleri kullanın.

  • /t: Tabloapitoplu: Azure Cosmos DB Tablo API'si toplu işlemlere veri yükler.
  • /T.exe: Tablo uç noktası için bağlantı dizesi.
  • /T/TableName: Yazılacak tablonun adını belirtir.
  • /T.exe üzerine yaz: İsteğe bağlı, varsayılan false . Varolan değerlerin üzerine yazılıp yazılmayacağını belirtir.
  • /T.exe: İsteğe bağlı, varsayılan 1GB . Havuza veri reçeteye göre verileri kapatmadan önce arabelleğe giriş baytlarının yaklaşık tahmini tahminidir.
  • /T/aktarım hızı: İsteğe bağlı, hizmet varsayılan olarak belirlenir. Tablo için yapılandırılacak aktarım hızını belirtir.
  • /T3batchsize: İsteğe bağlı, varsayılan 2MB . Toplu iş boyutunu bayt cinsinden belirtin.

örnek komut: kaynak tablo Depolama

aşağıda tablo Depolama Tablo API'si nasıl içeri aktarılacağını gösteren bir komut satırı örneği verilmiştir:

dt /s:AzureTable /s.ConnectionString:DefaultEndpointsProtocol=https;AccountName=<Azure Table storage account name>;AccountKey=<Account Key>;EndpointSuffix=core.windows.net /s.Table:<Table name> /t:TableAPIBulk /t.ConnectionString:DefaultEndpointsProtocol=https;AccountName=<Azure Cosmos DB account name>;AccountKey=<Azure Cosmos DB account key>;TableEndpoint=https://<Account name>.table.cosmos.azure.com:443 /t.TableName:<Table name> /t.Overwrite

AzCopy'yi kullanarak veri geçirme

ayrıca azcopy komut satırı yardımcı programını kullanarak tablo Depolama verileri Azure Cosmos DB Tablo API'si olarak geçirebilirsiniz. azcopy kullanmak için, ilk olarak verilerinizi tablo Depolama dışarı aktarmabaşlığı altında açıklandığı gibi dışarı aktarabilirsiniz. ardından, aşağıdaki komutla verileri Azure Cosmos DB Tablo API'si içeri aktarırsınız. Azure Tablo depolamaalanına da aktarabilirsiniz.

Azure Cosmos DB içine aktarırken aşağıdaki örneğe bakın. /DestDeğerin cosmosdb , değil, kullandığını unutmayın core .

Örnek içeri aktarma komutu:

AzCopy /Source:C:\myfolder\ /Dest:https://myaccount.table.cosmosdb.windows.net/mytable1/ /DestKey:key /Manifest:"myaccount_mytable_20140103T112020.manifest" /EntityOperation:InsertOrReplace

Sonraki adımlar

Azure Cosmos DB Tablo API'si kullanarak verileri sorgulamayı öğrenin.