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:
Geçiş aracını GitHub'dan indirin.
dt.exeSenaryonuz için komut satırı bağımsız değişkenlerini kullanarak çalıştırın.dt.exeaş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, veyaAll. - /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
/CosmosTableLogConnectionStringde 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:,,,PrimaryOnlyPrimaryThenSecondarySecondaryOnlySecondaryThenPrimary. - /S.Table: Azure tablosunun adı.
- /S.InternalFields:
All,RowKeyVePartitionKeyiç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.
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.