Replicare l'account di database di Azure Cosmos DB in più aree e configurare le priorità di failover mediante PowerShell

Questo esempio replica qualsiasi tipo di database di Azure Cosmos DB in più aree e configura le priorità di failover mediante PoweShell.

Questo esempio richiede il modulo Azure PowerShell 4.0 o versioni successive. Eseguire Get-Module -ListAvailable AzureRM per trovare la versione. Se è necessario eseguire l'installazione o l'aggiornamento, vedere come installare il modulo Azure PowerShell.

Eseguire Login-AzureRmAccount per creare una connessione con Azure.

Script di esempio

# Set the Azure resource group name and location
$resourceGroupName = "myResourceGroup"
$resourceGroupLocation = "South Central US"

# Database name
$DBName = "testdb"
# Distribution locations
$locations = @(@{"locationName"="East US"; 
                 "failoverPriority"=2},
               @{"locationName"="West US"; 
                 "failoverPriority"=1},
               @{"locationName"="South Central US"; 
                 "failoverPriority"=0})

# Create the resource group
New-AzureRmResourceGroup -Name $resourceGroupName -Location $resourceGroupLocation

# Consistency policy
$consistencyPolicy = @{"maxIntervalInSeconds"="10"; 
                       "maxStalenessPrefix"="200"}

# DB properties
$DBProperties = @{"databaseAccountOfferType"="Standard";
                  "Kind"="GlobalDocumentDB"; 
                  "locations"=$locations; 
                  "consistencyPolicy"=$consistencyPolicy;}

# Create the database
New-AzureRmResource -ResourceType "Microsoft.DocumentDb/databaseAccounts" `
                    -ApiVersion "2015-04-08" `
                    -ResourceGroupName $resourceGroupName `
                    -Location $resourceGroupLocation `
                    -Name $DBName `
                    -PropertyObject $DBProperties

# Modify locations/priorities
$newLocations = @(@{"locationName"="West US"; 
                 "failoverPriority"=0},
               @{"locationName"="East US"; 
                 "failoverPriority"=1},
               @{"locationName"="South Central US"; 
                 "failoverPriority"=2},
               @{"locationName"="North Central US";
                 "failoverPriority"=3})

# Updated properties
$updateDBProperties = @{"databaseAccountOfferType"="Standard";
                        "locations"=$newLocations;}

# Update the database with the properties
Set-AzureRmResource -ResourceType "Microsoft.DocumentDb/databaseAccounts" `
    -ApiVersion "2015-04-08" `
    -ResourceGroupName $resourceGroupName `
    -Name $DBName `
    -PropertyObject $UpdateDBProperties

Pulire la distribuzione

Dopo l'esecuzione dello script di esempio, è possibile usare il comando seguente per rimuovere il gruppo di risorse e tutte le risorse ad esso associate.

Remove-AzureRmResourceGroup -ResourceGroupName "myResourceGroup"

Spiegazione dello script

Questo script usa i comandi seguenti. Ogni comando della tabella include collegamenti alla documentazione specifica del comando.

Comando Note
New-AzureRmResourceGroup Consente di creare un gruppo di risorse in cui sono archiviate tutte le risorse.
New-AzureRmResource Crea un server logico che ospita un database o un pool elastico.
Set-AzureRMResource Modifica l'account del database.
Remove-AzureRmResourceGroup Consente di eliminare un gruppo di risorse incluse tutte le risorse annidate.

Passaggi successivi

Per altre informazioni su Azure PowerShell, vedere la documentazione di Azure PowerShell.

Altri esempi di script PowerShell di Azure Cosmos DB sono disponibili in Azure Cosmos DB PowerShell scripts (Script di PowerShell per Azure Cosmos DB).