PowerShell kullanarak Azure Cosmos DB hesabının bölgelerini güncelleştirme

ŞUNLAR IÇIN GEÇERLIDIR: Nosql MongoDB Cassandra Gremlin Tablo

Bu PowerShell betiği, bir Azure Cosmos DB hesabının kullandığı Azure bölgelerini güncelleştirir. Azure bölgesi eklemek veya bölge yük devretme sırasını değiştirmek için bu betiği kullanabilirsiniz.

Not

Azure ile etkileşime geçmek için Azure Az PowerShell modülünü kullanmanızı öneririz. Başlamak için bkz. Azure PowerShell'i yükleme. Az PowerShell modülüne nasıl geçeceğinizi öğrenmek için bkz. Azure PowerShell’i AzureRM’den Az’ye geçirme.

Önkoşullar

  • Azure kaynak grubunda mevcut bir Azure Cosmos DB hesabına ihtiyacınız vardır.

  • Betik az 5.4.0 veya sonraki Azure PowerShell gerektirir. Yüklü sürümlerinizi listelemek için komutunu çalıştırın Get-Module -ListAvailable Az . PowerShell'i yüklemeniz gerekiyorsa bkz. Azure PowerShell modülünü yükleme.

  • Azure'da oturum açmak için Connect-AzAccount komutunu çalıştırın.

Örnek betik

Update-AzCosmosDBAccountRegion komutu bir Azure Cosmos DB hesabı için Azure bölgelerini güncelleştirir. Komut için kaynak grubu adı, Azure Cosmos DB hesap adı ve istenen yük devretme sırasında Azure bölgelerinin listesi gerekir.

Bu betikte Get-AzCosmosDBAccount komutu belirttiğiniz Azure Cosmos DB hesabını alır. New-AzCosmosDBLocationObject türünde PSLocationbir nesne oluşturur. Update-AzCosmosDBAccountRegionPSLocation, hesap bölgelerini güncelleştirmek için parametresini kullanır.

  • Bölge eklerseniz, aynı işlemdeki ilk yük devretme bölgesini değiştirmeyin. Ayrı bir işlemde yük devretme öncelik sırasını değiştirin.
  • Diğer Azure Cosmos DB hesap özelliklerini değiştirmekle aynı işlemdeki bölgeleri değiştiremezsiniz. Bu işlemleri ayrı ayrı yapın.

Bu örnekte NoSQL hesabı için bir API kullanılır. Bu örneği diğer API'lerde kullanmak için ilgili özellikleri kopyalayın ve API'ye özgü betiğinize uygulayın.

# 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

Betik bir sonuç döndürse de güncelleştirme işlemi tamamlanmayabilir. Azure Cosmos DB hesabı Etkinlik günlüğünü kullanarak Azure portal işlemin durumunu denetleyin.

Azure kaynak grubunu silme

Azure Cosmos DB hesabınızı silmek istiyorsanız Remove-AzResourceGroup PowerShell komutunu kullanarak kaynak grubunu kaldırabilirsiniz. Bu komut, Azure cosmos DB hesapları, kapsayıcıları ve veritabanları dahil olmak üzere Azure kaynak grubunu ve içindeki tüm kaynakları kaldırır.

Remove-AzResourceGroup -ResourceGroupName "myResourceGroup"

Sonraki adımlar