Delen via


Een sjabloon voor probleemoplossing maken

In sommige gevallen kunt u het beste problemen met uw sjabloon oplossen door specifieke onderdelen ervan te isoleren en te testen. U kunt een sjabloon voor probleemoplossing maken die is gericht op de resource waarvan u denkt dat deze de fout veroorzaakt.

Er treedt bijvoorbeeld een fout op wanneer uw implementatiesjabloon verwijst naar een bestaande resource. In plaats van een volledige implementatiesjabloon te evalueren, maakt u een sjabloon voor probleemoplossing die gegevens over de resource retourneert. De uitvoer helpt u te bepalen of u de juiste parameters doorgeeft, sjabloonfuncties correct gebruikt en de resource krijgt die u verwacht.

Een sjabloon voor probleemoplossing implementeren

Met de volgende ARM-sjabloon en bicep-bestand wordt informatie opgehaald uit een bestaand opslagaccount. U voert de implementatie uit met Azure PowerShell New-AzResourceGroupDeployment of Azure CLI az deployment group create. Geef de naam en resourcegroep van het opslagaccount op. De uitvoer is een object met de eigenschapsnamen en -waarden van het opslagaccount.

{
  "$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"
    }
  }
}

Gebruik in Bicep het existing trefwoord en voer de implementatie uit vanuit de resourcegroep waarin het opslagaccount zich bevindt. Gebruik scope om toegang te krijgen tot een resource in een andere resourcegroep. Zie bestaande resources voor meer informatie.

param storageName string

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

output exampleOutput object = stg.properties

Alternatieve methode voor probleemoplossing

Als u denkt dat de implementatiefouten worden veroorzaakt door onjuiste afhankelijkheden, kunt u tests uitvoeren door de sjabloon op te delen in vereenvoudigde sjablonen. Maak eerst een sjabloon waarmee slechts één resource wordt geïmplementeerd (zoals een SQL Server). Wanneer u zeker weet dat de resource-implementatie juist is, voegt u een resource toe die hiervan afhankelijk is (zoals een SQL Database). Wanneer deze twee resources juist zijn gedefinieerd, voegt u andere afhankelijke resources toe (zoals controlebeleid). Verwijder tussen elke testimplementatie de resourcegroep om ervoor te zorgen dat u de afhankelijkheden adequaat test.

Volgende stappen