Criar um modelo de resolução de problemas

Em alguns casos, a melhor forma de resolver problemas do modelo é isolar e testar partes específicas do mesmo. Pode criar um modelo de resolução de problemas que se foca no recurso que acredita que causa o erro.

Por exemplo, ocorre um erro quando o modelo de implementação referencia um recurso existente. Em vez de avaliar um modelo de implementação completo, crie um modelo de resolução de problemas que devolva dados sobre o recurso. A saída ajuda-o a descobrir se está a transmitir os parâmetros corretos, a utilizar as funções de modelo corretamente e a obter o recurso esperado.

Implementar um modelo de resolução de problemas

O seguinte modelo arm e o ficheiro Bicep obtêm informações de uma conta de armazenamento existente. Executa a implementação com Azure PowerShell New-AzResourceGroupDeployment ou az deployment group create da CLI do Azure. Especifique o nome e o grupo de recursos da conta de armazenamento. O resultado é um objeto com os nomes e valores das propriedades da conta de armazenamento.

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

No Bicep, utilize a existing palavra-chave e execute a implementação a partir do grupo de recursos onde existe a conta de armazenamento. Utilize scope para aceder a um recurso num grupo de recursos diferente. Para obter mais informações, veja recursos existentes.

param storageName string

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

output exampleOutput object = stg.properties

Método de resolução de problemas alternativo

Se acredita que os erros de implementação são causados por dependências incorretas, pode executar testes ao dividir o modelo em modelos simplificados. Primeiro, crie um modelo que implemente apenas um único recurso (como um SQL Server). Quando tiver a certeza de que a implementação de recursos está correta, adicione um recurso que dependa dele (como um Base de Dados SQL). Quando esses dois recursos estiverem corretamente definidos, adicione outros recursos dependentes (como políticas de auditoria). Entre cada implementação de teste, elimine o grupo de recursos para se certificar de que está a testar adequadamente as dependências.

Passos seguintes