2017-02-27 104 views
1

在Azure ARM模板中,我嘗試在OUTPUT節中提取在RESOURCES部分中創建的DocumentDB的'primaryMasterKey'時遇到一些問題。Azure ARM模板:DocumentDB primaryMasterKey作爲OUTPUT

部署報告這個錯誤:

模板輸出「documentDbPrimaryMasterKey」是無效的:索引(從零開始)必須大於參數列表的大小大於或等於零,少.. (代碼:DeploymentOutputEvaluationFailed)

該輸出的定義是:

"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}

回答

2

那麼,你顯然希望一個字符串,而不是一個對象:)

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