Mettre à jour les régions d’un compte Azure Cosmos DB à l’aide de PowerShell
S’APPLIQUE À : NoSQL MongoDB Cassandra Gremlin Table
Ce script PowerShell met à jour les régions Azure qu’un compte Azure Cosmos DB utilise. Vous pouvez utiliser ce script pour ajouter une région Azure ou modifier l’ordre de basculement de région.
Notes
Nous vous recommandons d’utiliser le module Azure Az PowerShell pour interagir avec Azure. Pour bien démarrer, consultez Installer Azure PowerShell. Pour savoir comment migrer vers le module Az PowerShell, consultez Migrer Azure PowerShell depuis AzureRM vers Az.
Prérequis
Vous avez besoin d’un compte Azure Cosmos DB existant dans un groupe de ressources Azure.
Le script nécessite Azure PowerShell Az 5.4.0 ou ultérieur. Exécutez
Get-Module -ListAvailable Az
pour répertorier vos versions installées. Si vous devez installer PowerShell, consultez Installer le module Azure PowerShell.Exécutez Connect-AzAccount pour vous connecter à Azure.
Exemple de script
La commande Update-AzCosmosDBAccountRegion met à jour les régions Azure pour un compte Azure Cosmos DB. La commande nécessite un nom de groupe de ressources, un nom de compte Azure Cosmos DB et une liste des régions Azure dans l’ordre de basculement souhaité.
Dans ce script, la commande Get-AzCosmosDBAccount obtient le compte Azure Cosmos DB que vous spécifiez. New-AzCosmosDBLocationObject crée un objet de type PSLocation
. Update-AzCosmosDBAccountRegion
utilise le paramètre PSLocation
pour mettre à jour les régions de compte.
- Si vous ajoutez une région, ne modifiez pas la première région de basculement dans la même opération. Modifiez l’ordre de priorité de basculement dans une opération distincte.
- Vous ne pouvez pas modifier les régions dans la même opération que la modification d’autres propriétés du compte de base de données Azure Cosmos. Effectuez ces opérations séparément.
Cet exemple utilise un compte d’API pour NoSQL. Pour utiliser cet exemple avec d’autres API, copiez les propriétés afférentes et appliquez-les au script propre à votre 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
Bien que le script retourne un résultat, l’opération de mise à jour peut ne pas être terminée. Vérifiez l’état de l’opération dans le Portail Azure à l’aide du journal d’activité du compte Azure Cosmos DB.
Supprimer un groupe de ressources Azure
Si vous souhaitez supprimer votre compte Azure Cosmos DB, vous pouvez utiliser la commande Remove-AzResourceGroup de PowerShell pour supprimer son groupe de ressources. Cette commande supprime le groupe de ressources Azure et toutes les ressources qu’il contient, y compris les comptes Azure Cosmos DB et leurs conteneurs et bases de données.
Remove-AzResourceGroup -ResourceGroupName "myResourceGroup"