Creare un modello per la risoluzione dei problemi

In alcuni casi, il modo migliore per risolvere i problemi del modello consiste nell'isolamento e nel test di sue parti specifiche. È possibile creare un modello di risoluzione dei problemi incentrato sulla risorsa che si ritiene sia la causa dell'errore.

Ad esempio, si verifica un errore se il modello di distribuzione fa riferimento a una risorsa esistente. Anziché valutare l'intero modello di distribuzione, creare un modello di risoluzione dei problemi che restituisca i dati sulla risorsa. L'output contribuisce a capire se si specificano i parametri corretti, se si usano le funzioni del modello in modo appropriato e si ottiene la risorsa prevista.

Distribuire un modello di risoluzione dei problemi

Il modello di ARM e il file Bicep seguenti consentono di ottenere informazioni da un account di archiviazione esistente. Eseguire la distribuzione conNew-AzResourceGroupDeployment di Azure PowerShell o con az deployment group create dell'interfaccia della riga di comando di Azure. Specificare il nome dell'account di archiviazione e il gruppo di risorse. L'output è un oggetto con i nomi e i valori delle proprietà dell'account di archiviazione.

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

In Bicep, usare la parola chiave existing ed eseguire la distribuzione dal gruppo di risorse in cui si trova l'account di archiviazione. Utilizzare scope per accedere a una risorsa in un altro gruppo di risorse. Per altre informazioni, vedere Risorse esistenti.

param storageName string

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

output exampleOutput object = stg.properties

Metodo di risoluzione dei problemi alternativo

Se si ritiene che gli errori di distribuzione siano causati da dipendenze errate, è possibile eseguire i test suddividendo il modello in modelli semplificati. Creare innanzitutto un modello che distribuisce una sola risorsa (ad esempio SQL Server). Quando si è certi che la distribuzione della risorsa è corretta, aggiungere una risorsa dipendente (ad esempio un database SQL). Una volta definite correttamente queste due risorse, aggiungere altre risorse dipendenti (ad esempio, criteri di controllo). Tra le diverse distribuzioni dei test, eliminare il gruppo di risorse per assicurarsi di testare le dipendenze in modo adeguato.

Passaggi successivi