Adicionar regiões, alterar a prioridade de ativação pós-falha, acionar a ativação pós-falha para uma conta do Azure Cosmos DB com a CLI do Azure
APLICA-SE A: NoSQL
MongoDB
Cassandra
Gremlin
Tabela
O script neste artigo demonstra três operações.
- Adicione uma região a uma conta existente do Azure Cosmos DB.
- Alterar a prioridade de ativação pós-falha regional (aplica-se às contas que utilizam a ativação pós-falha gerida pelo serviço)
- Acionar uma ativação pós-falha manual das regiões primária para a secundária (aplica-se a contas com ativação pós-falha manual)
Este script utiliza uma API para a conta NoSQL, mas estas operações são idênticas em todas as APIs de base de dados no Azure Cosmos DB.
Importante
Não é possível adicionar e remover operações de região numa conta do Azure Cosmos DB ao alterar outras propriedades.
Se não tiver uma subscrição do Azure, crie uma conta gratuita do Azure antes de começar.
Pré-requisitos
Utilize o ambiente bash no Azure Cloud Shell. Para obter mais informações, veja Início Rápido do Bash no Azure Cloud Shell.
Se preferir executar comandos de referência da CLI localmente, instale a CLI do Azure. Se estiver a utilizar o Windows ou macOS, considere executar a CLI do Azure num contentor Docker. Para obter mais informações, veja Como executar a CLI do Azure num contentor do Docker.
Se estiver a utilizar uma instalação local, inicie sessão no CLI do Azure ao utilizar o comando az login. Para concluir o processo de autenticação, siga os passos apresentados no seu terminal. Para outras opções de início de sessão, veja Iniciar sessão com a CLI do Azure.
Quando lhe for pedido, instale a extensão da CLI do Azure na primeira utilização. Para obter mais informações sobre as extensões, veja Utilizar extensões com o CLI do Azure.
Execute o comando az version para localizar a versão e as bibliotecas dependentes instaladas. Para atualizar para a versão mais recente, execute o comando az upgrade.
- Este artigo requer a versão 2.9.1 ou posterior da CLI do Azure. Se estiver a utilizar o Azure Cloud Shell, a versão mais recente já está instalada.
Script de exemplo
Iniciar o Azure Cloud Shell
O Azure Cloud Shell é um shell interativo gratuito que pode utilizar para executar os passos neste artigo. Tem as ferramentas comuns do Azure pré-instaladas e configuradas para utilização com a sua conta.
Para abrir o Cloud Shell, basta selecionar Experimente no canto superior direito de um bloco de código. Também pode iniciar o Cloud Shell num separador do browser separado ao aceder a https://shell.azure.com.
Quando Cloud Shell abrir, verifique se o Bash está selecionado para o seu ambiente. As sessões subsequentes irão utilizar a CLI do Azure num ambiente bash, selecionar Copiar para copiar os blocos de código, colá-lo no Cloud Shell e premir Enter para executá-lo.
Iniciar sessão no Azure
Cloud Shell é autenticado automaticamente na conta inicial com sessão iniciada. Utilize o seguinte script para iniciar sessão com uma subscrição diferente, substituindo <Subscription ID>
pelo ID da Subscrição do Azure. Se não tiver uma subscrição do Azure, crie uma conta gratuita do Azure antes de começar.
subscription="<subscriptionId>" # add subscription here
az account set -s $subscription # ...or use 'az login'
Para obter mais informações, veja Definir a subscrição ativa ou iniciar sessão interativamente
Executar o script
# Region replica operations for an Azure Cosmos account
# Note: Azure Comos accounts cannot include updates to regions with changes to other properties in the same operation
Variable block
let "randomIdentifier=$RANDOM*$RANDOM"
location="East US"
failoverLocation1="South Central US"
failoverLocation2="North Central US"
resourceGroup="msdocs-cosmosdb-rg-$randomIdentifier"
tag="regions-cosmosdb"
account="msdocs-account-cosmos-$randomIdentifier" #needs to be lower case
# Create a resource group
echo "Creating $resourceGroup in $location..."
az group create --name $resourceGroup --location "$location" --tags $tag
# Create a Cosmos DB account with default values
# Use appropriate values for --kind or --capabilities for other APIs
echo "Creating $account for CosmosDB"
az cosmosdb create --name $account --resource-group $resourceGroup
# Specify region failover locations and priorities
echo "Adding $failoverLocation1 and $failoverLocation2"
az cosmosdb update --name $account --resource-group $resourceGroup --locations regionName="$location" failoverPriority=0 isZoneRedundant=False --locations regionName="$failoverLocation1" failoverPriority=1 isZoneRedundant=False --locations regionName="$failoverLocation2" failoverPriority=2 isZoneRedundant=False
# Make failoverLocation2 the next region to fail over to instead of failoverLocation1
echo "Switching failover priority"
az cosmosdb failover-priority-change --name $account --resource-group $resourceGroup --failover-policies "$location=0" "$failoverLocation1=2" "$failoverLocation2=1"
# Initiate a manual failover and promote failoverLocation1 as primary write region
echo "Failing over to $failoverLocation1"
az cosmosdb failover-priority-change --name $account --resource-group $resourceGroup --failover-policies "$location=2" "$failoverLocation1=0" "$failoverLocation2=1"
Limpar os recursos
Utilize o seguinte comando para remover o grupo de recursos e todos os recursos associados ao mesmo com o comando az group delete , a menos que tenha uma necessidade contínua destes recursos. Alguns destes recursos podem demorar algum tempo a criar, bem como a eliminar.
az group delete --name $resourceGroup
Referência de exemplo
Este script utiliza os seguintes comandos. Cada comando na tabela liga à documentação específica do comando.
Comando | Notas |
---|---|
az group create | Cria um grupo de recursos no qual todos os recursos são armazenados. |
az cosmosdb create | Cria uma conta do Azure Cosmos DB. |
az cosmosdb update | Atualizações uma conta do Azure Cosmos DB (adicionar ou remover região). |
az cosmosdb failover-priority-change | Atualize a prioridade de ativação pós-falha ou acione a ativação pós-falha numa conta do Azure Cosmos DB. |
az group delete | Elimina um grupo de recursos, incluindo todos os recursos aninhados. |
Passos seguintes
Para obter mais informações sobre a CLI do Azure Cosmos DB, veja Documentação da CLI do Azure Cosmos DB.
Para obter exemplos da CLI do Azure para APIs específicas, veja: