Uppdatera regioner för ett Azure Cosmos DB-konto med hjälp av PowerShell
GÄLLER FÖR: NoSQL MongoDB Kassandra Gremlin Bord
Det här PowerShell-skriptet uppdaterar de Azure-regioner som ett Azure Cosmos DB-konto använder. Du kan använda det här skriptet för att lägga till en Redundansordning för en Azure-region eller ändra region.
Kommentar
Vi rekommenderar att du använder Azure Az PowerShell-modulen för att interagera med Azure. Information om hur du kommer igång finns i Installera Azure PowerShell. Information om hur du migrerar till Az PowerShell-modulen finns i artikeln om att migrera Azure PowerShell från AzureRM till Az.
Förutsättningar
Du behöver ett befintligt Azure Cosmos DB-konto i en Azure-resursgrupp.
Skriptet kräver Azure PowerShell Az 5.4.0 eller senare. Kör
Get-Module -ListAvailable Az
för att visa en lista över installerade versioner. Om du behöver installera PowerShell läser du Installera Azure PowerShell-modulen.Kör Connect-AzAccount för att logga in på Azure.
Exempelskript
Kommandot Update-AzCosmosDBAccountRegion uppdaterar Azure-regioner för ett Azure Cosmos DB-konto. Kommandot kräver ett resursgruppsnamn, ett Azure Cosmos DB-kontonamn och en lista över Azure-regioner i önskad redundansordning.
I det här skriptet hämtar kommandot Get-AzCosmosDBAccount det Azure Cosmos DB-konto som du anger. New-AzCosmosDBLocationObject skapar ett objekt av typen PSLocation
. Update-AzCosmosDBAccountRegion
använder parametern PSLocation
för att uppdatera kontoregionerna.
- Om du lägger till en region ändrar du inte den första redundansregionen i samma åtgärd. Ändra prioritetsordning för redundans i en separat åtgärd.
- Du kan inte ändra regioner i samma åtgärd som att ändra andra Azure Cosmos DB-kontoegenskaper. Utför dessa åtgärder separat.
Det här exemplet använder ett API för NoSQL-konto. Om du vill använda det här exemplet för andra API:er kopierar du de relaterade egenskaperna och tillämpar dem på ditt API-specifika skript.
# 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
Även om skriptet returnerar ett resultat kanske uppdateringsåtgärden inte är klar. Kontrollera statusen för åtgärden i Azure-portalen med hjälp av aktivitetsloggen för Azure Cosmos DB-kontot.
Ta bort Azure-resursgrupp
Om du vill ta bort ditt Azure Cosmos DB-konto kan du ta bort resursgruppen med kommandot Remove-AzResourceGroup PowerShell. Det här kommandot tar bort Azure-resursgruppen och alla resurser i den, inklusive Azure Cosmos DB-konton och deras containrar och databaser.
Remove-AzResourceGroup -ResourceGroupName "myResourceGroup"