代码之家  ›  专栏  ›  技术社区  ›  Don Branson marios

如何使用CLI创建分区Azure MongoDB集合?

  •  1
  • Don Branson marios  · 技术社区  · 8 年前

    Microsoft文档 az cosmosdb collection create 他说 --partition-key-path 可用于命名要用于集合的键。在本例中,它是一个“MongoDB”集合:

    name='myName'
    databaseName='myDatabase'
    resourceGroupName='myRg'
    collectionName='myCollection'
    
    echo "Create database account"
    az cosmosdb create --name $name --kind MongoDB --locations "Central US"=0 --resource-group $resourceGroupName
    
    echo "Create database"
    az cosmosdb database create --name $name --db-name $databaseName --resource-group $resourceGroupName
    
    echo "Create collection $collectionName"
    az cosmosdb collection create --name $name --db-name $databaseName --resource-group $resourceGroupName --collection-name $collectionName --partition-key-path '/partition'
    

    为了避免以下错误并创建分区集合,我需要更改什么?

    Create database account
    ...
    Create database
    ...
    Create collection myCollection
    ERROR: Operation Failed: Invalid Arg {"Errors":["The partition key component definition path
    'C:\/Apps\/Git\/partition' could not be accepted, failed near position '0'. Partition key paths must contain only
    valid characters and not contain a trailing slash or wildcard character."]}
    
    1 回复  |  直到 8 年前
        1
  •  1
  •   Nick Chapsas    8 年前

    因此,经过反复的操作之后,这似乎是一个路径转义问题,其中分区键在提供单引号时被假定为来自bash的文件夹。

    然而,将单引号改为双引号起到了作用。

    尝试运行时 cmd /C 以下内容似乎正在发挥作用。

    cmd "/C az cosmosdb collection create --name $name --db-name $databaseName --resource-group $resourceGroupName --collection-name $collectionName --partition-key-path "/partition""