我正在尝试使用visual studio部署存储帐户部署。以下是我的模板
{
"$schema": "https://schema.management.azure.com/schemas/2015-01-01/deploymentTemplate.json#",
"contentVersion": "1.0.0.0",
"parameters": {
"storageAccountType": {
"type": "array",
"defaultValue": [
"Standard_LRS",
"Standard_LRS",
"Standard_GRS"
]
},
"storageAccountNamePrefix": {
"type": "string",
"defaultValue": "az",
"minLength": 1
}
},
"variables": {
},
"resources": [
{
"name": "[concat(parameters('storageAccountNamePrefix'),'strg', copyIndex(),uniqueString(resourceGroup().id))]",
"type": "Microsoft.Storage/storageAccounts",
"location": "[resourceGroup().location]",
"apiVersion": "2015-06-15",
"copy": {
"count": "[length(parameters('storageAccountType'))]",
"name": "storageCopy"
},
"sku": {
"name": "[parameters('storageAccountType')[copyIndex()]]"
},
"tags": {
"displayName": "[parameters('storageAccountNamePrefix')[copyIndex()]]"
},
"properties": {
"accountType": "[parameters('storageAccountType')[copyIndex()]]"
},
"kind": "Storage"
}
],
"outputs": {
}
}
抛出的错误位于以下行
"name": "[concat(parameters('storageAccountNamePrefix'),'strg', copyIndex(),uniqueString(resourceGroup().id))]",
错误
Error: Code=InvalidTemplate; Message=Deployment template validation failed: 'The template resource 'azstrg0u2pzkvcrv3eo4' at line '25' and column '10' is not valid: Template language expression property 'Microsoft.WindowsAzure.ResourceStack.Frontdoor.Templates.Expressions.TemplateFunctionExpression' can't be evaluated. Please see https://aka.ms/arm-template-expressions for usage details..'.
我不明白为什么会失败,因为我可以在其他资源名称中使用concat
函数。我知道存储帐户名只能有字符和数字没有特殊字符。在错误中,准确显示资源的已解析名称。因此,从错误消息中很难知道表达式有什么问题。
答案 0 :(得分:1)
我已尝试过您的模板,下面的代码似乎有问题:
"tags": {
"displayName": "[parameters('storageAccountNamePrefix')[copyIndex()]]"
},
由于“' storageAccountNamePrefix'”不是数组。所以它会给你错误信息,请尝试以下方法:
"tags": {
"displayName": "[parameters('storageAccountNamePrefix')]"
},
2.请注意,在2016-01-01版之前,' sku'被称为' accountType'并且被发现属于'属性'信封。我们可以在this article找到此信息。因此,当api版本为“2015-06-15”时,我认为我们需要删除sku和kind。 我测试了以下两个资源信息模板,它运行成功。请试试。
"resources": [
{
"name": "[concat(parameters('storageAccountNamePrefix'),'strg', copyIndex(),uniqueString(resourceGroup().id))]",
"type": "Microsoft.Storage/storageAccounts",
"location": "[resourceGroup().location]",
"apiVersion": "2015-06-15",
"copy": {
"count": "[length(parameters('storageAccountType'))]",
"name": "storageCopy"
},
"tags": {
"displayName": "[parameters('storageAccountNamePrefix')]"
},
"properties": {
"accountType": "[parameters('storageAccountType')[copyIndex()]]"
}
}],
或
"resources": [
{
"name": "[concat(parameters('storageAccountNamePrefix'),'strg', copyIndex(),uniqueString(resourceGroup().id))]",
"type": "Microsoft.Storage/storageAccounts",
"location": "[resourceGroup().location]",
"apiVersion": "2016-01-01",
"copy": {
"count": "[length(parameters('storageAccountType'))]",
"name": "storageCopy"
},
"sku": {
"name": "[parameters('storageAccountType')[copyIndex()]]"
},
"tags": {
"displayName": "[parameters('storageAccountNamePrefix')]"
},
"kind": "Storage"
}],