Exercício – usar arquivos de parâmetro e marcas do Azure Resource Manager
Neste exercício, você adiciona marcas para ajudar a organizar e acompanhar seus recursos do Microsoft Azure. Você também usa um arquivo de parâmetro de modelo ARM (Azure Resource Manager) para permitir configurações de parâmetros diferentes para cada implantação.
Este exercício usará a extensão Ferramentas do Azure Resource Manager para Visual Studio Code. É necessário que você instale essa extensão no Visual Studio Code.
Criar uma marca para acompanhar o projeto e o ambiente 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 para o parâmetro
storageSKU
. Adicione uma vírgula e pressione Enter.Digite par. Você verá uma lista de snippets de código relacionados.
Selecione arm-param. Lembre-se de que essa ação adiciona um parâmetro genérico ao modelo. É semelhante a este código:
"parameter1": { "type": "string", "metadata": { "description": "description" }
Altere
parameter1
para resourceTags e altere o valor de"type":
para object. Lembre-se de que os parâmetros podem ser dos tipos de dados string, secureString, int, bool, object, secureObject e array. Um link para a sintaxe de exemplo para esses tipos de parâmetro está no resumo deste módulo.Adicione um atributo chamado defaultValue: e defina o valor para {"Environment": "Dev", "Project": "Tutorial"}.
O bloco de parâmetro deve ter aparência semelhante à do seguinte 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 esse parâmetro para marcar o recurso de conta de armazenamento. Altere o atributo
tags:
na definição do recurso:"tags": "[parameters('resourceTags')]",
O seu arquivo deve ter aparência semelhante à deste:
{ "$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 marcas atualizadas
Implante o modelo ARM atualizado no Azure. Mantenha o mesmo
storagePrefix
usado anteriormente.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. Mantenha o mesmo
storagePrefix
usado anteriormente.$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 marcas estão na implantação
No Azure, selecione o grupo de recursos
[nome do grupo de recursos da área restrita] e selecione a conta de armazenamento implantada.Observe o Ambiente : Dev e Project : Tutorial:
Usar um arquivo de parâmetro
Atualmente, há três parâmetros para preencher cada vez que você implantar esse modelo. Cada usuário, para guardar os próprios valores de parâmetro, pode criar um arquivo. Aqui, você cria um arquivo de parâmetros para usar com o seu modelo.
No Visual Studio Code, crie outro arquivo. Nomeie-o azuredeploy.parameters.dev.json.
Nesse arquivo, você adiciona os valores para os parâmetros de modelo que deseja inserir no modelo para o ambiente de desenvolvimento. Altere um valor de marca para ver a implantação fazer 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" } } } }
Substitua
{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 a ser usado.
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 assegurar que a implantação foi bem-sucedida e que o valor da marca foi alterado:
Como um desafio, crie um arquivo de parâmetro para o ambiente de produção. Altere o caminho do arquivo de parâmetro ao executar o comando para realizar a implantação no ambiente de produção.
No terminal do Visual Studio Code, execute os seguintes 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 assegurar que a implantação foi bem-sucedida e que o valor da marca foi alterado:
Como um desafio, crie um arquivo de parâmetro para o ambiente de produção. Altere o caminho do arquivo de parâmetro ao executar o comando para realizar a implantação no ambiente de produção.