Exercício – Utilizar as etiquetas e os ficheiros de parâmetro do Azure Resource Manager
Neste exercício, vai adicionar etiquetas para ajudar a organizar e monitorizar os seus recursos do Microsoft Azure. Também vai utilizar um ficheiro de parâmetro de modelo do Resource Manager para diferentes configurações de parâmetro para cada implementação.
Este exercício utiliza a extensão Azure Resource Manager Tools para Visual Studio Code. Certifique-se de que instala esta extensão no Visual Studio Code.
Criar uma etiqueta para controlar o projeto e o ambiente da implementação do recurso
Comece por criar um parâmetro para utilizar como etiqueta de recurso no seu modelo.
No Visual Studio Code, no arquivo azuredeploy.json, coloque o cursor após a chave de fechamento do
storageSKU
parâmetro. Adicione uma vírgula e pressione Enter.Escreva par. Verá uma lista de fragmentos relacionados.
Selecione arm-param. Tenha em atenção que esta ação adiciona um parâmetro genérico ao modelo. Parece com este código:
"parameter1": { "type": "string", "metadata": { "description": "description" }
Altere
parameter1
para resourceTags e altere o valor de"type":
para object. Tenha em atenção que os parâmetros podem ter string, secureString, int, bool, object, secureObject e tipos de dados de matriz. No resumo deste módulo, irá encontrar uma ligação para sintaxe exemplificativa destes tipos de parâmetros.Adicione um atributo chamado defaultValue: e defina o valor como {"Environment": "Dev", "Project": "Tutorial"}.
O bloco de parâmetros deverá ter um aspeto 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" } } },
Utilize este parâmetro para etiquetar o seu recurso da conta de armazenamento. Altere o atributo
tags:
na definição do recurso:"tags": "[parameters('resourceTags')]",
O seu ficheiro deverá ter o seguinte aspeto:
{ "$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 o ficheiro.
Implementar o modelo ARM com as etiquetas atualizadas
Implemente o modelo ARM atualizado no Azure. Certifique-se de que utiliza o mesmo
storagePrefix
que utilizou 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
Implemente o modelo ARM atualizado no Azure. Certifique-se de que utiliza o mesmo
storagePrefix
que utilizou 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
Verificar se as novas etiquetas estão na implementaçã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 tags:
Utilizar um ficheiro de parâmetro
Atualmente, existem três parâmetros para preencher de cada vez que implementar este modelo. Cada utilizador do modelo pode criar um ficheiro para manter os respetivos valores de parâmetro. Aqui, pode criar um ficheiro de parâmetro para utilizar com o seu modelo.
No Visual Studio Code, crie outro ficheiro. Dê-lhe o nome azuredeploy.parameters.dev.json.
Neste ficheiro, pode colocar os valores dos parâmetros de modelo pretendidos no modelo para o ambiente da implementação. Mude um valor de etiqueta para verificar que a implementação faz uma alteração. Por exemplo, 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 que substitui
{unique-prefix}
pelo seu prefixo exclusivo.Guarde o ficheiro.
Implementar o modelo com o ficheiro de parâmetro
Nesta secção, irá implementar o modelo do Resource Manager no qual se especifica o ficheiro de parâmetro a utilizar.
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 se certificar de que a implementação foi bem-sucedida e se o valor da etiqueta mudou:
Em título de desafio, crie um ficheiro de parâmetro para o ambiente de produção. Altere o caminho do ficheiro do parâmetro quando executar o comando para implementar 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 se certificar de que a implementação foi bem-sucedida e se o valor da etiqueta mudou:
Em título de desafio, crie um ficheiro de parâmetro para o ambiente de produção. Altere o caminho do ficheiro do parâmetro quando executar o comando para implementar no ambiente de produção.