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 Code gebruikt. Zorg ervoor dat u deze extensie installeert in Visual Studio Code.
Opmerking
Deze oefening is optioneel. Als u deze oefening wilt voltooien, moet u een Azure-abonnement maken voordat u begint. Als u geen Azure-account hebt of als u er op dit moment geen wilt maken, kunt u de instructies doorlezen zodat u de informatie begrijpt die wordt gepresenteerd.
Opmerking
In deze les gebruikt u Azure Cloud Shell als terminal. U hebt toegang tot Cloud Shell via Azure Portal of de aanmelding bij Cloud Shell. U hoeft niets op uw pc of laptop te installeren om het te gebruiken.
Opmerking
Vervang in deze oefening myResourceGroupName in de voorbeelden door de naam van een bestaande resourcegroep of de naam van de resourcegroep die u voor deze oefening hebt gemaakt.
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 in het bestand azuredeploy.json na de sluitende accolade voor de
storageSKUparameter. 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
parameter1in 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 met de naam defaultValue toe 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
storagePrefixgebruikt 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
storagePrefixgebruikt 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 resourcegroep myResourceGroupName en selecteer vervolgens het opslagaccount dat u hebt geïmplementeerd.
Let op de omgeving: Dev en project: Tutorial 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 overschakelen
projectNamenaar 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 $devParameterFileControleer 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 $parameterFileControleer 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.