Как создать секционированную коллекцию Azure MongoDB с помощью интерфейса командной строки? - PullRequest
0 голосов
/ 03 мая 2018

Документация 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 Ответ

0 голосов
/ 04 мая 2018

Таким образом, после всего туда-сюда, похоже, возникает проблема с выходом из пути, когда ключ раздела, если он указан в одинарных кавычках, считается папкой из bash.

Однако замена одинарных кавычек на двойные сработала.

При попытке запустить с cmd /C, похоже, работает следующее.

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

...