Exercice : utiliser des fonctions Azure Resource Manager pour créer des expressions
Dans cet exercice, vous créez une expression en utilisant des fonctions de modèle Azure Resource Manager (ARM). L’expression crée un nom unique pour chaque groupe de ressources en combinant une entrée de préfixe avec un hachage de l’ID du groupe de ressources. Il en résulte des noms de compte de stockage Azure comme dev2hu6sbtr5 et staging5his8hgr67.
Remarque
Cet exercice est facultatif. Si vous souhaitez effectuer cet exercice, vous devez créer un abonnement Azure avant de commencer. Si vous n’avez pas de compte Azure ou si vous ne souhaitez pas en créer un à ce stade, vous pouvez lire les instructions pour comprendre les informations qui sont présentées.
Créer le fichier de modèle ARM
Dans le module précédent, vous avez créé un modèle ARM qui a déployé un compte de stockage. Vous avez ajouté des paramètres et une sortie à ce fichier. Ici, vous commencez avec ce fichier, mais la sortie est supprimée de façon à réduire la surcharge.
Ouvrez Visual Studio Code et créez un fichier appelé azuredeploy.json. Si vous obtenez ce fichier à partir du module précédent, vous pouvez l’utiliser.
Remplacez le contenu du fichier par le code suivant :
{ "$schema": "https://schema.management.azure.com/schemas/2019-04-01/deploymentTemplate.json#", "contentVersion": "1.0.0.0", "parameters": { "storageName": { "type": "string", "minLength": 3, "maxLength": 24 }, "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": {}, "resources": [ { "name": "[parameters('storageName')]", "type": "Microsoft.Storage/storageAccounts", "apiVersion": "2025-01-01", "tags": { "displayName": "[parameters('storageName')]" }, "location": "[resourceGroup().location]", "kind": "StorageV2", "sku": { "name": "[parameters('storageSKU')]" } } ], "outputs": {} }Si vous n’avez pas terminé le module précédent, prenez un moment pour examiner ce fichier. Notez que le
storageNameparamètre est utilisé pour transmettre un nom unique pour le compte de stockage.
Créer une expression pour définir un nom de compte de stockage unique
Au lieu de transmettre le nom du compte de stockage, vous modifiez le paramètre pour qu’il prenne le préfixe du nom du compte de stockage. Ce paramètre est passé à la fonction concat dans votre expression.
Dans la
parameterssection, passezstorageNameà storagePrefix.Remplacez la valeur de l’attribut
maxLength:dustoragePrefixparamètre par 11. La longueur maximale d’un nom de compte de stockage est de 24 caractères et vous devez vous assurer que le code de hachage ajouté à partir de la fonction que vous avez créée n’entraîne pas une valeur supérieure à 24.Créez l’expression pour définir le nom de compte de stockage unique. Dans la
resourcessection, remplacez les valeurs des attributsname:etdisplayName:de"[parameters('storageName')]"par « [toLower(concat(parameters('storagePrefix'), uniqueString(resourceGroup().id)))] ». Vous avez découvert des informations sur cette expression dans l’unité précédente. Le fichier doit maintenant se présenter ainsi :{ "$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": {}, "resources": [ { "name": "[toLower(concat(parameters('storagePrefix'),uniqueString(resourceGroup().id)))]", "type": "Microsoft.Storage/storageAccounts", "apiVersion": "2025-01-01", "tags": { "displayName": "[toLower(concat(parameters('storagePrefix'),uniqueString(resourceGroup().id)))]" }, "location": "[resourceGroup().location]", "kind": "StorageV2", "sku": { "name": "[parameters('storageSKU')]" } } ], "outputs": {} }
Déployer le modèle ARM sur Azure
Pour déployer ce modèle sur Azure, vous devez vous connecter à votre compte Azure à partir du terminal Visual Studio Code. Vérifiez que les outils Azure CLI sont installés.
Dans le menu Terminal, sélectionnez Nouveau terminal.
Si le menu déroulant situé à droite de la fenêtre de terminal indique bash, vous disposez de l’interpréteur de commandes approprié à partir duquel travailler. Vous pouvez passer à la section suivante.
Si vous n’avez pas le bon terminal, sélectionnez la flèche vers le bas, puis sélectionnez Git Bash.
Remplacez le répertoire par le dossier contenant votre fichier de modèle ARM.
Connexion à Azure
À partir du terminal dans Visual Studio Code, exécutez la commande suivante pour vous connecter à Azure. L’exécution de cette commande ouvre un navigateur qui vous permet de vous connecter à votre compte :
az login
Dans la fenêtre du navigateur qui s’ouvre, connectez-vous à votre compte. Une fois que vous êtes connecté, une liste des abonnements associés à ce compte s’affiche dans le terminal. L’abonnement par défaut est marqué avec un astérisque (*). Si vous avez plusieurs abonnements, sélectionnez l’abonnement que vous souhaitez utiliser pour cet exercice.
Créer et définir le groupe de ressources par défaut
Vous devez utiliser un groupe de ressources pour effectuer les étapes de cet exercice. Vous pouvez utiliser un groupe de ressources que vous avez déjà créé, ou vous pouvez créer un groupe de ressources spécifiquement pour cet exercice. Si vous choisissez de créer un groupe de ressources, cela facilite le nettoyage des ressources que vous créez lorsque vous effectuez l’exercice. Si vous disposez d’un groupe de ressources existant et que vous le définissez comme groupe de ressources par défaut, vous pouvez ignorer cette session.
az group create --name <resource-group-name> --location <location>
Remplacez <le nom> du groupe de ressources par un nom unique pour votre groupe de ressources. Remplacez <l’emplacement> par la région Azure la plus proche de vous. Par exemple, utilisez eastus pour USA Est.
En définissant le groupe de ressources par défaut, vous pouvez omettre ce paramètre à partir des commandes Azure CLI dans cet exercice. Pour définir le groupe de ressources, exécutez la commande suivante.
az configure --defaults group="<resource-group-name>"
Remplacez <le nom> du groupe de ressources par le nom du groupe de ressources.
Déployer le modèle sur Azure
Vous avez découvert les commandes de déploiement dans le module précédent. Ici, vous utilisez la commande Azure CLI az deployment group create.
Déployez le modèle en utilisant des commandes Azure CLI dans le terminal Visual Studio Code. N’oubliez pas de remplacer
{your-prefix}par une chaîne différente. Par exemple, vous pouvez utiliser le stockage.templateFile="azuredeploy.json" today=$(date +"%d-%b-%Y") DeploymentName="addfunction-"$today az deployment group create \ --name $DeploymentName \ --template-file $templateFile \ --parameters storagePrefix={your-prefix}Dans la première section de ce code, vous définissez des variables Azure CLI pour le chemin du fichier de modèle que vous voulez déployer et pour le nom du déploiement. Vous utilisez ensuite la commande
az deployment group createpour déployer le modèle sur Azure.Vous devez aussi voir le message
Running...dans le terminal.
Pour déployer ce modèle sur Azure, vous devez vous connecter à votre compte Azure à partir du terminal Visual Studio Code. Assurez-vous que les outils Azure PowerShell sont installés.
Dans le menu Terminal, sélectionnez Nouveau terminal.
Si le menu déroulant situé à droite de la fenêtre de terminal indique pwsh, vous disposez de l’interpréteur de commandes approprié à partir duquel travailler. Vous pouvez passer à la section suivante.
Si vous n’avez pas l’interpréteur de commandes approprié, sélectionnez la flèche vers le bas, puis sélectionnez PowerShell dans le menu déroulant.
Remplacez le répertoire par le dossier contenant votre fichier de modèle ARM.
Connexion à Azure
À partir du terminal dans Visual Studio Code, exécutez la commande suivante pour vous connecter à Azure.
Connect-AzAccount
Dans la fenêtre du navigateur qui s’ouvre (la fenêtre du navigateur peut être ouverte derrière la fenêtre active, réduisez la fenêtre active pour l’afficher), connectez-vous à votre compte. Une fois que vous êtes connecté, une liste des abonnements associés à ce compte s’affiche dans le terminal. L’abonnement par défaut est marqué avec un astérisque (*). Si vous avez plusieurs abonnements, sélectionnez l’abonnement que vous souhaitez utiliser pour cet exercice.
Créer et définir le groupe de ressources par défaut
Vous devez utiliser un groupe de ressources pour effectuer les étapes de cet exercice. Vous pouvez utiliser un groupe de ressources que vous avez déjà créé, ou vous pouvez créer un groupe de ressources spécifiquement pour cet exercice. Si vous choisissez de créer un groupe de ressources, cela facilite le nettoyage des ressources que vous créez lorsque vous effectuez l’exercice. Si vous disposez d’un groupe de ressources existant et que vous le définissez comme groupe de ressources par défaut, vous pouvez ignorer cette session.
New-AzResourceGroup -Name <ResourceGroupName> -Location <Location>
Remplacez par un nom unique pour votre groupe de ressources. Remplacez par la région Azure la plus proche de vous. Par exemple, utilisez eastus pour USA Est.
En définissant le groupe de ressources par défaut, vous pouvez omettre ce paramètre à partir des commandes Azure CLI dans cet exercice. Pour définir le groupe de ressources, exécutez la commande suivante.
Set-AzDefault -ResourceGroupName <ResourceGroupName>
remplacez <ResourceGroupName> par le nom de votre groupe de ressources.
Déployer le modèle sur Azure
Déployez le modèle en utilisant des commandes Azure PowerShell dans le terminal Visual Studio Code. N’oubliez pas de remplacer {your-prefix} par une chaîne différente. Par exemple, vous pouvez utiliser le stockage.
$templateFile = "azuredeploy.json"
$today=Get-Date -Format "MM-dd-yyyy"
$deploymentName="addfunction-"+"$today"
New-AzResourceGroupDeployment `
-Name $deploymentName `
-TemplateFile $templateFile `
-storagePrefix {your-prefix}
Dans la première section de ce code, vous définissez des variables Azure PowerShell pour le chemin d’accès au fichier de modèle que vous voulez déployer et pour le nom du déploiement. Vous utilisez ensuite la commande New-AzResourceGroupDeployment pour déployer le modèle sur Azure.
Vérifier votre déploiement
Une fois le déploiement terminé, accédez au portail Azure et vérifiez que vous êtes dans l’abonnement approprié. Pour vérifier l’abonnement, sélectionnez votre avatar dans le coin supérieur droit de la page. Sélectionnez Changer de répertoire. Dans la liste, sélectionnez le répertoire approprié.
Dans le volet gauche, sélectionnez Groupes de ressources.
Sélectionnez le nom de votre groupe de ressources.
Dans la section Vue d’ensemble , vous voyez qu’un déploiement a réussi :
Sélectionnez 1 Réussite pour afficher les détails du déploiement :
Sélectionnez addfunction pour voir quelles ressources ont été déployées :
Laissez la page ouverte dans votre navigateur afin de pouvoir vérifier les déploiements ultérieurement dans le module.