在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}
答案 0 :(得分:2)
嗯,你显然想要一个字符串,而不是一个对象:)
"documentDbPrimaryMasterKey": {
"type": "String", # <<< STRING
"value": "[listKeys(resourceId('Microsoft.DocumentDB/databaseAccounts', variables('documentDb').name), providers('Microsoft.DocumentDB','databaseAccounts').apiVersions[0]).primaryMasterKey]"
}