Oefening: Azure Resource Manager-tags en parameterbestanden gebruiken
In deze oefening voegt u tags toe om uw Microsoft Azure-resources te organiseren en bij te houden. U gebruikt ook een arm-sjabloonparameterbestand (Azure Resource Manager) om verschillende parameterconfiguraties voor elke implementatie toe te staan.
In deze oefening worden de Azure Resource Manager Tools voor Visual Studio Codegebruikt. Zorg ervoor dat u deze extensie installeert in Visual Studio Code.
Een tag maken om de resource-implementatieomgeving en het project bij te houden
Eerst maakt u een parameter voor gebruik als resourcetag in uw sjabloon.
Plaats in Visual Studio Code de cursor na de sluitende accolade voor de parameter
storageSKU
in het azuredeploy.json-bestand. Voeg een komma toe en druk op Enter-.Typ par. U ziet een lijst met gerelateerde fragmenten.
Selecteer arm-param. Houd er rekening mee dat met deze actie een algemene parameter wordt toegevoegd aan de sjabloon. Deze code ziet er als volgt uit:
"parameter1": { "type": "string", "metadata": { "description": "description" }
Wijzig
parameter1
in resourceTags- en wijzig de waarde van"type":
in object. Houd er rekening mee dat parameters tekenreeksen, secureString, int, bool, object, secureObject en matrixgegevenstypen kunnen hebben. Een koppeling naar de voorbeeldsyntaxis voor deze parametertypen vindt u in de samenvatting van deze module.Voeg een kenmerk toe met de naam defaultValue: en stel de waarde in op {"Environment": "Dev", "Project": "Tutorial"}.
Het parameterblok moet er als volgt uitzien:
"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" } } },
Gebruik deze parameter om uw opslagaccountresource te taggen. Wijzig het kenmerk
tags:
in de resourcedefinitie:"tags": "[parameters('resourceTags')]",
Het bestand moet er als volgt uitzien:
{ "$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": {} }
Sla het bestand op.
De ARM-sjabloon implementeren met bijgewerkte tags
Implementeer de bijgewerkte ARM-sjabloon in Azure. Zorg ervoor dat u dezelfde
storagePrefix
gebruikt die u eerder hebt gebruikt.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
Implementeer de bijgewerkte ARM-sjabloon in Azure. Zorg ervoor dat u dezelfde
storagePrefix
gebruikt die u eerder hebt gebruikt.$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
Controleer of de nieuwe tags zich in de implementatie bevinden
Selecteer in Azure de
[naam sandbox-resourcegroep] resourcegroep en selecteer vervolgens het opslagaccount dat u hebt geïmplementeerd.Let op de -omgeving: Dev en Project: Zelfstudie tags:
Een parameterbestand gebruiken
Er zijn momenteel drie parameters om elke keer dat u deze sjabloon implementeert in te vullen. Elke gebruiker van de sjabloon kan een bestand maken om de parameterwaarden op te slaan. Hier maakt u een parameterbestand dat u met uw sjabloon wilt gebruiken.
Maak in Visual Studio Code een ander bestand. Noem het azuredeploy.parameters.dev.json.
In dit bestand voegt u de waarden toe voor de sjabloonparameters die u wilt invoeren in de sjabloon voor de ontwikkelomgeving. Wijzig een tagwaarde om te zien dat de implementatie een wijziging aanbrengt. U kunt bijvoorbeeld
projectName
wijzigen in 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" } } } }
Zorg ervoor dat u
{unique-prefix}
vervangt door uw unieke voorvoegsel.Sla het bestand op.
De sjabloon implementeren met het parameterbestand
In deze sectie implementeert u de ARM-sjabloon en geeft u op welk parameterbestand u wilt gebruiken.
Voer in de Visual Studio Code-terminal de volgende Azure CLI-opdrachten uit:
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
Controleer Azure om te controleren of de implementatie is geslaagd en of de tagwaarde is gewijzigd:
Als uitdaging maakt u een parameterbestand voor de productieomgeving. Wijzig het pad naar het parameterbestand wanneer u de opdracht uitvoert om te implementeren in de productieomgeving.
Voer in de Visual Studio Code-terminal de volgende Azure PowerShell-opdrachten uit:
$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
Controleer Azure om te controleren of de implementatie is geslaagd en of de tagwaarde is gewijzigd:
Als uitdaging maakt u een parameterbestand voor de productieomgeving. Wijzig het pad naar het parameterbestand wanneer u de opdracht uitvoert om te implementeren in de productieomgeving.