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ú PSLocation
objektumot. 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"