Partilhar via


Atualizar regiões para uma conta do Azure Cosmos DB usando o PowerShell

APLICA-SE A: NoSQL MongoDB Cassandra Gremlin Tabela

Este script do PowerShell atualiza as regiões do Azure que uma conta do Azure Cosmos DB usa. Você pode usar esse script para adicionar uma região do Azure ou alterar a ordem de failover da região.

Nota

Recomendamos que utilize o módulo Azure Az do PowerShell para interagir com o Azure. Para começar, consulte Instalar o Azure PowerShell. Para saber como migrar para o módulo do Az PowerShell, veja Migrar o Azure PowerShell do AzureRM para o Az.

Pré-requisitos

  • Você precisa de uma conta existente do Azure Cosmos DB em um grupo de recursos do Azure.

  • O script requer o Azure PowerShell Az 5.4.0 ou posterior. Execute Get-Module -ListAvailable Az para listar as versões instaladas. Se você precisar instalar o PowerShell, consulte Instalar o módulo do Azure PowerShell.

  • Execute Connect-AzAccount para entrar no Azure.

Script de exemplo

O comando Update-AzCosmosDBAccountRegion atualiza as regiões do Azure para uma conta do Azure Cosmos DB. O comando requer um nome de grupo de recursos, um nome de conta do Azure Cosmos DB e uma lista de regiões do Azure na ordem de failover desejada.

Neste script, o comando Get-AzCosmosDBAccount obtém a conta do Azure Cosmos DB que você especificar. New-AzCosmosDBLocationObject cria um objeto do tipo PSLocation. Update-AzCosmosDBAccountRegion usa o PSLocation parâmetro para atualizar as regiões da conta.

  • Se você adicionar uma região, não altere a primeira região de failover na mesma operação. Altere a ordem de prioridade de failover em uma operação separada.
  • Não é possível modificar regiões na mesma operação que alterar outras propriedades de conta do Azure Cosmos DB. Faça essas operações separadamente.

Este exemplo usa uma API para conta NoSQL. Para usar este exemplo para outras APIs, copie as propriedades relacionadas e aplique-as ao seu script específico da 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

Embora o script retorne um resultado, a operação de atualização pode não ser concluída. Verifique o status da operação no portal do Azure usando o log de atividades da conta do Azure Cosmos DB.

Excluir grupo de recursos do Azure

Se quiser excluir sua conta do Azure Cosmos DB, você pode usar o comando Remove-AzResourceGroup PowerShell para remover seu grupo de recursos. Este comando remove o grupo de recursos do Azure e todos os recursos nele, incluindo contas do Azure Cosmos DB e seus contêineres e bancos de dados.

Remove-AzResourceGroup -ResourceGroupName "myResourceGroup"

Próximos passos