Azure Cosmos DB-fiók régióinak frissítése a PowerShell használatával

A KÖVETKEZŐKRE VONATKOZIK: Nosql MongoDB Cassandra Gremlin Táblázat

Ez a PowerShell-szkript frissíti az Azure Cosmos DB-fiók által használt Azure-régiókat. Ezzel a szkripttel hozzáadhat egy Azure-régiót, vagy módosíthatja a régió feladatátvételi sorrendjét.

Megjegyzés

Javasoljuk, hogy az Azure Az PowerShell-modullal kommunikáljon az Azure-ral. Az első lépésekhez tekintse meg az Azure PowerShell telepítését ismertető szakaszt. Az Az PowerShell-modulra történő migrálás részleteiről lásd: Az Azure PowerShell migrálása az AzureRM modulból az Az modulba.

Előfeltételek

  • Szüksége lesz egy meglévő Azure Cosmos DB-fiókra egy Azure-erőforráscsoportban.

  • A szkripthez Azure PowerShell Az 5.4.0 vagy újabb verzió szükséges. Futtassa a parancsot Get-Module -ListAvailable Az a telepített verziók listázásához. Ha telepítenie kell a PowerShellt, olvassa el a Azure PowerShell telepítése című modult.

  • Az Azure-ba való bejelentkezéshez futtassa a Connect-AzAccount parancsot.

Példaszkript

Az Update-AzCosmosDBAccountRegion parancs frissíti az Azure-régiókat egy Azure Cosmos DB-fiókhoz. A parancshoz szükség van egy erőforráscsoport nevére, egy Azure Cosmos DB-fiók nevére és az Azure-régiók kívánt feladatátvételi sorrendben történő listájára.

Ebben a szkriptben a Get-AzCosmosDBAccount parancs lekéri a megadott Azure Cosmos DB-fiókot. A New-AzCosmosDBLocationObject létrehoz egy típusú PSLocationobjektumot. Update-AzCosmosDBAccountRegion a paramétert használja a PSLocation fiókrégiók frissítéséhez.

  • Ha régiót ad hozzá, ne módosítsa ugyanabban a műveletben az első feladatátvételi régiót. A feladatátvétel prioritási sorrendjének módosítása egy külön műveletben.
  • A régiók nem módosíthatók ugyanabban a műveletben, mint a többi Azure Cosmos DB-fióktulajdonság módosítása. Ezeket a műveleteket külön végezze el.

Ez a minta egy API-t használ a NoSQL-fiókhoz. Ha ezt a mintát más API-khoz szeretné használni, másolja ki a kapcsolódó tulajdonságokat, és alkalmazza őket az API-specifikus szkriptre.

# 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

Bár a szkript eredményt ad vissza, előfordulhat, hogy a frissítési művelet nem fejeződik be. Ellenőrizze a művelet állapotát a Azure Portal az Azure Cosmos DB-fiók tevékenységnaplójának használatával.

Azure-erőforráscsoport törlése

Ha törölni szeretné az Azure Cosmos DB-fiókját, a Remove-AzResourceGroup PowerShell paranccsal eltávolíthatja annak erőforráscsoportját. Ez a parancs eltávolítja az Azure-erőforráscsoportot és a benne lévő összes erőforrást, beleértve az Azure Cosmos DB-fiókokat, valamint azok tárolóit és adatbázisait.

Remove-AzResourceGroup -ResourceGroupName "myResourceGroup"

Következő lépések