Bagikan melalui


Memperbarui wilayah di akun Azure Cosmos DB menggunakan PowerShell

BERLAKU UNTUK: Nosql MongoDB Cassandra Gremlin Meja

Skrip PowerShell ini memperbarui wilayah Azure yang digunakan akun Azure Cosmos DB. Anda dapat menggunakan skrip ini untuk menambahkan wilayah Azure atau mengubah urutan failover wilayah.

Catatan

Kami menyarankan agar Anda menggunakan modul Azure Az PowerShell untuk berinteraksi dengan Azure. Lihat Menginstal Azure PowerShell untuk memulai. Untuk mempelajari cara bermigrasi ke modul Az PowerShell, lihat Memigrasikan Azure PowerShell dari AzureRM ke Az.

Prasyarat

  • Anda memerlukan akun Azure Cosmos DB yang sudah ada di grup sumber daya Azure.

  • Skrip ini memerlukan Azure PowerShell Az 5.4.0 atau yang lebih baru. Jalankan Get-Module -ListAvailable Az untuk mencantumkan versi yang terinstal. Jika Anda perlu menginstal PowerShell, lihat Menginstal modul Azure PowerShell.

  • Jalankan Connect-AzAccount untuk masuk ke Azure.

Skrip sampel

Perintah Update-AzCosmosDBAccountRegion memperbarui wilayah Azure untuk akun Azure Cosmos DB. Perintah ini memerlukan nama grup sumber daya, nama akun Azure Cosmos DB, dan daftar wilayah Azure dalam urutan failover yang diinginkan.

Dalam skrip ini, perintah Get-AzCosmosDBAccount mendapatkan akun Azure Cosmos DB yang Anda tentukan. New-AzCosmosDBLocationObject membuat objek jenis PSLocation. Update-AzCosmosDBAccountRegion menggunakan parameter PSLocation untuk memperbarui wilayah akun.

  • Jika Anda menambahkan wilayah, jangan ubah wilayah failover pertama dalam operasi yang sama. Ubah urutan prioritas failover dalam operasi terpisah.
  • Anda tidak dapat mengubah wilayah dalam operasi yang sama dengan mengubah properti akun Azure Cosmos DB lainnya. Lakukan operasi ini secara terpisah.

Sampel ini menggunakan API untuk akun NoSQL. Untuk menggunakan sampel ini untuk API lain, salin properti terkait dan terapkan ke skrip khusus API.

# Reference: Az.CosmosDB | https://docs.microsoft.com/powershell/module/az.cosmosdb
# --------------------------------------------------
# Purpose
# Update Cosmos DB account: Add an Azure region (location)
# NOTE: if adding a region to a single master account, do not change the first 
# region in the same operation. Change failover priority order in a
# separate operation.
# NOTE: this operation will return, but account updates may still be
# occurring. Check the account or Resource Group's activity log for status.
# --------------------------------------------------
# Variables - ***** SUBSTITUTE YOUR VALUES *****
$resourceGroupName = "myResourceGroup" # Resource Group must already exist
$accountName = "myaccount" # Must be all lower case

# Regions ordered by failover priority, with each indicating whether AZ-enabled
# Region AZ status can be checked at https://azure.microsoft.com/global-infrastructure/regions/
$locations = @(
    @{name = "East US"; azEnabled = $true};
    @{name = "West US"; azEnabled = $false};
)
# --------------------------------------------------

Write-Host "Get Cosmos DB account"
$account = Get-AzCosmosDBAccount -ResourceGroupName $resourceGroupName -Name $accountName

$i = 0
$locationObjects = @()

ForEach ($location in $locations) {
    $locationObjects += New-AzCosmosDBLocationObject -LocationName $location.name -IsZoneRedundant $location.azEnabled -FailoverPriority ($i++)
}

Write-Host "Update Cosmos DB account region(s)"
Update-AzCosmosDBAccountRegion -InputObject $account -LocationObject $locationObjects

Meskipun skrip menampilkan hasil, operasi pembaruan mungkin belum selesai. Periksa status operasi di portal Azure dengan menggunakan Log aktivitas akun Azure Cosmos DB.

Menghapus grup sumber daya Azure

Jika ingin menghapus akun Azure Cosmos DB, Anda dapat menggunakan perintah PowerShell Remove-AzResourceGroup untuk menghapus grup sumber dayanya. Perintah ini menghapus grup sumber daya Azure dan semua sumber daya di dalamnya, termasuk akun Azure Cosmos DB serta kontainer dan database-nya.

Remove-AzResourceGroup -ResourceGroupName "myResourceGroup"

Langkah berikutnya