Bagikan melalui


Menyalin pekerjaan di Azure Cosmos DB (pratinjau)

Anda dapat melakukan penyalinan data di Azure Cosmos DB dengan menggunakan pekerjaan penyalinan kontainer.

Anda mungkin perlu menyalin data dari akun Azure Cosmos DB jika Anda ingin mencapai salah satu skenario ini:

Pekerjaan salin dapat dibuat dan dikelola dengan menggunakan perintah Azure CLI.

Memulai

Untuk mulai menggunakan salinan kontainer online untuk akun Azure Cosmos DB for NoSQL API, daftar untuk bendera fitur pratinjau Salinan kontainer Online (NoSQL) di Fitur Pratinjau di portal Azure. Setelah pendaftaran selesai, pratinjau tersebut akan berlaku untuk semua akun API NoSQL dalam langganan.

Prasyarat

  1. Aktifkan pencadangan berkelanjutan pada akun Azure Cosmos DB sumber.
  2. Daftar untuk Semua versi dan hapus fitur pratinjau mode umpan perubahan pada langganan akun sumber.

Penting

Semua operasi tulis ke kontainer sumber akan dikenakan RU ganda untuk mempertahankan versi perubahan sebelumnya dan saat ini pada item dalam kontainer. Kenaikan biaya RU ini dapat berubah di masa mendatang.

Menyalin data kontainer

  1. Buat kontainer Azure Cosmos DB target dengan menggunakan pengaturan yang ingin Anda gunakan (kunci partisi, granularitas throughput, unit permintaan, kunci unik, dan sebagainya).
  2. Buat pekerjaan penyalinan kontainer.
  3. Pantau kemajuan pekerjaan penyalinan.
  4. Setelah semua dokumen disalin, hentikan pembaruan pada kontainer sumber lalu panggil API penyelesaian untuk menandai pekerjaan sebagai selesai.
  5. Lanjutkan operasi dengan mengarahkan aplikasi atau klien dengan tepat ke kontainer sumber atau target seperti yang dimaksudkan.

Bagaimana cara kerja salinan kontainer?

  1. Platform ini mengalokasikan instans komputasi sisi server untuk akun Azure Cosmos DB tujuan untuk menjalankan pekerjaan salinan kontainer.
  2. Satu pekerjaan dijalankan di semua instans kapan saja.
  3. Pekerjaan penyalinan online menggunakan semua versi dan menghapus mode umpan perubahan untuk menyalin data dan mereplikasi perubahan bertahap dari kontainer sumber ke kontainer tujuan.
  4. Setelah pekerjaan selesai, platform membatalkan alokasi instans ini setelah 15 menit tidak aktif.

Anda dapat melakukan pekerjaan penyalinan koleksi offline untuk menyalin data dalam akun Azure Cosmos DB for Mongo DB yang sama.

Menyalin data koleksi

  1. Buat koleksi Azure Cosmos DB target dengan menggunakan pengaturan yang ingin Anda gunakan (kunci partisi, granularitas throughput, unit permintaan, kunci unik, dan sebagainya).
  2. Hentikan operasi pada kumpulan sumber dengan menjeda instans aplikasi atau klien apa pun yang terhubung ke dalamnya.
  3. Buat pekerjaan penyalinan.
  4. Pantau kemajuan pekerjaan penyalinan dan tunggu hingga selesai.
  5. Lanjutkan operasi dengan mengarahkan aplikasi atau klien dengan tepat ke kumpulan sumber atau target seperti yang dimaksudkan.

Catatan

Kami sangat menyarankan agar Anda berhenti melakukan operasi apa pun pada koleksi sumber sebelum Anda memulai pekerjaan penyalinan koleksi offline. Penghapusan item dan pembaruan yang dilakukan pada koleksi sumber setelah Anda memulai pekerjaan penyalinan mungkin tidak diambil. Jika Anda terus melakukan operasi pada kumpulan sumber saat pekerjaan penyalinan sedang berlangsung, Anda mungkin memiliki data duplikat atau hilang pada kumpulan target.

Bagaimana cara kerja salinan koleksi?

  1. Platform ini mengalokasikan instans komputasi sisi server untuk akun Azure Cosmos DB tujuan.
  2. Instans ini dialokasikan ketika satu atau beberapa pekerjaan salinan koleksi dibuat dalam akun.
  3. Pekerjaan penyalinan berjalan pada instans ini.
  4. Satu pekerjaan dijalankan di semua instans kapan saja.
  5. Instans dibagikan oleh semua pekerjaan penyalinan yang berjalan dalam akun yang sama.
  6. Pekerjaan penyalinan offline menggunakan Ubah aliran untuk menyalin data dan mereplikasi perubahan inkremental dari koleksi sumber ke koleksi tujuan.
  7. Platform mungkin membatalkan alokasi instans jika tidak aktif selama lebih dari 15 menit.

Anda dapat melakukan penyalinan tabel offline untuk menyalin data dari satu tabel ke tabel lain dalam akun Azure Cosmos DB for Apache Cassandra yang sama.

Menyalin data tabel

  1. Buat tabel Azure Cosmos DB target dengan menggunakan pengaturan yang ingin Anda gunakan (kunci partisi, granularitas throughput, unit permintaan, dan sebagainya).
  2. Hentikan operasi pada tabel sumber dengan menjeda instans aplikasi atau klien apa pun yang terhubung ke tabel sumber tersebut.
  3. Buat pekerjaan penyalinan.
  4. Pantau kemajuan pekerjaan penyalinan dan tunggu hingga selesai.
  5. Lanjutkan operasi dengan mengarahkan aplikasi atau klien dengan tepat ke tabel sumber atau target seperti yang dimaksudkan.

Catatan

Kami sangat menyarankan Agar Anda berhenti melakukan operasi apa pun pada tabel sumber sebelum Anda memulai pekerjaan penyalinan tabel offline. Penghapusan item dan pembaruan yang dilakukan pada tabel sumber setelah Anda memulai pekerjaan penyalinan mungkin tidak diambil. Jika Anda terus melakukan operasi pada tabel sumber saat pekerjaan penyalinan sedang berlangsung, Anda mungkin memiliki data duplikat atau hilang pada tabel target.

Bagaimana cara kerja salinan tabel?

  1. Platform ini mengalokasikan instans komputasi sisi server untuk akun Azure Cosmos DB tujuan.
  2. Instans ini dialokasikan ketika satu atau beberapa pekerjaan penyalinan dibuat dalam akun.
  3. Pekerjaan penyalinan berjalan pada instans ini.
  4. Satu pekerjaan dijalankan di semua instans kapan saja.
  5. Instans dibagikan oleh semua pekerjaan penyalinan yang berjalan dalam akun yang sama.
  6. Pekerjaan penyalinan offline menggunakan Umpan perubahan untuk menyalin data dan mereplikasi perubahan bertahap dari tabel sumber ke tabel tujuan.
  7. Platform mungkin membatalkan alokasi instans jika tidak aktif selama lebih dari 15 menit.

Faktor-faktor yang memengaruhi tingkat pekerjaan penyalinan

Tingkat kemajuan pekerjaan penyalinan kontainer ditentukan oleh faktor-faktor berikut:

  • Pengaturan kontainer sumber atau throughput database.

  • Pengaturan kontainer target atau throughput database.

    Tip

    Atur throughput kontainer target ke setidaknya dua kali throughput kontainer sumber.

  • Instans komputasi sisi server yang dialokasikan ke akun Azure Cosmos DB untuk melakukan transfer data.

    Penting

    SKU default menawarkan dua instans sisi server 4-vCPU 16 GB per akun.

Batasan

Kriteria kelayakan pratinjau

Pekerjaan penyalinan kontainer tidak berfungsi dengan akun yang mengaktifkan kemampuan berikut. Nonaktifkan fitur-fitur ini sebelum Anda menjalankan pekerjaan penyalinan kontainer:

Konfigurasi akun

Pengaturan Time to Live (TTL) tidak disesuaikan dalam kontainer tujuan. Akibatnya, jika dokumen belum kedaluwarsa dalam kontainer sumber, dokumen memulai hitungan mundurnya di kontainer tujuan.

Tanya Jawab Umum

Apakah ada perjanjian tingkat layanan untuk pekerjaan salinan kontainer?

Pekerjaan salinan kontainer saat ini didukung berdasarkan upaya terbaik. Kami tidak memberikan jaminan perjanjian tingkat layanan (SLA) untuk waktu yang diperlukan agar pekerjaan selesai.

Bisakah saya membuat beberapa pekerjaan salinan kontainer dalam akun?

Ya, Anda dapat membuat beberapa pekerjaan dalam akun yang sama. Pekerjaan berjalan berturut-turut. Anda dapat mencantumkan semua pekerjaan yang dibuat dalam akun, dan memantau kemajuannya.

Bisakah saya menyalin seluruh database dalam akun Azure Cosmos DB?

Anda harus membuat pekerjaan untuk setiap kontainer dalam database.

Saya memiliki akun Azure Cosmos DB dengan beberapa wilayah. Di wilayah mana pekerjaan penyalinan kontainer akan berjalan?

Pekerjaan penyalinan kontainer berjalan di wilayah tulis. Dalam akun yang dikonfigurasi dengan penulisan multi-wilayah, pekerjaan berjalan di salah satu wilayah dalam daftar wilayah tulis.

Apa yang terjadi pada pekerjaan penyalinan kontainer saat wilayah tulis akun berubah?

Wilayah tulis akun mungkin berubah dalam skenario langka pemadaman wilayah atau karena failover manual. Dalam skenario ini, pekerjaan penyalinan kontainer yang tidak lengkap yang dibuat dalam akun gagal. Anda harus membuat ulang pekerjaan yang gagal ini. Pekerjaan yang dibuat ulang kemudian berjalan di wilayah tulis baru (saat ini).

Wilayah yang didukung

Saat ini, salinan kontainer hanya didukung di wilayah berikut:

Amerika Eropa dan Afrika Asia Pasifik
Brasil Selatan Prancis Tengah Australia Tengah
Kanada Tengah Prancis Selatan Australia Tengah 2
Kanada Timur Jerman Utara Australia Timur
AS Tengah Jerman Barat Tengah India Tengah
US Tengah EUAP Eropa Utara Jepang Timur
AS Timur Norwegia Timur Korea Tengah
AS Timur 2 Norwegia Barat Asia Tenggara
US Timur 2 EUAP Swiss Utara UAE Tengah
AS Tengah Bagian Utara Swiss Barat India Barat
US Tengah Selatan UK Selatan Asia Timur
AS Tengah Bagian Barat UK Barat Malaysia Selatan
US Barat Eropa Barat Jepang Barat
US Barat 2 Israel Tengah Australia Tenggara
Tidak didukung Afrika Selatan Utara Tidak didukung

Masalah umum dan umum

  • Kesalahan - Sumber daya pemilik tidak ada.

    Jika pembuatan pekerjaan gagal dan menampilkan kesalahan Sumber daya Pemilik tidak ada (kode kesalahan 404), kontainer target belum dibuat atau nama kontainer yang digunakan untuk membuat pekerjaan tidak cocok dengan nama kontainer yang sebenarnya.

    Pastikan bahwa kontainer target dibuat sebelum Anda menjalankan pekerjaan dan memastikan bahwa nama kontainer dalam pekerjaan cocok dengan nama kontainer yang sebenarnya.

    "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\"]
    
  • Kesalahan - Permintaan tidak sah.

    Jika permintaan gagal dan menampilkan kesalahan Tidak Sah (kode kesalahan 401), otorisasi lokal mungkin dinonaktifkan.

    Pekerjaan penyalinan kontainer menggunakan kunci primer untuk mengautentikasi. Jika otorisasi lokal dinonaktifkan, pembuatan pekerjaan gagal. Otorisasi lokal harus diaktifkan agar pekerjaan penyalinan kontainer berfungsi.

    "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."
    
  • Kesalahan - Kesalahan saat mendapatkan sumber daya untuk pekerjaan.

    Kesalahan ini mungkin terjadi karena masalah server internal. Untuk mengatasi masalah ini, hubungi Dukungan Microsoft dengan membuka Permintaan Dukungan Baru di portal Azure. Untuk Jenis Masalah, pilih Migrasi Data. Untuk Subjenis masalah, pilih Salinan kontainer intra-account.

    "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
    

Langkah berikutnya