Ejercicio: uso de archivos de parámetros y etiquetas Azure Resource Manager
En este ejercicio, agregará etiquetas que le ayudarán a organizar y realizar el seguimiento de los recursos de Microsoft Azure. También usará un archivo de parámetros de plantilla de Azure Resource Manager (ARM) a fin de permitir diferentes configuraciones de parámetros para cada implementación.
En este ejercicio se utilizan las herramientas de Azure Resource Manager para Visual Studio Code. Asegúrese de instalar esta extensión en Visual Studio Code.
Creación de una etiqueta para realizar el seguimiento del proyecto y el entorno de implementación de recursos
En primer lugar, cree un parámetro para usarlo como etiqueta de recurso en la plantilla.
En el archivo azuredeploy.json de Visual Studio Code, coloque el cursor después de la llave de cierre del parámetro
storageSKU
. Agregue una coma y presione Entrar.Escriba par. Verá una lista de fragmentos de código relacionados.
Seleccione arm-param. Recuerde que esta acción agrega un parámetro genérico a la plantilla. Su aspecto es similar a este código:
"parameter1": { "type": "string", "metadata": { "description": "description" }
Cambie
parameter1
por resourceTags y el valor de"type":
por object. Recuerde que los parámetros pueden tener los tipos de datos string, secureString, int, bool, object, secureObject y array. En el resumen de este módulo encontrará un vínculo a la sintaxis de ejemplo de estos tipos de parámetro.Agregue un atributo denominado defaultValue: y establezca el valor en {"Entorno": "Desarrollo", "Proyecto": "Tutorial"}.
El bloque de parámetros debería ser similar a este código:
"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" ] }, "resourceTags": { "type": "object", "defaultValue": { "Environment": "Dev", "Project": "Tutorial" } } },
Use este parámetro para etiquetar el recurso de cuenta de almacenamiento. Cambie el atributo
tags:
en la definición del recurso:"tags": "[parameters('resourceTags')]",
El archivo debería tener este aspecto:
{ "$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" ] }, "resourceTags": { "type": "object", "defaultValue": { "Environment": "Dev", "Project": "Tutorial" } } }, "functions": [], "variables": { "uniqueStorageName": "[toLower(concat(parameters('storagePrefix'),uniqueString(resourceGroup().id)))]" }, "resources": [{ "name": "[variables('uniqueStorageName')]", "type": "Microsoft.Storage/storageAccounts", "apiVersion": "2019-06-01", "tags": "[parameters('resourceTags')]", "location": "[resourceGroup().location]", "kind": "StorageV2", "sku": { "name": "[parameters('storageSKU')]" } }], "outputs": {} }
Guarde el archivo.
Implementación de la plantilla de ARM con etiquetas actualizadas
Implemente la plantilla de ARM actualizada en Azure. Asegúrese de usar el mismo valor
storagePrefix
que antes.templateFile="azuredeploy.json" today=$(date +"%d-%b-%Y") DeploymentName="updateTags-"$today az deployment group create \ --name $DeploymentName \ --template-file $templateFile \ --parameters storagePrefix={your-Prefix} storageSKU=Standard_LRS
Implemente la plantilla de Resource Manager actualizada en Azure. Asegúrese de usar el mismo valor
storagePrefix
que antes.$templateFile = "azuredeploy.json" $today=Get-Date -Format "MM-dd-yyyy" $deploymentName="updateTags-"+"$today" New-AzResourceGroupDeployment ` -Name $deploymentName ` -TemplateFile $templateFile ` -storagePrefix {your storagePrefix} ` -storageSKU Standard_LRS
Comprobación de que las etiquetas nuevas están en la implementación
En Azure, seleccione el grupo de recursos
[nombre del grupo de recursos del espacio aislado] y, después, seleccione la cuenta de almacenamiento que ha implementado.Observe las etiquetas Entorno: Desarrollo y Proyecto: Tutorial:
Uso de un archivo de parámetros
Actualmente, cada vez que implementa esta plantilla tiene que rellenar tres parámetros. Cada usuario de la plantilla puede crear un archivo que contenga los valores de sus parámetros. Aquí se crea un archivo de parámetros para usar con la plantilla.
En Visual Studio Code, cree otro archivo. Asígnele el nombre azuredeploy.parameters.dev.json.
En este archivo, se agregan los valores para los parámetros de plantilla que quiere incluir en la plantilla para el entorno de desarrollo. Cambie un valor de etiqueta para ver que la implementación realiza un cambio. Por ejemplo, puede cambiar
projectName
por Learn:{ "$schema": "https://schema.management.azure.com/schemas/2019-04-01/deploymentParameters.json#", "contentVersion": "1.0.0.0", "parameters": { "storagePrefix": { "value": "{unique-prefix}" }, "storageSKU": { "value": "Standard_LRS" }, "resourceTags": { "value": { "Environment": "Dev", "Project": "Learn" } } } }
Asegúrese de reemplazar
{unique-prefix}
por el prefijo único.Guarde el archivo.
Implementación de la plantilla con el archivo de parámetros
En esta sección, implementará la plantilla de Resource Manager y especificará el archivo de parámetros que se va a usar.
En el terminal de Visual Studio Code, ejecute estos comandos de la CLI de Azure:
templateFile="azuredeploy.json" devParameterFile="azuredeploy.parameters.dev.json" today=$(date +"%d-%b-%Y") DeploymentName="addParameterFile-"$today az deployment group create \ --name $DeploymentName \ --template-file $templateFile \ --parameters $devParameterFile
Compruebe en Azure que la implementación se ha realizado correctamente y que el valor de la etiqueta ha cambiado:
Como reto, cree un archivo de parámetros para el entorno de producción. Cambie la ruta de acceso del archivo de parámetros cuando ejecute el comando para realizar la implementación en el entorno de producción.
En el terminal de Visual Studio Code, ejecute estos comandos de Azure PowerShell:
$templateFile = "azuredeploy.json" $parameterFile="azuredeploy.parameters.dev.json" $today=Get-Date -Format "MM-dd-yyyy" $deploymentName="addParameterFile-"+"$today" New-AzResourceGroupDeployment ` -Name $deploymentName ` -TemplateFile $templateFile ` -TemplateParameterFile $parameterFile
Compruebe en Azure que la implementación se ha realizado correctamente y que el valor de la etiqueta ha cambiado:
Como reto, cree un archivo de parámetros para el entorno de producción. Cambie la ruta de acceso del archivo de parámetros cuando ejecute el comando para realizar la implementación en el entorno de producción.