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

时间:2018-05-03 20:00:45

标签: azure-cosmosdb azure-cli

az cosmosdb collection create的Microsoft文档 说--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 个答案:

答案 0 :(得分:1)

因此,在所有来回之后它似乎是一个路径转义问题,其中分区键,当提供单引号时,被假定为来自bash的文件夹。

然而,将单引号更改为双引号有效。

当试图与cmd /C一起运行时,以下情况似乎正在发挥作用。

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