【问题标题】:Creating CosmosDB with Azure CLI in powershell在 Powershell 中使用 Azure CLI 创建 CosmosDB
【发布时间】:2018-07-05 17:56:47
【问题描述】:

我正在尝试创建一个新的 cosmosdb,但在执行以下代码时出现以下错误。

az cosmosdb create --name TIC_Test
                    --resource-group "TIC" 
                    --default-consistency-level  Session  
                    --locations "Central US"=0 "Central US"=0 
                    --max-interval 5  --max-staleness-prefix 100  
                    --enable-automatic-failover false  
                    --enable-virtual-network false  
                    --kind GlobalDocumentDB

错误:

az : usage: az cosmosdb create [-h] [--verbose] [--debug]
At line:2 char:1
+ az cosmosdb create --name TIC_Test --resource-group "TIC"  --default- ...
+ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
    + CategoryInfo          : NotSpecified: (usage: az cosmo...bose] [--debug]:String) [], RemoteException
    + FullyQualifiedErrorId : NativeCommandError

                          [--output {json,jsonc,table,tsv}] [--query JMESPATH]
                          --resource-group RESOURCE_GROUP_NAME --name
                          ACCOUNT_NAME [--locations LOCATIONS [LOCATIONS ...]]
                          [--tags [TAGS [TAGS ...]]]
                          [--kind {GlobalDocumentDB,MongoDB,Parse}]
                          [--default-consistency-level {Eventual,Session,BoundedStaleness,Strong,ConsistentPrefix}]
                          [--max-staleness-prefix MAX_STALENESS_PREFIX]
                          [--max-interval MAX_INTERVAL]
                          [--ip-range-filter IP_RANGE_FILTER [IP_RANGE_FILTER ...]]
                          [--enable-automatic-failover [{true,false}]]
                          [--capabilities CAPABILITIES [CAPABILITIES ...]]
                          [--enable-virtual-network [{true,false}]]
                          [--virtual-network-rules VIRTUAL_NETWORK_RULES [VIRTUAL_NETWORK_RULES ...]]
                          [--subscription _SUBSCRIPTION]
az cosmosdb create: error: list index out of range

知道错误的原因是什么吗?

我怀疑这条线,但我不确定如何指定:

 --locations "Central US"=0 "Central US"=0 

【问题讨论】:

    标签: powershell azure azure-cosmosdb azure-cli


    【解决方案1】:

    是的,--locations 似乎是问题所在。根据doc:

    “regionName=failoverPriority”格式的空格分隔位置。例如 东=0 西=1。写入区域的故障转移优先级值为 0 对于读取区域,大于 0。故障转移优先级值必须是 唯一且少于区域总数。默认值:单个 指定资源组所在位置的区域帐户。

    例如,这适用于将 CentralUS 配置为读/写区域,将 EastUS 配置为读取区域:

    --locations "CentralUS=0" "EastUS=1"
    

    【讨论】:

    • 非常感谢,问题是我使用的格式,非常感谢!
    【解决方案2】:

    --locations 选项允许您指定故障转移优先级。

    在下面找到一个创建新 CosmosDB/SQL 帐户的示例,其中 美国东部是主要的(读写),美国西部是次要的(只读) .

    az cosmosdb create --name "cosmosdb5555" --kind GlobalDocumentDB --resource-group "cosmosdbrg" --locations "eastus=0", "westus=1"
    

    您观察到一个错误,因为您指定的 --locations 由于区域和语法重复而无效。

    如果在--locations中指定重复区域,会抛出以下错误:

    Operation failed with status: 'BadRequest'. Details: Failover priorities must be unique and 0 <= priority < (number of failover policies)
    ActivityId: 689752f6-8081-11e8-8a4b-9cb6d00f36f2, Microsoft.Azure.Documents.Common/2.0.0.0
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2020-07-22
      • 2017-07-02
      • 1970-01-01
      • 2021-12-11
      相关资源
      最近更新 更多