Lägga till regioner, ändra redundansprioritet, utlösa redundans för ett Azure Cosmos DB-konto med hjälp av Azure CLI

GÄLLER FÖR: Nosql Mongodb Cassandra Gremlin Tabell

Skriptet i den här artikeln visar tre åtgärder.

  • Lägg till en region i ett befintligt Azure Cosmos DB-konto.
  • Ändra regional redundansprioritet (gäller för konton med tjänsthanterad redundans)
  • Utlös en manuell redundansväxling från primära till sekundära regioner (gäller för konton med manuell redundans)

Det här skriptet använder ett API för NoSQL-konto, men dessa åtgärder är identiska för alla databas-API:er i Azure Cosmos DB.

Viktigt!

Det går inte att lägga till och ta bort regionåtgärder på ett Azure Cosmos DB-konto när andra egenskaper ändras.

Om du inte har en Azure-prenumeration skapar du ett kostnadsfritt Azure-konto innan du börjar.

Förutsättningar

  • Den här artikeln kräver version 2.9.1 eller senare av Azure CLI. Om du använder Azure Cloud Shell är den senaste versionen redan installerad.

Exempelskript

Starta Azure Cloud Shell

Azure Cloud Shell är ett interaktivt gränssnitt som du kan använda för att utföra stegen i den här artikeln. Den har vanliga Azure-verktyg förinstallerat och har konfigurerats för användning med ditt konto.

Om du vill öppna Cloud Shell väljer du bara Prova från det övre högra hörnet i ett kodblock. Du kan också starta Cloud Shell i en separat webbläsarflik genom att gå till https://shell.azure.com.

När Cloud Shell öppnas kontrollerar du att Bash har valts för din miljö. Efterföljande sessioner använder Azure CLI i en Bash-miljö, Välj Kopiera för att kopiera kodblocken, klistra in dem i Cloud Shell och tryck på Retur för att köra det.

Logga in på Azure

Cloud Shell autentiseras automatiskt under det första kontot som loggas in med. Använd följande skript för att logga in med en annan prenumeration och ersätt <Subscription ID> med ditt Azure-prenumerations-ID. Om du inte har en Azure-prenumeration skapar du ett kostnadsfritt Azure-konto innan du börjar.

subscription="<subscriptionId>" # add subscription here

az account set -s $subscription # ...or use 'az login'

Mer information finns i ange en aktiv prenumeration eller logga in interaktivt

Kör skriptet

# 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"

Rensa resurser

Använd följande kommando för att ta bort resursgruppen och alla resurser som är associerade med den med kommandot az group delete – såvida du inte har ett pågående behov av dessa resurser. Vissa av dessa resurser kan ta ett tag att skapa och ta bort.

az group delete --name $resourceGroup

Exempelreferens

Det här skriptet använder följande kommandon. Varje kommando i tabellen länkar till kommandospecifik dokumentation.

Command OBS!
az group create Skapar en resursgrupp där alla resurser lagras.
az cosmosdb create Skapar ett Azure Cosmos DB-konto.
az cosmosdb update Uppdateringar ett Azure Cosmos DB-konto (lägg till eller ta bort region).
az cosmosdb failover-priority-change Uppdatera redundansprioritet eller utlösa redundansväxling på ett Azure Cosmos DB-konto.
az group delete Tar bort en resursgrupp, inklusive alla kapslade resurser.

Nästa steg

Mer information om Azure Cosmos DB CLI finns i Dokumentation om Azure Cosmos DB CLI.

Azure CLI-exempel för specifika API:er finns i: