Nota:
El acceso a esta página requiere autorización. Puede intentar iniciar sesión o cambiar directorios.
El acceso a esta página requiere autorización. Puede intentar cambiar los directorios.
En este tutorial, aprenderá a usar archivos de parámetros para almacenar los valores que se pasan durante la implementación. En los tutoriales anteriores, usó parámetros insertados con el comando de implementación. Este enfoque ha funcionado para probar la plantilla de Azure Resource Manager (plantilla de ARM), pero al automatizar las implementaciones, puede ser más fácil pasar un conjunto de valores para su entorno. Los archivos de parámetro facilitan el empaquetado de valores de parámetro para un entorno específico. En este tutorial, creará archivos de parámetros para entornos de desarrollo y producción. Esta instrucción tarda 12 minutos en completarse.
Prerrequisitos
Se recomienda completar el tutorial sobre etiquetas, pero no es necesario.
Debe tener Visual Studio Code y Azure PowerShell o la CLI de Azure. Para obtener más información, consulte herramientas de plantilla.
Revisar plantilla
La plantilla tiene muchos parámetros que puede proporcionar durante la implementación. Al final del tutorial anterior, la plantilla tenía el siguiente archivo JSON:
{
"$schema": "https://schema.management.azure.com/schemas/2019-04-01/deploymentTemplate.json#",
"contentVersion": "1.0.0.0",
"parameters": {
"storagePrefix": {
"type": "string",
"minLength": 3,
"maxLength": 11
},
"storageSKU": {
"type": "string",
"defaultValue": "Standard_LRS",
"allowedValues": [
"Standard_LRS",
"Standard_GRS",
"Standard_RAGRS",
"Standard_ZRS",
"Premium_LRS",
"Premium_ZRS",
"Standard_GZRS",
"Standard_RAGZRS"
]
},
"location": {
"type": "string",
"defaultValue": "[resourceGroup().location]"
},
"appServicePlanName": {
"type": "string",
"defaultValue": "exampleplan"
},
"webAppName": {
"type": "string",
"metadata": {
"description": "Base name of the resource such as web app name and app service plan "
},
"minLength": 2
},
"linuxFxVersion": {
"type": "string",
"defaultValue": "php|7.0",
"metadata": {
"description": "The Runtime stack of current web app"
}
},
"resourceTags": {
"type": "object",
"defaultValue": {
"Environment": "Dev",
"Project": "Tutorial"
}
}
},
"variables": {
"uniqueStorageName": "[concat(parameters('storagePrefix'), uniqueString(resourceGroup().id))]",
"webAppPortalName": "[concat(parameters('webAppName'), uniqueString(resourceGroup().id))]"
},
"resources": [
{
"type": "Microsoft.Storage/storageAccounts",
"apiVersion": "2025-06-01",
"name": "[variables('uniqueStorageName')]",
"location": "[parameters('location')]",
"tags": "[parameters('resourceTags')]",
"sku": {
"name": "[parameters('storageSKU')]"
},
"kind": "StorageV2",
"properties": {
"supportsHttpsTrafficOnly": true
}
},
{
"type": "Microsoft.Web/serverfarms",
"apiVersion": "2025-03-01",
"name": "[parameters('appServicePlanName')]",
"location": "[parameters('location')]",
"tags": "[parameters('resourceTags')]",
"sku": {
"name": "B1",
"tier": "Basic",
"size": "B1",
"family": "B",
"capacity": 1
},
"kind": "linux",
"properties": {
"perSiteScaling": false,
"reserved": true,
"targetWorkerCount": 0,
"targetWorkerSizeId": 0
}
},
{
"type": "Microsoft.Web/sites",
"apiVersion": "2025-03-01",
"name": "[variables('webAppPortalName')]",
"location": "[parameters('location')]",
"dependsOn": [
"[parameters('appServicePlanName')]"
],
"tags": "[parameters('resourceTags')]",
"kind": "app",
"properties": {
"serverFarmId": "[resourceId('Microsoft.Web/serverfarms', parameters('appServicePlanName'))]",
"siteConfig": {
"linuxFxVersion": "[parameters('linuxFxVersion')]"
}
}
}
],
"outputs": {
"storageEndpoint": {
"type": "object",
"value": "[reference(variables('uniqueStorageName')).primaryEndpoints]"
}
}
}
Esta plantilla funciona bien, pero ahora desea administrar fácilmente los parámetros que pasa a la plantilla.
Agregar archivos de parámetros
Los archivos de parámetros son archivos JSON con una estructura similar a la plantilla. En el archivo, proporcionas los valores de parámetros que deseas pasar durante la implementación.
En el archivo de parámetros, se proporcionan valores para los parámetros de la plantilla. El nombre de cada parámetro del archivo de parámetros debe coincidir con el nombre de un parámetro de la plantilla. El nombre no distingue entre mayúsculas y minúsculas, pero para ver fácilmente los valores coincidentes se recomienda que coincida con el uso de mayúsculas y minúsculas de la plantilla.
No es necesario proporcionar un valor para cada parámetro. Si un parámetro no especificado tiene un valor predeterminado, ese valor se usa durante la implementación. Si un parámetro no tiene un valor predeterminado y no se especifica en el archivo de parámetros, se le pedirá que proporcione un valor durante la implementación.
No se puede especificar un nombre de parámetro en el archivo de parámetros que no coincida con un nombre de parámetro en la plantilla. Se produce un error al proporcionar parámetros desconocidos.
En Visual Studio Code, cree un nuevo archivo con el siguiente contenido. Guarde el archivo con el nombre azuredeploy.parameters.dev.json:
{
"$schema": "https://schema.management.azure.com/schemas/2019-04-01/deploymentParameters.json#",
"contentVersion": "1.0.0.0",
"parameters": {
"storagePrefix": {
"value": "devstore"
},
"storageSKU": {
"value": "Standard_LRS"
},
"appServicePlanName": {
"value": "devplan"
},
"webAppName": {
"value": "devapp"
},
"resourceTags": {
"value": {
"Environment": "Dev",
"Project": "Tutorial"
}
}
}
}
Este archivo es el archivo de parámetros para el entorno de desarrollo. Tenga en cuenta que usa Standard_LRS para la cuenta de almacenamiento, asigna nombres a los recursos con un prefijo de desarrollo y establece la Environment etiqueta en Dev.
De nuevo, cree un nuevo archivo con el siguiente contenido. Guarde el archivo con el nombre azuredeploy.parameters.prod.json:
{
"$schema": "https://schema.management.azure.com/schemas/2019-04-01/deploymentParameters.json#",
"contentVersion": "1.0.0.0",
"parameters": {
"storagePrefix": {
"value": "contosodata"
},
"storageSKU": {
"value": "Standard_GRS"
},
"appServicePlanName": {
"value": "contosoplan"
},
"webAppName": {
"value": "contosowebapp"
},
"resourceTags": {
"value": {
"Environment": "Production",
"Project": "Tutorial"
}
}
}
}
Este archivo es el archivo de parámetros para el entorno de producción. Tenga en cuenta que usa Standard_GRS para la cuenta de almacenamiento, asigna nombres a los recursos con un prefijo contoso y establece la Environment etiqueta en Producción. En un entorno de producción real, también querrá usar un servicio de aplicaciones con una SKU que no sea gratuita, pero usamos esa SKU para este tutorial.
Implementar plantilla
Use la CLI de Azure o Azure PowerShell para implementar la plantilla.
Como prueba final de la plantilla, vamos a crear dos grupos de recursos nuevos para el entorno de desarrollo y otro para el entorno de producción.
En el caso de las variables de plantilla y parámetro, reemplace {path-to-the-template-file}, {path-to-azuredeploy.parameters.dev.json}, {path-to-azuredeploy.parameters.prod.json} y las llaves {} por las rutas de acceso al archivo de plantilla y parámetro.
En primer lugar, vamos a implementar en el entorno de desarrollo.
$templateFile = "{path-to-the-template-file}"
$parameterFile="{path-to-azuredeploy.parameters.dev.json}"
New-AzResourceGroup `
-Name myResourceGroupDev `
-Location "East US"
New-AzResourceGroupDeployment `
-Name devenvironment `
-ResourceGroupName myResourceGroupDev `
-TemplateFile $templateFile `
-TemplateParameterFile $parameterFile
Ahora, implementamos en el entorno de producción.
$parameterFile="{path-to-azuredeploy.parameters.prod.json}"
New-AzResourceGroup `
-Name myResourceGroupProd `
-Location "West US"
New-AzResourceGroupDeployment `
-Name prodenvironment `
-ResourceGroupName myResourceGroupProd `
-TemplateFile $templateFile `
-TemplateParameterFile $parameterFile
Nota:
Si se produjo un error en la implementación, use el modificador verbose para obtener información sobre los recursos que se están creando. Use el modificador debug para obtener más información para la depuración.
Comprobación de la implementación
Para comprobar la implementación, explore los grupos de recursos desde Azure Portal.
- Inicie sesión en Azure Portal.
- En el menú de la izquierda, seleccione Grupos de recursos.
- Verá los dos nuevos grupos de recursos que implemente en este tutorial.
- Seleccione cualquiera de los grupos de recursos y vea los recursos implementados. Observe que coinciden con los valores especificados en el archivo de parámetros de ese entorno.
Limpieza de recursos
En Azure Portal, seleccione Grupos de recursos en el menú izquierdo.
Seleccione el nombre del grupo de recursos con hipervínculo al lado de la casilla. Si completa esta serie, tiene tres grupos de recursos para eliminar: myResourceGroup, myResourceGroupDev y myResourceGroupProd.
Seleccione el icono Eliminar grupo de recursos en el menú superior.
Precaución
La eliminación de un grupo de recursos es irreversible.
Escriba el nombre del grupo de recursos en la ventana emergente que se muestra y seleccione Eliminar.
Pasos siguientes
Felicidades. Ha terminado esta introducción a la implementación de plantillas en Azure. Háganos saber si tiene comentarios y sugerencias en la sección de comentarios.
La siguiente serie de tutoriales incluye más detalles sobre la implementación de plantillas.