Partager via


Créer un modèle de dépannage

Dans certains cas, la meilleure façon de résoudre les problèmes liés à votre modèle est d’isoler et de tester des parties spécifiques de celui-ci. Vous pouvez créer un modèle de dépannage qui se concentre sur la ressource qui, selon vous, est à l’origine de l’erreur.

Par exemple, une erreur se produit lorsque votre modèle de déploiement fait référence à une ressource existante. Plutôt que d’évaluer un modèle de déploiement entier, créez un modèle de dépannage qui renvoie des données sur la ressource. La sortie vous aide à déterminer si vous transmettez les paramètres corrects, si vous utilisez correctement les fonctions de modèle et si vous obtenez la ressource que vous attendez.

Déployer un modèle de dépannage

Le modèle ARM et le fichier Bicep suivants obtiennent des informations à partir d’un compte de stockage existant. Vous exécutez le déploiement avec Azure PowerShell New-AzResourceGroupDeployment ou Azure CLI az deployment group create. Spécifiez le nom et le groupe de ressources du compte de stockage. La sortie est un objet avec les noms et les valeurs des propriétés du compte de stockage.

{
  "$schema": "https://schema.management.azure.com/schemas/2019-04-01/deploymentTemplate.json#",
  "contentVersion": "1.0.0.0",
  "parameters": {
    "storageName": {
      "type": "string"
    },
    "storageResourceGroup": {
      "type": "string"
    }
  },
  "variables": {},
  "resources": [],
  "outputs": {
    "exampleOutput": {
      "value": "[reference(resourceId(parameters('storageResourceGroup'), 'Microsoft.Storage/storageAccounts', parameters('storageName')), '2022-05-01')]",
      "type": "object"
    }
  }
}

Dans Bicep, utilisez le existing mot-clé et exécutez le déploiement à partir du groupe de ressources où se trouve le compte de stockage. Permet scope d’accéder à une ressource d’un autre groupe de ressources. Pour plus d’informations, consultez les ressources existantes.

param storageName string

resource stg 'Microsoft.Storage/storageAccounts@2022-05-01' existing = {
  name: storageName
}

output exampleOutput object = stg.properties

Autre méthode de dépannage

Si vous pensez que les erreurs de déploiement sont causées par des dépendances incorrectes, vous pouvez exécuter des tests en divisant le modèle en modèles simplifiés. Tout d’abord, créez un modèle qui ne déploie qu’une seule ressource (comme un serveur SQL). Lorsque vous êtes sûr que le déploiement de la ressource est correct, ajoutez une ressource qui en dépend (comme une base de données SQL). Lorsque ces deux ressources sont correctement définies, ajoutez d’autres ressources dépendantes (comme les stratégies d’audit). Entre chaque déploiement de test, supprimez le groupe de ressources pour vous assurer que vous testez correctement les dépendances.

Étapes suivantes