Membuat dan mengelola pekerjaan salinan kontainer di Azure Cosmos DB (Pratinjau)
BERLAKU UNTUK: NoSQL
MongoDB
Cassandra
Pekerjaan salinan kontainer membantu membuat salinan kontainer offline di akun Azure Cosmos DB.
Artikel ini menjelaskan cara membuat, memantau, dan mengelola pekerjaan salinan kontainer menggunakan perintah Azure CLI.
Prasyarat
- Anda dapat menggunakan portal Cloud Shell untuk menjalankan perintah salin kontainer. Secara bergantian, Anda dapat menjalankan perintah secara lokal; pastikan Anda memiliki Azure CLI yang diunduh dan diinstal di komputer Anda.
- Saat ini, salinan kontainer hanya didukung di wilayah ini. Pastikan wilayah tulis akun Anda termasuk dalam daftar ini.
- Instal ekstensi pratinjau Azure Cosmos DB yang berisi perintah salin kontainer.
az extension add --name cosmosdb-preview
Catatan
Pekerjaan penyalinan kontainer di seluruh akun Azure Cosmos DB hanya tersedia untuk akun NOSQL API. Pekerjaan penyalinan kontainer dalam akun Azure Cosmos DB tersedia untuk akun NoSQL, MongoDB, dan Cassandra API.
Membuat pekerjaan penyalinan kontainer untuk menyalin data dalam akun Azure Cosmos DB
Mengatur variable shell
Pertama, atur semua variabel yang digunakan setiap skrip individual.
$destinationRG = "<destination-resource-group-name>"
$sourceAccount = "<cosmos-source-account-name>"
$destinationAccount = "<cosmos-destination-account-name>"
$jobName = ""
$sourceDatabase = ""
$sourceContainer = ""
$destinationDatabase = ""
$destinationContainer = ""
Membuat pekerjaan penyalinan kontainer
API untuk akun NoSQL
Buat pekerjaan untuk menyalin kontainer dalam API Azure Cosmos DB untuk akun NoSQL:
az cosmosdb copy create `
--resource-group $destinationRG `
--job-name $jobName `
--dest-account $destinationAccount `
--src-account $sourceAccount `
--dest-nosql database=$destinationDatabase container=$destinationContainer `
--src-nosql database=$sourceDatabase container=$sourceContainer
API untuk akun Cassandra
Buat pekerjaan untuk menyalin kontainer dalam API Azure Cosmos DB untuk akun Cassandra:
az cosmosdb copy create `
--resource-group $destinationRG `
--job-name $jobName `
--dest-account $destinationAccount `
--src-account $sourceAccount `
--dest-cassandra keyspace=$destinationKeySpace table=$destinationTable `
--src-cassandra keyspace=$sourceKeySpace table=$sourceTable
API untuk akun MongoDB
Buat pekerjaan untuk menyalin kontainer dalam API Azure Cosmos DB untuk akun MongoDB:
az cosmosdb copy create `
--resource-group $destinationRG `
--job-name $jobName `
--dest-account $destinationAccount `
--src-account $sourceAccount `
--dest-mongo database=$destinationDatabase collection=$destinationCollection `
--src-mongo database=$sourceDatabase collection=$sourceCollection
Catatan
--job-name
harus unik untuk setiap pekerjaan dalam akun.
Membuat pekerjaan penyalinan kontainer untuk menyalin data di seluruh akun Azure Cosmos DB
Mengatur variable shell
Pertama, atur semua variabel yang digunakan setiap skrip individual.
$sourceSubId = "<source-subscription-id>"
$destinationSubId = "<destination-subscription-id>"
$sourceAccountRG = "<source-resource-group-name>"
$destinationAccountRG = "<destination-resource-group-name>"
$sourceAccount = "<cosmos-source-account-name>"
$destinationAccount = "<cosmos-destination-account-name>"
$jobName = ""
$sourceDatabase = ""
$sourceContainer = ""
$destinationDatabase = ""
$destinationContainer = ""
Menetapkan izin baca
Saat menyalin data dari kontainer satu akun ke kontainer akun lain. Diperlukan untuk memberikan akses baca kontainer sumber ke identitas akun tujuan untuk melakukan operasi penyalinan. Ikuti langkah-langkah di bawah ini untuk menetapkan izin baca yang diperlukan ke akun tujuan.
Menggunakan identitas terkelola Sistem
- Mengatur konteks langganan tujuan
az account set --subscription $destinationSubId
- Menambahkan identitas sistem pada akun tujuan
$identityOutput = az cosmosdb identity assign -n $destinationAccount -g $destinationAccountRG $principalId = ($identityOutput | ConvertFrom-Json).principalId
- Mengatur identitas default pada akun tujuan
az cosmosdb update -n $destinationAccount -g $destinationAccountRG --default-identity="SystemAssignedIdentity"
- Mengatur konteks langganan sumber
az account set --subscription $sourceSubId
- Menambahkan penetapan peran pada akun sumber
# Read-only access role $roleDefinitionId = "00000000-0000-0000-0000-000000000001" az cosmosdb sql role assignment create --account-name $sourceAccount --resource-group $sourceAccountRG --role-definition-id $roleDefinitionId --scope "/" --principal-id $principalId
- Mereset konteks langganan tujuan
az account set --subscription $destinationSubId
Menggunakan identitas terkelola yang ditetapkan pengguna
- Menetapkan variabel identitas terkelola yang ditetapkan pengguna
$userAssignedManagedIdentityResourceId = "<CompleteResourceIdOfUserAssignedManagedIdentity>"
- Mengatur konteks langganan tujuan
az account set --subscription $destinationSubId
- Menambahkan identitas terkelola yang ditetapkan pengguna pada akun tujuan
$identityOutput = az cosmosdb identity assign -n $destinationAccount -g $destinationAccountRG --identities $userAssignedManagedIdentityResourceId $principalId = ($identityOutput | ConvertFrom-Json).userAssignedIdentities.$userAssignedManagedIdentityResourceId.principalId
- Mengatur identitas default pada akun tujuan
az cosmosdb update -n $destinationAccount -g $destinationAccountRG --default-identity=UserAssignedIdentity=$userAssignedManagedIdentityResourceId
- Mengatur konteks langganan sumber
az account set --subscription $sourceSubId
- Menambahkan penetapan peran pada akun sumber
$roleDefinitionId = "00000000-0000-0000-0000-000000000001" # Read-only access role az cosmosdb sql role assignment create --account-name $sourceAccount --resource-group $sourceAccountRG --role-definition-id $roleDefinitionId --scope "/" --principal-id $principalId
- Mereset konteks langganan tujuan
az account set --subscription $destinationSubId
Membuat pekerjaan penyalinan kontainer
API untuk akun NoSQL
az cosmosdb copy create `
--resource-group $destinationAccountRG `
--job-name $jobName `
--dest-account $destinationAccount `
--src-account $sourceAccount `
--dest-nosql database=$destinationDatabase container=$destinationContainer `
--src-nosql database=$sourceDatabase container=$sourceContainer
Mengelola pekerjaan salinan kontainer
Memantau kemajuan pekerjaan penyalinan kontainer
Lihat kemajuan dan status pekerjaan penyalinan:
az cosmosdb copy show `
--resource-group $destinationAccountRG `
--account-name $destinationAccount `
--job-name $jobName
Mencantumkan semua pekerjaan penyalinan kontainer yang dibuat di akun
Untuk mencantumkan semua pekerjaan penyalinan kontainer yang dibuat di akun:
az cosmosdb copy list `
--resource-group $destinationAccountRG `
--account-name $destinationAccount
Menjeda pekerjaan penyalinan kontainer
Untuk menjeda pekerjaan salinan kontainer yang sedang berlangsung, Anda dapat menggunakan perintah :
az cosmosdb copy pause `
--resource-group $destinationAccountRG `
--account-name $destinationAccount `
--job-name $jobName
Melanjutkan pekerjaan penyalinan kontainer
Untuk melanjutkan pekerjaan salinan kontainer yang sedang berlangsung, Anda dapat menggunakan perintah :
az cosmosdb copy resume `
--resource-group $destinationAccountRG `
--account-name $destinationAccount `
--job-name $jobName
Membatalkan pekerjaan penyalinan kontainer
Untuk membatalkan pekerjaan salinan kontainer yang sedang berlangsung, Anda dapat menggunakan perintah :
az cosmosdb copy cancel `
--resource-group $destinationAccountRG `
--account-name $destinationAccount `
--job-name $jobName
Mendapatkan dukungan untuk masalah salinan kontainer
Untuk masalah yang terkait dengan salinan Kontainer, ajukan Permintaan Dukungan Baru dari portal Azure. Atur Jenis Masalah sebagai 'Migrasi Data' dan Subjenis Masalah sebagai 'Salinan kontainer'.
Langkah berikutnya
- Untuk informasi selengkapnya tentang pekerjaan penyalinan kontainer, lihat Pekerjaan penyalinan kontainer.
Saran dan Komentar
https://aka.ms/ContentUserFeedback.
Segera hadir: Sepanjang tahun 2024 kami akan menghentikan penggunaan GitHub Issues sebagai mekanisme umpan balik untuk konten dan menggantinya dengan sistem umpan balik baru. Untuk mengetahui informasi selengkapnya, lihat:Kirim dan lihat umpan balik untuk