microsoft - porta azure
¿Cómo puedo solucionar los errores de validación de plantillas de Azure ARM? (7)
Asegúrese de que está ejecutando la versión más reciente de la CLI; estamos trabajando para acelerar el error detallado. Si eso todavía no lo atrapa, háganoslo saber https://github.com/Azure/azure-xplat-cli/issues
Luego, si el registro no muestra los detalles, ejecute la implementación con el modificador -vv, la salida de depuración detallada (aunque detallada) tendrá todos los mensajes de error y, por lo general, puede examinar y encontrar el error específico.
azure group deployment create ... -vv
Potencia Shell:
New-AzureRmResourceGroupDeployment ... -debug
He realizado algunos pequeños cambios en un archivo de plantilla de Azure ARM y ahora, cuando intento implementar o validar a través de xplat cli, recibo este mensaje.
error: InvalidTemplateDeployment: la implementación de la plantilla ''fakedDeploymentName'' no es válida de acuerdo con el procedimiento de validación. El ID de seguimiento es ''/ algún tipo de GUID aquí /'. Ver errores internos para más detalles. Consulte http://aka.ms/arm-deploy para obtener detalles de uso.
error: PreflightValidationCheckFailed: error de validación de Preflight. Por favor, consulte los detalles para los errores específicos.
Me encantaría solucionar este problema, pero no veo ningún "error interno" en la consola. Incluso me da un GUID único cada vez, lo que implica que podría usar este GUID para buscar un mensaje más informativo. ¿Dónde puedo ver un error más detallado? (Aún no estoy buscando ayuda sobre la fuente real del error)
Creo que la ID de seguimiento es para el soporte técnico para revisar sus registros, no para el usuario. Con respecto a su pregunta exacta, debe echar un vistazo a los registros - reference .
Otra buena manera de validar la plantilla es usar el Explorador de recursos .
Ejecute el siguiente cmdlet de PowerShell Azure con el ID de seguimiento proporcionado:
Get-AzureRMLog -CorrelationId xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx -DetailedOutput
Inicie sesión en el portal azure portal.azure.com.
Abra el registro de actividades
Busque el registro con el Nombre de la Operación de Validar en la lista de actividades. Debería tener un signo de exclamación rojo porque falló.
Haga clic en ese registro. Luego haga clic en la pestaña JSON en la parte inferior. Obtenga lectura y en algún lugar del Json devuelto puede encontrar un error en el mensaje de estado, como "La cuenta de almacenamiento llamada helloworld ya está tomada".
Sobre la base de @nftw:
$deploymentGroupName = ''deploymentGroupName''
$correlationId = ((Get-AzureRMLog -ResourceGroup $deploymentGroupName)[0]).CorrelationId
$logentry = (Get-AzureRMLog -CorrelationId $correlationId -DetailedOutput)
#$logentry
$rawStatusMessage = $logentry.Properties
$status = $rawStatusMessage.Content.statusMessage | ConvertFrom-Json
$status.error.details
$status.error.details.details
Sobre la base de la respuesta de nftw ...
Para que sea más fácil / rápido encontrar el problema de error, utilicé grep
y less
con una variable de la siguiente manera:
$correlationId =''xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx'' # store your correlation ID here
Get-AzureRmLog -CorrelationId $correlationID -DetailedOutput | grep -C 10 $correlationID | less
En mi prueba, el error estaba cerca de la parte superior de la salida. Podría usar less
y la tecla de barra diagonal hacia adelante / y buscar "error" para encontrar el error aún más rápido.
Yo estaba corriendo en el mismo problema. Básicamente, no pude obtener ningún detalle pasado "InvalidTemplateDeployment".
Agregué mi plantilla ARM en una plantilla de proyecto de Visual Studio: Grupo de recursos de Azure e intenté implementarla. Obtuve detalles detallados en la pestaña de Salida. Eso me ayudó a resolver mi problema.
En mi caso, era el nombre del clúster, solo puede ser letras pequeñas y números.