Esercizio: Usare tag e file di parametri di Azure Resource Manager
In questo esercizio si aggiungono i tag per organizzare le risorse di Microsoft Azure e tenerne traccia. È anche possibile usare un file di parametri del modello di Azure Resource Manager (ARM) per consentire configurazioni diverse dei parametri per ogni distribuzione.
Questo esercizio usa gli Strumenti di Azure Resource Manager per Visual Studio Code. Assicurarsi di installare questa estensione in Visual Studio Code.
Creare un tag per tenere traccia dell'ambiente di distribuzione delle risorse e del progetto
Prima di tutto si creerà un parametro da usare come tag delle risorse nel modello.
In Visual Studio Code, nel file azuredeploy.json posizionare il cursore dopo la parentesi di chiusura del parametro
storageSKU
. Aggiungere una virgola e premere INVIO.Digitare par. Viene visualizzato un elenco dei frammenti di codice correlati.
Selezionare arm-param. Tenere presente che questa azione aggiunge un parametro generico al modello, Sembra questo codice:
"parameter1": { "type": "string", "metadata": { "description": "description" }
Modificare
parameter1
in resourceTags e modificare il valore di"type":
in object. Ricordare che i parametri possono avere tipi di dati string, secureString, int, bool, object, secureObject e array. Un collegamento alla sintassi di esempio per questi tipi di parametro è disponibile nel riepilogo di questo modulo.Aggiungere un attributo denominato defaultValue: e impostare il valore su {"Environment": "Dev", "Project": "Tutorial"}.
Il blocco di parametri sarà simile al codice seguente:
"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" } } },
Usare questo parametro per contrassegnare la risorsa dell'account di archiviazione. Modificare l'attributo
tags:
nella definizione della risorsa:"tags": "[parameters('resourceTags')]",
Il file avrà un aspetto simile al seguente:
{ "$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": {} }
Salvare il file.
Distribuire il modello di Resource Manager con tag aggiornati
Distribuire il modello di Resource Manager in Azure. Assicurarsi di usare lo stesso
storagePrefix
usato in precedenza.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
Distribuire il modello di Resource Manager in Azure. Assicurarsi di usare lo stesso
storagePrefix
usato in precedenza.$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
Verificare che i nuovi tag siano inclusi nella distribuzione
In Azure selezionare il gruppo di risorse
[nome gruppo di risorse sandbox] , quindi selezionare l'account di archiviazione distribuito.Si noti l'ambiente : Dev e Project : Tutorial:
Usare un file di parametri
Per ogni distribuzione del modello vengono attualmente specificati tre parametri. Ogni utente del modello può creare un file che contenga i valori dei parametri. Si creerà un file di parametri da usare con il modello.
Creare un altro file in Visual Studio Code. Denominarlo azuredeploy.parameters.dev.json.
In questo file si aggiungono i valori per i parametri del modello che si vogliono inserire nel modello per l'ambiente di sviluppo. Modificare il valore di un tag per osservare una modifica nella distribuzione. Ad esempio, cambiare
projectName
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" } } } }
Assicurarsi di sostituire
{unique-prefix}
con il proprio prefisso univoco.Salvare il file.
Distribuire il modello con il file di parametri
In questa sezione si distribuirà il modello di Resource Manager specificando il file di parametri da usare.
Nel terminale di Visual Studio Code eseguire questi comandi dell'interfaccia della riga di comando di 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
Controllare Azure per verificare che la distribuzione sia stata completata e che il valore del tag sia stato modificato:
Come verifica, provare a creare un file di parametri per l'ambiente di produzione. Modificare il percorso del file di parametri quando si esegue il comando per la distribuzione nell'ambiente di produzione.
Nel terminale di Visual Studio Code eseguire questi comandi di 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
Controllare Azure per verificare che la distribuzione sia stata completata e che il valore del tag sia stato modificato:
Come verifica, provare a creare un file di parametri per l'ambiente di produzione. Modificare il percorso del file di parametri quando si esegue il comando per la distribuzione nell'ambiente di produzione.