Compartir a través de


Crear una plantilla de solución de problemas

En algunos casos, la mejor manera de solucionar problemas de la plantilla es aislar y probar partes específicas de la misma. Puede crear una plantilla de solución de problemas que se centre en el recurso que cree que causa el error.

Por ejemplo, se produce un error cuando la plantilla de implementación hace referencia a un recurso existente. En lugar de evaluar una plantilla de implementación completa, cree una plantilla de solución de problemas que devuelva datos sobre el recurso. El resultado le ayuda a determinar si está pasando los parámetros correctos, si está utilizando correctamente las funciones de plantilla y si está obteniendo el recurso que espera.

Implementación de una plantilla de solución de problemas

La siguiente plantilla de ARM y el archivo de Bicep obtienen información de una cuenta de almacenamiento existente. La implementación se ejecuta con Azure PowerShell New-AzResourceGroupDeployment o Azure CLI az deployment group create. Especifique el nombre y el grupo de recursos de la cuenta de almacenamiento. La salida es un objeto con los nombres de propiedad y los valores de la cuenta de almacenamiento.

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

En Bicep, use la existing palabra clave y ejecute la implementación desde el grupo de recursos en el que existe la cuenta de almacenamiento. Se usa scope para acceder a un recurso en un grupo de recursos diferente. Para obtener más información, consulte Recursos existentes.

param storageName string

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

output exampleOutput object = stg.properties

Método alternativo de solución de problemas

Si cree que los errores de implementación se deben a dependencias incorrectas, puede ejecutar pruebas dividiendo la plantilla en plantillas simplificadas. En primer lugar, cree una plantilla que implemente un solo recurso (como un servidor SQL Server). Cuando esté seguro de que la implementación de recursos es correcta, agregue un recurso que dependa de él (como una base de datos SQL). Cuando esos dos recursos estén definidos correctamente, agregue otros recursos dependientes (como directivas de auditoría). Entre cada implementación de prueba, elimine el grupo de recursos para asegurarse de que está probando adecuadamente las dependencias.

Pasos siguientes