Azure ARM模板:DocumentDB primaryMasterKey as OUTPUT

时间:2017-02-27 13:20:10

标签: azure templates azure-cosmosdb azure-resource-manager

在Azure ARM模板中,我在尝试在OUTPUT部分中提取“majorMasterKey”时遇到了一些问题。在资源部分创建的DocumentDB。

部署报告此错误:

  

模板输出' documentDbPrimaryMasterKey'无效:索引(从零开始)必须大于或等于零且小于参数列表的大小..(代码:DeploymentOutputEvaluationFailed)

该OUTPUT的定义是:

"documentDbPrimaryMasterKey": {
     "type": "object",
     "value": "[listKeys(resourceId('Microsoft.DocumentDB/databaseAccounts', variables('documentDb').name), providers('Microsoft.DocumentDB','databaseAccounts').apiVersions[0]).primaryMasterKey]"
  }

这是我的模板https://github.com/toto-castaldi/azure-templates/blob/master/documentdb/template.json

由于" listKeys"的结果,这很奇怪。是一个正确的JSON,如

{"primaryMasterKey":"XXXX","secondaryMasterKey":"XXX","primaryReadonlyMasterKey":"XXX","secondaryReadonlyMasterKey":"XXXX}

1 个答案:

答案 0 :(得分:2)

嗯,你显然想要一个字符串,而不是一个对象:)

"documentDbPrimaryMasterKey": {
    "type": "String", # <<< STRING
    "value": "[listKeys(resourceId('Microsoft.DocumentDB/databaseAccounts', variables('documentDb').name), providers('Microsoft.DocumentDB','databaseAccounts').apiVersions[0]).primaryMasterKey]"
}