Megosztás a következőn keresztül:


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 Asztal

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.

Feljegyzés

Javasoljuk, hogy az Azure Az PowerShell modult használja az Azure-ral való interakcióhoz. Első lépésként tekintse meg az Azure PowerShell telepítését ismertető témakört. 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 van egy meglévő Azure Cosmos DB-fiókra egy Azure-erőforráscsoportban.

  • A szkripthez az Azure PowerShell Az 5.4.0-s vagy újabb verziója szükséges. Futtassa Get-Module -ListAvailable Az a telepített verziók listáját. Ha telepítenie kell a PowerShellt, tekintse meg az Azure PowerShell-modul telepítését ismertető témakört.

  • A Connect-AzAccount futtatásával jelentkezzen be az Azure-ba.

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óknévre é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éter használatával PSLocation frissíti a fiókrégióokat.

  • Ha régiót ad hozzá, ne módosítsa az első feladatátvételi régiót ugyanabban a műveletben. 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 az Azure Portalon 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ókot, 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 és azok tárolóit és adatbázisait.

Remove-AzResourceGroup -ResourceGroupName "myResourceGroup"

Következő lépések