Exercice : utiliser des fonctions Azure Resource Manager pour créer des expressions

Effectué

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.

  1. 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.

  2. 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": {}
    }
    
  3. Si vous n’avez pas terminé le module précédent, prenez un moment pour examiner ce fichier. Notez que le storageName paramè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.

  1. Dans la parameters section, passez storageName à storagePrefix.

  2. Remplacez la valeur de l’attribut maxLength: du storagePrefix paramè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.

  3. Créez l’expression pour définir le nom de compte de stockage unique. Dans la resources section, remplacez les valeurs des attributs name: et displayName: 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.

  1. Dans le menu Terminal, sélectionnez Nouveau terminal.

  2. 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.

    Capture d’écran montrant la fenêtre de terminal Visual Studio Code avec bash dans le menu déroulant.

    Si vous n’avez pas le bon terminal, sélectionnez la flèche vers le bas, puis sélectionnez Git Bash.

    Capture d’écran montrant la liste des interpréteurs de commandes dans la fenêtre de terminal de Visual Studio Code.

  3. 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 create pour 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.

  1. Dans le menu Terminal, sélectionnez Nouveau terminal.

  2. 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.

    Capture d’écran montrant la fenêtre de terminal Visual Studio Code avec pwsh dans le menu déroulant.

    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.

    Capture d’écran montrant la liste des interpréteurs de commandes dans la fenêtre de terminal de Visual Studio Code.

  3. 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é.

  1. Dans le volet gauche, sélectionnez Groupes de ressources.

  2. Sélectionnez le nom de votre groupe de ressources.

  3. Dans la section Vue d’ensemble , vous voyez qu’un déploiement a réussi :

    Capture d’écran du portail Azure montrant la vue d’ensemble du groupe de ressources. La section Déploiements indique qu’un déploiement a réussi.

  4. Sélectionnez 1 Réussite pour afficher les détails du déploiement :

    Capture d’écran du portail Azure montrant les déploiements. Un déploiement est répertorié et a l’état Réussi.

  5. Sélectionnez addfunction pour voir quelles ressources ont été déployées :

    Capture d’écran du portail Azure montrant que le compte de stockage a été déployé.

  6. Laissez la page ouverte dans votre navigateur afin de pouvoir vérifier les déploiements ultérieurement dans le module.