Я хотел бы включить конвейер агрегации и функции предварительного просмотра MongoDBv3.4 программно через AzureRM Powershell.
До сих пор я безуспешно пытался сделать это с помощью шаблона Azure ARM и команды Set-AzureRmResource
.
Set-AzureRmResource
:
$updateDBProperties = @{
"capabilities" = @(@{"Name" = "EnableAggregationPipeline"}, @{"Name"= "MongoDBv3.4"})
};
# also tried without luck
# $updateDBProperties = @{
# "capabilities" = @("EnableAggregationPipeline", "MongoDBv3.4")
# };
# won't work
Set-AzureRmResource -ResourceType "Microsoft.DocumentDb/databaseAccounts" `
-ApiVersion "2015-04-08" `
-ResourceGroupName "my-resource-group" `
-Name "my-cosmosdb-development" `
-Properties $updateDBProperties
Через шаблон руки без везения:
{
"$schema": "https://schema.management.azure.com/schemas/2015-01-01/deploymentTemplate.json#",
"contentVersion": "1.0.0.0",
"parameters": {
"cosmosDBName": {
"type": "string"
},
"location": {
"type": "string"
},
"locations": {
"type": "array"
}
},
"variables": {},
"resources": [
{
"name": "[parameters('cosmosDBName')]",
"type": "Microsoft.DocumentDB/databaseAccounts",
"apiVersion": "2015-04-08",
"location": "[parameters('location')]",
"kind": "MongoDB",
"properties": {
"consistencyPolicy": {
"defaultConsistencyLevel": "Session",
"maxIntervalInSeconds": 5,
"maxStalenessPrefix": 100
},
"databaseAccountOfferType": "Standard",
"locations": "[array(parameters('locations'))]",
"capabilities": [
{
"name": "EnableAggregationPipeline"
},
{
"name": "MongoDBv3.4"
}
]
}
}
],
"outputs": {}
}
Мы загружаем шаблон руки выше через Powershell. Создается база данных Cosmos, но функции предварительного просмотра не включены:
New-AzureRmResourceGroupDeployment -ResourceGroupName $resourceGroup -TemplateFile $templateDirectory"/azureCosmosDB.json" -TemplateParameterObject $templateParameterObject -Name $templateParameterObject.cosmosDBName;
capabilities
в проводнике ресурсов вашей базы данных mongo? Два свойства существуют или нет? - person Joy Wang   schedule 12.06.2018resources.azure.com
, если там есть два свойстваname
? Если они существуют, я думаю, что это успешно. если вы проверите кнопку на портале, они не включены, это может быть ошибка, потому что я видел аналогичную проблему в веб-приложении. - person Joy Wang   schedule 14.06.2018