Partager via


Tutoriel : Ajouter des sorties à votre modèle Azure Resource Manager

Dans ce tutoriel, vous allez apprendre à retourner une valeur à partir de votre modèle Azure Resource Manager (modèle ARM). Vous utilisez des sorties lorsque vous avez besoin d’une valeur pour une ressource que vous déployez. Ce tutoriel prend 7 minutes .

Prerequisites

Nous vous recommandons de suivre le didacticiel sur les variables, mais il n’est pas nécessaire.

Vous devez disposer de Visual Studio Code et d’Azure PowerShell ou d’Azure CLI. Pour plus d’informations, consultez les outils de modèle.

Vérifier le modèle

À la fin du didacticiel précédent, votre modèle avait le code JSON suivant :

{
  "$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"
      ]
    },
    "location": {
      "type": "string",
      "defaultValue": "[resourceGroup().location]"
    }
  },
  "variables": {
    "uniqueStorageName": "[concat(parameters('storagePrefix'), uniqueString(resourceGroup().id))]"
  },
  "resources": [
    {
      "type": "Microsoft.Storage/storageAccounts",
      "apiVersion": "2025-06-01",
      "name": "[variables('uniqueStorageName')]",
      "location": "[parameters('location')]",
      "sku": {
        "name": "[parameters('storageSKU')]"
      },
      "kind": "StorageV2",
      "properties": {
        "supportsHttpsTrafficOnly": true
      }
    }
  ]
}

Il déploie un compte de stockage, mais il ne retourne aucune information à ce sujet. Vous devrez peut-être capturer des propriétés à partir de votre nouvelle ressource afin qu’elles soient disponibles ultérieurement pour référence.

Ajouter des sorties

Vous pouvez utiliser des sorties pour retourner des valeurs à partir du modèle. Il peut être utile, par exemple, d’obtenir les points de terminaison de votre nouveau compte de stockage.

L’exemple suivant met en évidence la modification apportée à votre modèle pour ajouter une valeur de sortie. Copiez l’intégralité du fichier et remplacez votre modèle par son contenu :

{
  "$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"
      ]
    },
    "location": {
      "type": "string",
      "defaultValue": "[resourceGroup().location]"
    }
  },
  "variables": {
    "uniqueStorageName": "[concat(parameters('storagePrefix'), uniqueString(resourceGroup().id))]"
  },
  "resources": [
    {
      "type": "Microsoft.Storage/storageAccounts",
      "apiVersion": "2025-06-01",
      "name": "[variables('uniqueStorageName')]",
      "location": "[parameters('location')]",
      "sku": {
        "name": "[parameters('storageSKU')]"
      },
      "kind": "StorageV2",
      "properties": {
        "supportsHttpsTrafficOnly": true
      }
    }
  ],
  "outputs": {
    "storageEndpoint": {
      "type": "object",
      "value": "[reference(variables('uniqueStorageName')).primaryEndpoints]"
    }
  }
}

Il existe quelques éléments importants à noter sur la valeur de sortie que vous avez ajoutée.

Le type de valeur retournée est défini sur object, ce qui signifie qu’il retourne un objet JSON.

Elle utilise la fonction de référence pour obtenir l’état d’exécution du compte de stockage. Pour obtenir l’état d’exécution d’une ressource, transmettez le nom ou l’ID d’une ressource. Dans ce cas, vous utilisez la même variable que celle que vous avez utilisée pour créer le nom du compte de stockage.

Enfin, il retourne la propriété primaryEndpoints du compte de stockage.

Déployer un modèle

Vous êtes prêt à déployer le modèle et à examiner la valeur retournée.

Si vous n’avez pas créé le groupe de ressources, consultez Créer un groupe de ressources. L’exemple suppose que vous avez défini la templateFile variable sur le chemin d’accès au fichier de modèle, comme indiqué dans le premier tutoriel.

New-AzResourceGroupDeployment `
  -Name addoutputs `
  -ResourceGroupName myResourceGroup `
  -TemplateFile $templateFile `
  -storagePrefix "store" `
  -storageSKU Standard_LRS

Dans la sortie de la commande de déploiement, vous voyez un objet similaire à l’exemple suivant uniquement si la sortie est au format JSON :

{
    "dfs": "https://storeluktbfkpjjrkm.dfs.core.windows.net/",
    "web": "https://storeluktbfkpjjrkm.z19.web.core.windows.net/",
    "blob": "https://storeluktbfkpjjrkm.blob.core.windows.net/",
    "queue": "https://storeluktbfkpjjrkm.queue.core.windows.net/",
    "table": "https://storeluktbfkpjjrkm.table.core.windows.net/",
    "file": "https://storeluktbfkpjjrkm.file.core.windows.net/"
}

Note

Si le déploiement échoue, utilisez le verbose commutateur pour obtenir des informations sur les ressources en cours de création. Utilisez l'option debug pour obtenir plus d’informations pour le débogage.

Passer en revue votre travail

Vous avez accompli beaucoup dans les six derniers tutoriels. Prenons un moment pour passer en revue ce que vous avez fait. Vous avez créé un modèle avec des paramètres faciles à fournir. Le modèle est réutilisable dans différents environnements, car il permet la personnalisation et crée dynamiquement des valeurs nécessaires. Il retourne également des informations sur le compte de stockage que vous pouvez utiliser dans votre script.

Examinons maintenant l’historique du groupe de ressources et du déploiement.

  1. Connectez-vous au portail Azure.

  2. Dans le menu de gauche, sélectionnez Groupes de ressources.

  3. Sélectionnez le groupe de ressources sur lequel vous avez déployé.

  4. Selon les étapes que vous avez effectuées, vous devez avoir au moins un et peut-être plusieurs comptes de stockage dans le groupe de ressources.

  5. Vous devez également avoir plusieurs déploiements réussis répertoriés dans l’historique. Sélectionnez ce lien.

    Capture d’écran du portail Azure montrant le lien déploiements.

  6. Vous voyez tous vos déploiements dans l’historique. Sélectionnez le déploiement appelé addoutputs.

    Capture d’écran du portail Azure montrant l’historique du déploiement.

  7. Vous pouvez passer en revue les entrées.

    Capture d’écran du portail Azure montrant les entrées de déploiement.

  8. Vous pouvez consulter les résultats.

    Capture d’écran du portail Azure montrant les sorties de déploiement.

  9. Vous pouvez passer en revue le modèle.

    Capture d’écran du portail Azure montrant le modèle de déploiement.

Nettoyer les ressources

Si vous passez au didacticiel suivant, vous n’avez pas besoin de supprimer le groupe de ressources.

Si vous arrêtez maintenant, vous souhaiterez peut-être supprimer le groupe de ressources.

  1. Dans le portail Azure, sélectionnez Groupes de ressources dans le menu de gauche.
  2. Tapez le nom du groupe de ressources dans le champ de texte filtre pour n’importe quel champ....
  3. Cochez la case en regard de myResourceGroup et sélectionnez myResourceGroup ou votre nom de groupe de ressources.
  4. Sélectionnez Supprimer le groupe de ressources dans le menu supérieur.

Étapes suivantes

Dans ce tutoriel, vous avez ajouté une valeur de retour au modèle. Dans le tutoriel suivant, vous allez apprendre à exporter un modèle et à utiliser des parties de ce modèle exporté dans votre modèle.