Sdílet prostřednictvím


Aktualizace oblastí pro účet služby Azure Cosmos DB pomocí PowerShellu

PLATÍ PRO: NoSQL MongoDB Cassandra Skřítek Stůl

Tento skript PowerShellu aktualizuje oblasti Azure, které používá účet služby Azure Cosmos DB. Tento skript můžete použít k přidání oblasti Azure nebo změně pořadí převzetí služeb při selhání oblasti.

Poznámka:

Při práci s Azure doporučujeme používat modul Azure Az PowerShellu. Pokud chcete začít, přečtěte si téma Instalace Azure PowerShellu. Informace o tom, jak migrovat na modul Az PowerShell, najdete v tématu Migrace Azure PowerShellu z AzureRM na Az.

Požadavky

  • Potřebujete existující účet služby Azure Cosmos DB ve skupině prostředků Azure.

  • Skript vyžaduje Azure PowerShell Az 5.4.0 nebo novější. Spuštěním zobrazíte Get-Module -ListAvailable Az seznam nainstalovaných verzí. Pokud potřebujete nainstalovat PowerShell, přečtěte si téma Instalace modulu Azure PowerShell.

  • Spuštěním příkazu Connect-AzAccount se přihlaste k Azure.

Ukázkový skript

Příkaz Update-AzCosmosDBAccountRegion aktualizuje oblasti Azure pro účet služby Azure Cosmos DB. Příkaz vyžaduje název skupiny prostředků, název účtu služby Azure Cosmos DB a seznam oblastí Azure v požadovaném pořadí převzetí služeb při selhání.

V tomto skriptu získá příkaz Get-AzCosmosDBAccount zadaný účet služby Azure Cosmos DB. New-AzCosmosDBLocationObject vytvoří objekt typu PSLocation. Update-AzCosmosDBAccountRegionPSLocation používá parametr k aktualizaci oblastí účtu.

  • Pokud přidáte oblast, neměňte první oblast převzetí služeb při selhání ve stejné operaci. Změňte pořadí priority převzetí služeb při selhání v samostatné operaci.
  • Oblasti ve stejné operaci nemůžete upravovat jako změna jiných vlastností účtu služby Azure Cosmos DB. Tyto operace proveďte samostatně.

Tato ukázka používá rozhraní API pro účet NoSQL. Pokud chcete tuto ukázku použít pro jiná rozhraní API, zkopírujte související vlastnosti a použijte je ve skriptu specifickém pro vaše rozhraní 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

I když skript vrátí výsledek, operace aktualizace nemusí být dokončena. Pomocí protokolu aktivit účtu služby Azure Cosmos DB zkontrolujte stav operace na webu Azure Portal.

Odstranění skupiny prostředků Azure

Pokud chcete odstranit účet služby Azure Cosmos DB, můžete k odebrání skupiny prostředků použít příkaz Remove-AzResourceGroup PowerShell. Tento příkaz odebere skupinu prostředků Azure a všechny prostředky v ní, včetně účtů služby Azure Cosmos DB a jejich kontejnerů a databází.

Remove-AzResourceGroup -ResourceGroupName "myResourceGroup"

Další kroky