对于单个写入区域的 Azure Cosmos DB 帐户,使用 PowerShell 更改故障转移优先级或触发故障转移
适用对象: NoSQL MongoDB Cassandra Gremlin 表
注意
建议使用 Azure Az PowerShell 模块与 Azure 交互。 请参阅安装 Azure PowerShell 以开始使用。 若要了解如何迁移到 Az PowerShell 模块,请参阅 将 Azure PowerShell 从 AzureRM 迁移到 Az。
本示例需要 Azure PowerShell Az 5.4.0 或更高版本。 运行 Get-Module -ListAvailable Az
,查看已安装哪些版本。
如果需要安装,请参阅安装 Azure PowerShell 模块。
运行 Connect-AzAccount -Environment AzureChinaCloud 以登录到 Azure。
示例脚本
注意
对 failoverPriority=0
的区域进行的任何更改都会触发手动故障转移,并且只能对配置为手动故障转移的帐户进行更改。 对其他所有区域进行的更改只是更改了 Azure Cosmos DB 帐户的故障转移优先级。
注意
此示例演示如何使用 NoSQL API 帐户。 若要将此示例用于其他 API,请复制相关属性,并将其应用于 API 特定的脚本
# Reference: Az.CosmosDB | https://learn.microsoft.com/powershell/module/az.cosmosdb
# --------------------------------------------------
# Purpose
# Update Cosmos DB account: Change region failover priority.
# Note: updating location at priority 0 triggers a failover to the new location
# --------------------------------------------------
# Variables - ***** SUBSTITUTE YOUR VALUES *****
$resourceGroupName = "myResourceGroup" # Resource Group must already exist
$accountName = "myaccount" # Must be all lower case
$locations = @("China North", "China East") # Regions ordered by UPDATED failover priority
# --------------------------------------------------
# Get existing Cosmos DB account
$account = Get-AzCosmosDBAccount -ResourceGroupName $resourceGroupName -Name $accountName
# Update account failover priority
Update-AzCosmosDBAccountFailoverPriority -InputObject $account -FailoverPolicy $locations
清理部署
运行脚本示例后,可以使用以下命令删除资源组以及与其关联的所有资源。
Remove-AzResourceGroup -ResourceGroupName "myResourceGroup"
脚本说明
此脚本使用以下命令。 表中的每条命令均链接到特定于命令的文档。
命令 | 注释 |
---|---|
Azure Cosmos DB | |
Get-AzCosmosDBAccount | 列出 Azure Cosmos DB 帐户或获取指定的 Azure Cosmos DB 帐户。 |
Update-AzCosmosDBAccountFailoverPriority | 更新 Azure Cosmos DB 帐户区域的故障转移优先级顺序。 |
Azure 资源组 | |
Remove-AzResourceGroup | 删除资源组,包括所有嵌套的资源。 |
后续步骤
有关 Azure PowerShell 的详细信息,请参阅 Azure PowerShell 文档。