谁能告诉我这两者之间有什么区别,以及应该在Azure ARM JSON模板的资源部分中使用哪一个
"dependsOn": [
[concat('Microsoft.Compute/availabilitySets/', variables('availabilitySetName'))]"
"dependsOn": [
[resourceid('Microsoft.Compute/availabilitySets/', variables('availabilitySetName'))]"
答案 0 :(得分:1)
resourceId只是生成resourceId的一种简便方法,而不是“ fake”方法,因为如果您尝试将concat示例与任何期望的function \ resource属性一起使用,则所显示的示例仅在dependsOn属性中有效一个resourceId,它将失败。
基本上,dependsOn在解析输入时允许几个快捷方式,因此您可以执行以下操作:
s.replace(/([A-Z][a-z]*)([A-Z]*)/g,'$1 $2').trim()
,如果该名称是唯一的-很好。但是它并不是您可能想像的真正的resourceId。
concat:https://docs.microsoft.com/en-us/azure/azure-resource-manager/templates/template-functions-array#concat
resourceId:https://docs.microsoft.com/en-us/azure/azure-resource-manager/templates/template-functions-resource#resourceid
答案 1 :(得分:0)
“ concat”功能:
有关更多详细信息,请参见this link。
“ resourceId”函数:
现在您的问题是“应该在Azure ARM JSON模板的资源部分中使用哪一个”。 接下来,我在我的ARM模板中使用了它,并且对我有用:
"availabilitySet": { "id": "[resourceId('Microsoft.Compute/availabilitySets', parameters('availabilitySetName'))]" }
}