Exercice : utiliser des variables Azure Resource Manager pour stocker des expressions
Dans cet exercice, vous stockez l’expression du nom de votre compte de stockage Azure dans une variable de modèle Azure Resource Manager (ARM). Ensuite, vous utilisez cette variable pour spécifier le nom du compte de stockage à créer.
Dans cet exercice, nous utilisons les Outils Azure Resource Manager pour Visual Studio Code. Assurez-vous d’installer cette extension dans Visual Studio Code.
Ajouter une variable
Ajoutez une variable pour stocker l’expression de nom de votre compte de stockage dans un espace unique du modèle.
Dans Visual Studio Code, dans le fichier azuredeploy.json, placez votre curseur entre les accolades du bloc des variables
"variables":{}
et appuyez sur Entrée.Tapez var à l’intérieur des accolades. Vous voyez une liste d’extraits de code associés. Sélectionnez arm-variable :
Votre section des variables se présente comme le code suivant :
"variables": {"variable1": "value"},
Remplacez le nom de la variable par uniqueStorageName, puis remplacez la valeur par "[toLower(concat(parameters('storagePrefix'),uniqueString(resourceGroup().id)))]". Votre section des variables se présente comme le code suivant :
"variables": { "uniqueStorageName": "[toLower(concat(parameters('storagePrefix'),uniqueString(resourceGroup().id)))]" },
Notez que vous utilisez le paramètre
storagePrefix
dans l’expression, au lieu d’une chaîne littérale. Sinon, il s’agit de la même expression que celle que vous avez découverte dans l’unité précédente.Utilisez la variable dans la section des ressources. Modifiez les valeurs des attributs
name:
etdisplayName
par "[variables('uniqueStorageName')]"Le fichier complet ressemble à cet exemple :
{ "$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" ] } }, "functions": [], "variables": { "uniqueStorageName": "[toLower(concat(parameters('storagePrefix'),uniqueString(resourceGroup().id)))]" }, "resources": [{ "name": "[variables('uniqueStorageName')]", "type": "Microsoft.Storage/storageAccounts", "apiVersion": "2019-06-01", "tags": { "displayName": "[variables('uniqueStorageName')]" }, "location": "[resourceGroup().location]", "kind": "StorageV2", "sku": { "name": "[parameters('storageSKU')]" } }], "outputs": {} }
En option, déployer le modèle
Le modèle mis à jour n’ayant pas de modifications apportées à la ressource que vous avez déployée, le déploiement de ce modèle n’apporte donc aucune modification à votre environnement Azure.
Si vous voulez déployer ce modèle, utilisez les commandes Azure CLI suivantes. Veillez à utiliser la même valeur de paramètre storagePrefix
que celle utilisée dans le dernier déploiement.
templateFile="azuredeploy.json"
today=$(date +"%d-%b-%Y")
DeploymentName="addVariable-"$today
az deployment group create \
--name $DeploymentName \
--template-file $templateFile \
--parameters storagePrefix={your-Prefix}
Si vous voulez déployer ce modèle, utilisez les commandes Azure PowerShell suivantes. Veillez à utiliser la même valeur de paramètre storagePrefix
que celle utilisée dans le dernier déploiement.
$templateFile = "azuredeploy.json"
$today=Get-Date -Format "MM-dd-yyyy"
$deploymentName="addVariable-"+"$today"
New-AzResourceGroupDeployment `
-Name $deploymentName `
-TemplateFile $templateFile `
-storagePrefix {your-Prefix}