Exercício - Usar tags e arquivos de parâmetro do Azure Resource Manager
Neste exercício, você adiciona tags para ajudar a organizar e controlar seus recursos do Microsoft Azure. Você também usa um arquivo de parâmetro de modelo do Azure Resource Manager (ARM) para permitir configurações de parâmetros diferentes para cada implantação.
Este exercício usa o Azure Resource Manager Tools for Visual Studio Code. Certifique-se de instalar essa extensão no Visual Studio Code.
Criar uma tag para acompanhar o ambiente e o projeto de implantação de recursos
Primeiro, você cria um parâmetro para usar como uma marca de recurso em seu modelo.
No Visual Studio Code, no arquivo azuredeploy.json, coloque o cursor após a chave de fechamento do parâmetro
storageSKU
. Adicione uma vírgula e pressione Enter.Tipo par. Você verá uma lista de trechos relacionados.
Selecione arm-param. Lembre-se, esta ação adiciona um parâmetro genérico ao modelo. Parece que este é o código:
"parameter1": { "type": "string", "metadata": { "description": "description" }
Altere
parameter1
para em resourceTags e altere o valor de"type":
para no objeto. Lembre-se de que os parâmetros podem ter os tipos de dados string, secureString, int, bool, object, secureObject e array. Um link para sintaxe de exemplo para esses tipos de parâmetro está no resumo deste módulo.Adicione um atributo chamado defaultValue: e defina o valor como {"Environment": "Dev", "Project": "Tutorial"}.
O bloco de parâmetros deve ser semelhante 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 marcar o recurso da conta de armazenamento. Altere o atributo
tags:
na definição de recurso:"tags": "[parameters('resourceTags')]",
O seu ficheiro deve ser semelhante a este ficheiro:
{ "$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": {} }
Salve o arquivo.
Implantar o modelo ARM com tags atualizadas
Implante o modelo ARM atualizado no Azure. Certifique-se de usar o mesmo
storagePrefix
que você usava 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
Implante o modelo ARM atualizado no Azure. Certifique-se de usar o mesmo
storagePrefix
que você usava 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
Verifique se as novas tags estão na implantação
No Azure, selecione o
[nome do grupo de recursos da área restrita] grupo de recursos e, em seguida, selecione a conta de armazenamento implantada.Observe o Ambiente: Dev e o Projeto: Tutorial tags:
Usar um arquivo de parâmetro
Atualmente, há três parâmetros a serem preenchidos cada vez que você implantar esse modelo. Cada usuário do modelo pode criar um arquivo para armazenar seus valores de parâmetro. Aqui, você cria um arquivo de parâmetros para usar com seu modelo.
No Visual Studio Code, crie outro arquivo. Chame-lhe azuredeploy.parameters.dev.json.
Neste ficheiro, adiciona-se os valores para os parâmetros de modelo que pretende introduzir no modelo para o ambiente de desenvolvimento. Altere um valor de tag para ver se a implantação faz uma alteração. Por exemplo, você pode alterar
projectName
para 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" } } } }
Certifique-se de substituir
{unique-prefix}
pelo seu prefixo exclusivo.Salve o arquivo.
Implantar o modelo com o arquivo de parâmetro
Nesta seção, você implanta o modelo ARM, especificando qual arquivo de parâmetro usar.
No terminal do Visual Studio Code, execute estes comandos da CLI do 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
Verifique o Azure para garantir que a implantação foi bem-sucedida e que o valor da tag foi alterado:
Como desafio, crie um arquivo de parâmetros para o ambiente de produção. Altere o caminho do arquivo de parâmetro ao executar o comando a ser implantado no ambiente de produção.
No terminal do Visual Studio Code, execute estes comandos do 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
Verifique o Azure para garantir que a implantação foi bem-sucedida e que o valor da tag foi alterado:
Como desafio, crie um arquivo de parâmetros para o ambiente de produção. Altere o caminho do arquivo de parâmetro ao executar o comando a ser implantado no ambiente de produção.