Aktualizowanie regionów dla konta usługi Azure Cosmos DB przy użyciu programu PowerShell
DOTYCZY: NoSQL
MongoDB
Kasandra
Gremlin
Stół
Ten skrypt programu PowerShell aktualizuje regiony platformy Azure używane przez konto usługi Azure Cosmos DB. Możesz użyć tego skryptu, aby dodać region świadczenia usługi Azure lub zmienić kolejność trybu failover w regionie.
Uwaga
Do interakcji z platformą Azure zalecamy używanie modułu Azure Az w programie PowerShell. Aby rozpocząć, zobacz Instalowanie programu Azure PowerShell. Aby dowiedzieć się, jak przeprowadzić migrację do modułu Az PowerShell, zobacz Migracja programu Azure PowerShell z modułu AzureRM do modułu Az.
Wymagania wstępne
Potrzebujesz istniejącego konta usługi Azure Cosmos DB w grupie zasobów platformy Azure.
Skrypt wymaga modułu Azure PowerShell Az 5.4.0 lub nowszego. Uruchom polecenie ,
Get-Module -ListAvailable Az
aby wyświetlić listę zainstalowanych wersji. Jeśli musisz zainstalować program PowerShell, zobacz Instalowanie modułu programu Azure PowerShell.Uruchom polecenie Connect-AzAccount , aby zalogować się do platformy Azure.
Przykładowy skrypt
Polecenie Update-AzCosmosDBAccountRegion aktualizuje regiony platformy Azure dla konta usługi Azure Cosmos DB. Polecenie wymaga nazwy grupy zasobów, nazwy konta usługi Azure Cosmos DB i listy regionów platformy Azure w żądanej kolejności trybu failover.
W tym skrypcie polecenie Get-AzCosmosDBAccount pobiera określone konto usługi Azure Cosmos DB. New-AzCosmosDBLocationObject tworzy obiekt typu PSLocation
. Update-AzCosmosDBAccountRegion
używa parametru PSLocation
w celu zaktualizowania regionów konta.
- Jeśli dodasz region, nie zmieniaj pierwszego regionu trybu failover w tej samej operacji. Zmień kolejność priorytetu trybu failover w oddzielnej operacji.
- Nie można modyfikować regionów w tej samej operacji, co zmiana innych właściwości konta usługi Azure Cosmos DB. Wykonaj te operacje oddzielnie.
W tym przykładzie użyto interfejsu API dla konta NoSQL. Aby użyć tego przykładu dla innych interfejsów API, skopiuj powiązane właściwości i zastosuj je do skryptu specyficznego dla interfejsu 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
Mimo że skrypt zwraca wynik, operacja aktualizacji może nie zostać zakończona. Sprawdź stan operacji w witrynie Azure Portal przy użyciu dziennika aktywności konta usługi Azure Cosmos DB.
Usuwanie grupy zasobów platformy Azure
Jeśli chcesz usunąć konto usługi Azure Cosmos DB, możesz usunąć grupę zasobów za pomocą polecenia Remove-AzResourceGroup programu PowerShell. To polecenie usuwa grupę zasobów platformy Azure i wszystkie jej zasoby, w tym konta usługi Azure Cosmos DB oraz ich kontenery i bazy danych.
Remove-AzResourceGroup -ResourceGroupName "myResourceGroup"