Azure Arm模板嵌套模板和dependsON
Arm template dependsOn函数对嵌套模板的工作方式是否不同Azure Arm模板嵌套模板和dependsON,azure,arm-template,Azure,Arm Template,Arm template dependsOn函数对嵌套模板的工作方式是否不同 { "$schema": "https://schema.management.azure.com/schemas/2015-01-01/deploymentTemplate.json#", "contentVersion": "1.0.0.0", "parameters": { &q
{
"$schema": "https://schema.management.azure.com/schemas/2015-01-01/deploymentTemplate.json#",
"contentVersion": "1.0.0.0",
"parameters": {
"location": {
"type": "string",
"defaultValue": "eastus2",
"metadata": {
"description": "Location for all resources."
}
},
"appBaseName": {
"type": "string",
"metadata": {
"description": "Name of the application. Used in the name of resources."
},
"minLength": 5,
"maxLength": 12
}
},
"variables": {
"ResourceGroupName": "[concat(parameters('appBaseName'), '-rg')]",
"storageAccountName": "[tolower(concat('stg',parameters('appBaseName')))]",
"WebAppName": "[concat(parameters('appBaseName'), '-web')]",
"AppServicePlanName": "[concat(parameters('appBaseName'), '-ASP')]"
},
"resources": [
{
"type": "Microsoft.Resources/resourceGroups",
"apiVersion": "2019-10-01",
"name": "[variables('ResourceGroupName')]",
"location": "[parameters('location')]",
"properties": {}
},
{
"name": "nesteddeploymentstorage",
"type": "Microsoft.Resources/deployments",
"apiVersion": "2018-05-01",
"resourceGroup": "[variables('ResourceGroupName')]",
"dependsOn": [
"[resourceId('Microsoft.Resources/resourceGroups/', variables('ResourceGroupName'))]"
],
"properties": {
"mode": "Incremental",
"template": {
"$schema": "https://schema.management.azure.com/schemas/2015-01-01/deploymentTemplate.json#",
"contentVersion": "1.0.0.0",
"parameters": {
},
"variables": {},
"resources": [
{
"type": "Microsoft.Storage/storageAccounts",
"apiVersion": "2019-06-01",
"name": "[variables('storageAccountName')]",
"location": "[parameters('location')]",
"sku": {
"name": "Standard_LRS",
"tier": "Standard"
},
"kind": "StorageV2",
"properties": {
"accessTier": "Hot"
}
},
{
"name": "[variables('AppServicePlanName')]",
"type": "Microsoft.Web/serverfarms",
"apiVersion": "2018-02-01",
"kind": "functionapp",
"location": "[parameters('location')]",
"tags": {},
"dependsOn": [
],
"properties": {
"name": "[variables('AppServicePlanName')]",
"perSiteScaling": false,
"reserved": false,
"targetWorkerCount": 0,
"targetWorkerSizeId": 0
},
"sku": {
"name": "Y1",
"tier": "Dynamic",
"size": "Y1",
"family": "Y",
"capacity": 0
}
},
{
"name": "[variables('WebAppName')]",
"type": "Microsoft.Web/sites",
"apiVersion": "2018-02-01",
"kind": "functionapp",
"location": "[parameters('location')]",
"dependsOn": [
"[resourceId('Microsoft.Storage/storageAccounts/', variables('storageAccountName'))]",
"[resourceId('Microsoft.Web/serverfarms/', variables('AppServicePlanName'))]"
],
"properties": {
"serverFarmId": "[resourceId('Microsoft.Web/serverfarms/', variables('AppServicePlanName'))]",
"reserved": false,
"siteConfig": {
"use32BitWorkerProcess": false,
"appSettings": [
]
},
"clientAffinityEnabled": false,
"clientCertEnabled": false,
"hostNamesDisabled": false,
"containerSize": 1536,
"dailyMemoryTimeQuota": 0,
"httpsOnly": false
},
"resources": []
}
]
}
}
}
],
"outputs": {}
}
我试过以下几种组合,但都失败了
"[resourceId(subscription().subscriptionId, variables('ResourceGroupName'), 'Microsoft.Storage/storageAccounts', variables('storageAccountName'))]",
"[resourceId(variables('ResourceGroupName'), 'Microsoft.Storage/storageAccounts', variables('storageAccountName'))]",
"[resourceId('Microsoft.Storage/storageAccounts', variables('storageAccountName'))]"
我可以在部署模板中不使用resourceId的变量吗?是否有任何限制或技巧我应该担心?它必须是纯文本,而不是params或vars吗