Aracılığıyla paylaş


Azure Cosmos DB'de işleri kopyalama (önizleme)

Azure Cosmos DB'de kapsayıcı kopyalama işlerini kullanarak veri kopyalama gerçekleştirebilirsiniz.

Aşağıdaki senaryolardan herhangi birini gerçekleştirmek istiyorsanız Azure Cosmos DB hesabınızdan veri kopyalamanız gerekebilir:

Kopyalama işleri Azure CLI komutları kullanılarak oluşturulabilir ve yönetilebilir.

Kullanmaya başlayın

NoSQL API hesapları için Azure Cosmos DB'nin çevrimiçi kapsayıcı kopyasını kullanmaya başlamak için Azure portalındaki Önizleme Özellikleri'nde Çevrimiçi kapsayıcı kopyası (NoSQL) önizleme özelliği bayrağına kaydolun. Kayıt tamamlandıktan sonra önizleme, abonelikteki tüm NoSQL API hesapları için geçerli olur.

Önkoşullar

  1. Kaynak Azure Cosmos DB hesabında sürekli yedeklemeyi etkinleştirin.
  2. Kaynak hesabın aboneliğinde Tüm sürümler'e kaydolun ve değişiklik akışı modu önizleme özelliğini silin.

Önemli

Kapsayıcıdaki öğelerde yapılan değişikliklerin hem önceki hem de geçerli sürümlerini korumak için kaynak kapsayıcıya yapılan tüm yazma işlemlerine çift RU ücret uygulanır. Bu RU ücreti artışı gelecekte değişebilir.

Kapsayıcının verilerini kopyalama

  1. Kullanmak istediğiniz ayarları (bölüm anahtarı, aktarım hızı ayrıntı düzeyi, istek birimleri, benzersiz anahtar vb.) kullanarak hedef Azure Cosmos DB kapsayıcısını oluşturun.
  2. Kapsayıcı kopyalama işini oluşturun.
  3. Kopyalama işinin ilerleme durumunu izleyin.
  4. Tüm belgeler kopyalandıktan sonra, kaynak kapsayıcıdaki güncelleştirmeleri durdurun ve işi tamamlandı olarak işaretlemek için tamamlama API'sini çağırın.
  5. Uygulamayı veya istemciyi istenen şekilde kaynak veya hedef kapsayıcıya uygun şekilde işaret ederek işlemleri sürdürebilirsiniz.

Kapsayıcı kopyalama nasıl çalışır?

  1. Platform, kapsayıcı kopyalama işlerini çalıştırmak için hedef Azure Cosmos DB hesabına sunucu tarafı işlem örnekleri ayırır.
  2. Tek bir iş her zaman tüm örneklerde yürütülür.
  3. Çevrimiçi kopyalama işleri, verileri kopyalamak ve artımlı değişiklikleri kaynak kapsayıcıdan hedef kapsayıcıya çoğaltmak için tüm sürümü kullanır ve değişiklik akışı modunu siler.
  4. İş tamamlandıktan sonra platform, 15 dakika etkinlik dışı kalma süresinden sonra bu örneklerin ayırmasını kaldırmış olur.

Mongo DB için aynı Azure Cosmos DB hesabındaki verileri kopyalamak için çevrimdışı koleksiyon kopyalama işleri gerçekleştirebilirsiniz.

Koleksiyon verilerini kopyalama

  1. Kullanmak istediğiniz ayarları (bölüm anahtarı, aktarım hızı ayrıntı düzeyi, istek birimleri, benzersiz anahtar vb.) kullanarak hedef Azure Cosmos DB koleksiyonunu oluşturun.
  2. Uygulama örneklerini veya ona bağlanan istemcileri duraklatarak kaynak koleksiyondaki işlemleri durdurun.
  3. Kopyalama işini oluşturun.
  4. Kopyalama işinin ilerleme durumunu izleyin ve tamamlanana kadar bekleyin.
  5. Uygulamayı veya istemciyi istenen şekilde kaynak veya hedef koleksiyona uygun şekilde işaret ederek işlemleri sürdürebilirsiniz.

Not

Çevrimdışı koleksiyon kopyalama işini başlatmadan önce kaynak koleksiyondaki işlemleri gerçekleştirmeyi durdurmanızı kesinlikle öneririz. Kopyalama işini başlattıktan sonra kaynak koleksiyonda yapılan öğe silme işlemleri ve güncelleştirmeleri yakalanmayabilir. Kopyalama işi devam ederken kaynak koleksiyonda işlemler gerçekleştirmeye devam ederseniz, hedef koleksiyonda yinelenen veya eksik verileriniz olabilir.

Koleksiyon kopyalama nasıl çalışır?

  1. Platform, hedef Azure Cosmos DB hesabı için sunucu tarafı işlem örnekleri ayırır.
  2. Bu örnekler, hesap içinde bir veya daha fazla koleksiyon kopyalama işi oluşturulduğunda ayrılır.
  3. Kopyalama işleri bu örneklerde çalışır.
  4. Tek bir iş her zaman tüm örneklerde yürütülür.
  5. Örnekler, aynı hesapta çalışan tüm kopyalama işleri tarafından paylaşılır.
  6. Çevrimdışı kopyalama işleri, verileri kopyalamak ve artımlı değişiklikleri kaynak koleksiyondan hedef koleksiyona çoğaltmak için Değişiklik akışlarını kullanır.
  7. Platform, 15 dakikadan uzun süre boşta kalan örneklerin ayırmasını kaldırabilir.

Aynı Apache Cassandra için Azure Cosmos DB hesabındaki bir tablonun verilerini başka bir tabloya kopyalamak için çevrimdışı tablo kopyalama gerçekleştirebilirsiniz.

Tablonun verilerini kopyalama

  1. Kullanmak istediğiniz ayarları (bölüm anahtarı, aktarım hızı ayrıntı düzeyi, istek birimleri vb.) kullanarak hedef Azure Cosmos DB tablosunu oluşturun.
  2. Uygulama örneklerini veya ona bağlanan istemcileri duraklatarak kaynak tablodaki işlemleri durdurun.
  3. Kopyalama işini oluşturun.
  4. Kopyalama işinin ilerleme durumunu izleyin ve tamamlanana kadar bekleyin.
  5. Uygulamayı veya istemciyi istenen şekilde kaynak veya hedef tabloya uygun şekilde işaret ederek işlemleri sürdürebilirsiniz.

Not

Çevrimdışı tablo kopyalama işini başlatmadan önce kaynak tabloda herhangi bir işlem gerçekleştirmeyi durdurmanızı kesinlikle öneririz. Kopyalama işini başlattıktan sonra kaynak tabloda yapılan öğe silme işlemleri ve güncelleştirmeleri yakalanmayabilir. Kopyalama işi devam ederken kaynak tabloda işlemleri gerçekleştirmeye devam ederseniz, hedef tabloda yinelenen veya eksik veriler olabilir.

Tablo kopyalama nasıl çalışır?

  1. Platform, hedef Azure Cosmos DB hesabı için sunucu tarafı işlem örnekleri ayırır.
  2. Bu örnekler, hesap içinde bir veya daha fazla kopyalama işi oluşturulduğunda ayrılır.
  3. Kopyalama işleri bu örneklerde çalışır.
  4. Tek bir iş her zaman tüm örneklerde yürütülür.
  5. Örnekler, aynı hesapta çalışan tüm kopyalama işleri tarafından paylaşılır.
  6. Çevrimdışı kopyalama işleri, verileri kopyalamak ve artımlı değişiklikleri kaynak tablodan hedef tabloya çoğaltmak için Değişiklik akışını kullanır.
  7. Platform, 15 dakikadan uzun süre boşta kalan örneklerin ayırmasını kaldırabilir.

Kopyalama işinin oranını etkileyen faktörler

Kapsayıcı kopyalama işinin ilerleme hızı şu faktörlere göre belirlenir:

  • Kaynak kapsayıcı veya veritabanı aktarım hızı ayarı.

  • Hedef kapsayıcı veya veritabanı aktarım hızı ayarı.

    İpucu

    Hedef kapsayıcı aktarım hızını kaynak kapsayıcının aktarım hızının en az iki katı olarak ayarlayın.

  • Veri aktarımını gerçekleştirmek için Azure Cosmos DB hesabına ayrılan sunucu tarafı işlem örnekleri.

    Önemli

    Varsayılan SKU, hesap başına iki adet 4 vCPU 16 GB sunucu tarafı örneği sunar.

Sınırlamalar

Önizleme uygunluk ölçütleri

Kapsayıcı kopyalama işleri, aşağıdaki özelliklerin etkinleştirildiği hesaplarla çalışmaz. Kapsayıcı kopyalama işlerini çalıştırmadan önce şu özellikleri devre dışı bırakın:

Hesap yapılandırmaları

Yaşam Süresi (TTL) ayarı hedef kapsayıcıda ayarlanmamıştır. Sonuç olarak, kaynak kapsayıcıda bir belgenin süresi dolmadıysa, hedef kapsayıcıda geri sayımını yeniden başlatır.

SSS

Kapsayıcı kopyalama işleri için hizmet düzeyi sözleşmesi var mı?

Kapsayıcı kopyalama işleri şu anda en iyi çaba temelinde desteklenmektedir. İşlerin tamamlanması için gereken süre boyunca herhangi bir hizmet düzeyi sözleşmesi (SLA) garantisi sağlamayız.

Bir hesapta birden çok kapsayıcı kopyalama işi oluşturabilir miyim?

Evet, aynı hesap içinde birden çok iş oluşturabilirsiniz. İşler art arda çalışır. Bir hesapta oluşturulan tüm işleri listeleyebilir ve bunların ilerleme durumunu izleyebilirsiniz.

Azure Cosmos DB hesabındaki veritabanının tamamını kopyalayabilir miyim?

Veritabanındaki her kapsayıcı için bir iş oluşturmanız gerekir.

Birden çok bölgeye sahip bir Azure Cosmos DB hesabım var. Kapsayıcı kopyalama işi hangi bölgede çalıştırılacak?

Kapsayıcı kopyalama işi yazma bölgesinde çalışır. Çok bölgeli yazma işlemleriyle yapılandırılmış bir hesapta, iş yazma bölgeleri listesindeki bölgelerden birinde çalışır.

Hesabın yazma bölgesi değiştiğinde kapsayıcı kopyalama işlerine ne olur?

Hesabın yazma bölgesi, nadir bir bölge kesintisi senaryosunda veya el ile yük devretme nedeniyle değişebilir. Bu senaryoda, hesap içinde oluşturulan tamamlanmamış kapsayıcı kopyalama işleri başarısız olur. Bu başarısız işleri yeniden oluşturmanız gerekir. Yeniden oluşturulan işler yeni (geçerli) yazma bölgesinde çalışır.

Desteklenen bölgeler

Kapsayıcı kopyalama şu anda aşağıdaki bölgelerde desteklenmektedir:

Kuzey ve Güney Amerika Avrupa ve Afrika Asya Pasifik
Güney Brezilya Orta Fransa Orta Avustralya
Orta Kanada Güney Fransa Orta Avustralya 2
Doğu Kanada Kuzey Almanya Doğu Avustralya
Central US Orta Batı Almanya Orta Hindistan
Orta ABD EUAP Kuzey Avrupa Doğu Japonya
Doğu ABD Norveç Doğu Güney Kore - Orta
Doğu ABD 2 Batı Norveç Güneydoğu Asya
Doğu ABD 2 EUAP Kuzey İsviçre BAE Orta
Orta Kuzey ABD Batı İsviçre Batı Hindistan
Orta Güney ABD Güney Birleşik Krallık Doğu Asya
Orta Batı ABD Batı Birleşik Krallık Malezya Güney
Batı ABD West Europe Batı Japonya
Batı ABD 2 Orta İsrail Güneydoğu Avustralya
Desteklenmez Güney Afrika Kuzey Desteklenmez

Bilinen ve yaygın sorunlar

  • Hata - Sahip kaynağı yok.

    İş oluşturma işlemi başarısız olursa ve Sahip kaynağı yok (hata kodu 404) hatasını görüntülerse, hedef kapsayıcı henüz oluşturulmamıştır veya işi oluşturmak için kullanılan kapsayıcı adı gerçek bir kapsayıcı adıyla eşleşmez.

    İşi çalıştırmadan önce hedef kapsayıcının oluşturulduğundan emin olun ve işteki kapsayıcı adının gerçek bir kapsayıcı adıyla eşleştiğinden emin olun.

    "code": "404",
    "message": "Response status code does not indicate success: NotFound (404); Substatus: 1003; ActivityId: xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx; Reason: (Message: {\"Errors\":[\"Owner resource does not exist\"]
    
  • Hata - İstek yetkisiz.

    İstek başarısız olursa ve Yetkisiz (hata kodu 401) hatasını görüntülerse yerel yetkilendirme devre dışı bırakılmış olabilir.

    Kapsayıcı kopyalama işleri kimlik doğrulaması için birincil anahtarları kullanır. Yerel yetkilendirme devre dışı bırakılırsa, iş oluşturma işlemi başarısız olur. Kapsayıcı kopyalama işlerinin çalışması için yerel yetkilendirme etkinleştirilmelidir.

    "code": "401",
    "message": " Response status code does not indicate success: Unauthorized (401); Substatus: 5202; ActivityId: xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx; Reason: Local Authorization is disabled. Use an AAD token to authorize all requests."
    
  • Hata - İş için kaynaklar alınıyorken hata oluştu.

    Bu hata, iç sunucu sorunları nedeniyle oluşabilir. Bu sorunu çözmek için Azure portalında Yeni Destek İsteği açarak Microsoft Desteği başvurun. Sorun Türü için Veri Geçişi'ne tıklayın. Sorun alt türü için Hesap içi kapsayıcı kopyalama'yı seçin.

    "code": "500"
    "message": "Error while getting resources for job, StatusCode: 500, SubStatusCode: 0, OperationId:  xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx, ActivityId: xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx
    

Sonraki adımlar