Adicionar regiões, alterar a prioridade do failover, disparar failover para uma conta do Azure Cosmos usando a CLI do Azure

APLICA-SE A: API do SQL API do Cassandra API do Gremlin API de Tabela API do Azure Cosmos DB para MongoDB

Pré-requisitos

  • Use o ambiente Bash no Azure Cloud Shell.

    Inicie o Cloud Shell em uma nova janela

  • Se preferir, instale a CLI do Azure para executar comandos de referência da CLI.

    • Se estiver usando uma instalação local, entre com a CLI do Azure usando o comando az login. Para concluir o processo de autenticação, siga as etapas exibidas no terminal. Para mais opções de entrada, confira Entrar com a CLI do Azure.

    • Quando solicitado, instale as extensões da CLI do Azure no primeiro uso. Para obter mais informações sobre extensões, confira Usar extensões com a CLI do Azure.

    • Execute az version para localizar a versão e as bibliotecas dependentes que estão instaladas. Para fazer a atualização para a versão mais recente, execute az upgrade.

  • Este artigo exige a versão 2.9.1 ou posterior da CLI do Azure. Se você está usando o Azure Cloud Shell, a versão mais recente já está instalada.

Exemplo de script

Esse script demonstra três operações.

  • Adicione uma região a uma conta existente do Azure Cosmos.
  • Alterar a prioridade de failover regional (aplica-se às contas que usam failover automático)
  • Disparar um failover manual de regiões primárias para secundárias (aplica-se a contas com failover manual)

Observação

Adicionar e remover operações de região em uma conta do Cosmos não pode ser feito ao alterar outras propriedades.

Observação

Este exemplo demonstra como usar uma conta de API do SQL (Core), mas essas operações são idênticas entre todas as APIs de banco de dados no Cosmos DB.

#!/bin/bash
# Reference: az cosmosdb | https://docs.microsoft.com/cli/azure/cosmosdb
# --------------------------------------------------
#
# Region replica operations for an Azure Cosmos account
#
# Operations:
#   Add regions to an existing Cosmos account
#   Change regional failover priority (applies to accounts using automatic failover)
#   Trigger a manual failover from primary to secondary region (applies to accounts with manual failover)

# Note: Azure Comos accounts cannot include updates to regions with changes to other properties in the same operation

# Resource group and Cosmos account variables
uniqueId=$RANDOM
resourceGroupName="Group-$uniqueId"
location='westus2'
accountName="cosmos-$uniqueId" #needs to be lower case

# Create a resource group
az group create -n $resourceGroupName -l $location

# Create a Cosmos DB account with default values
# Use appropriate values for --kind or --capabilities for other APIs
az cosmosdb create -n $accountName -g $resourceGroupName

read -p "Press any key to add additional regions to this account"
az cosmosdb update \
    -n $accountName \
    -g $resourceGroupName \
    --locations regionName='West US 2' failoverPriority=0 isZoneRedundant=False \
    --locations regionName='East US 2' failoverPriority=1 isZoneRedundant=False \
    --locations regionName='South Central US' failoverPriority=2 isZoneRedundant=False

read -p "Press any key to change the failover priority"
# Make South Central US the next region to fail over to instea of East US 2
az cosmosdb failover-priority-change \
    -n $accountName \
    -g $resourceGroupName \
    --failover-policies 'West US 2=0' 'South Central US=1' 'East US 2=2' 


read -p "Press any key to trigger a manual failover by changing region 0"
# Initiate a manual failover and promote East US 2 as primary write region
az cosmosdb failover-priority-change \
    -n $accountName \
    -g $resourceGroupName \
    --failover-policies 'East US 2=0' 'West US 2=1' 'South Central US=2'

Limpar a implantação

Após a execução do script de exemplo, o comando a seguir pode ser usado para remover o grupo de recursos e todos os recursos associados a ele.

az group delete --name $resourceGroupName

Explicação sobre o script

Este script usa os comandos a seguir. Cada comando da tabela é vinculado à documentação específica do comando.

Comando Observações
az group create Cria um grupo de recursos no qual todos os recursos são armazenados.
az cosmosdb create Cria uma conta do Banco de Dados Cosmos do Azure.
az cosmosdb update Atualiza uma conta do Azure Cosmos DB (adicionar ou remover região).
az cosmosdb failover-priority-change Atualize a prioridade de failover ou dispare um failover em uma conta do Azure Cosmos DB.
az group delete Exclui um grupo de recursos, incluindo todos os recursos aninhados.

Próximas etapas

Para obter mais informações sobre a CLI do Azure Cosmos DB, confira documentação da CLI do Azure Cosmos DB.

Todos os exemplos de scripts da CLI do Azure Cosmos DB podem ser encontrados no Repositório GitHub da CLI do Azure Cosmos DB.