När en Azure-resursdistribution misslyckas med att använda Azure Resource Manager-mallar (ARM-mallar) eller Bicep-filer tas en felkod emot. Den här artikeln beskriver hur du hittar felkoder så att du kan felsöka problemet. Mer information om felkoder finns i vanliga distributionsfel.
Feltyper
Det finns två typer av fel som rör en distribution:
Valideringsfel inträffar innan en distribution börjar och orsakas av syntaxfel i filen. En kodredigerare som Visual Studio Code kan identifiera dessa fel.
Valideringsfel före start inträffar när ett distributionskommando körs men resurser inte distribueras. Dessa fel påträffas utan att distributionen startas. Om ett parametervärde till exempel är felaktigt, hittas felet i valideringen före start.
Distributionsfel uppstår under distributionsprocessen och kan bara hittas genom att utvärdera distributionens förlopp i azure-miljön.
Båda typerna av fel returnerar en felkod som du använder för att felsöka distributionen. Valideringsfel och fel före start visas i aktivitetsloggen men visas inte i distributionshistoriken. En Bicep-fil med syntaxfel kompileras inte till JSON och visas inte i aktivitetsloggen.
Mallar verifieras under distributionsprocessen och felkoder visas. Innan du kör en distribution kan du identifiera verifierings- och preflight-fel genom att köra valideringstester med Azure PowerShell eller Azure CLI.
En ARM-mall kan distribueras från portalen. Om mallen har syntaxfel visas ett verifieringsfel när du försöker köra distributionen. Mer information om portaldistributioner finns i distribuera resurser från en anpassad mall.
Följande exempel försöker distribuera ett lagringskonto och ett verifieringsfel inträffar.
Välj meddelandet för mer information. Mallen har ett syntaxfel med felkoden InvalidTemplate.
Sammanfattningen visar att ett uttryck saknar en avslutande parentes.
Utdata visar felkoder som InvalidTemplateDeployment eller AccountNameInvalid som du kan använda för att felsöka och åtgärda mallen.
För en Bicep-fil visar utdata för ett syntaxvalideringsproblem ett parameterfel.
Test-AzResourceGroupDeployment: Cannot retrieve the dynamic parameters for the cmdlet.
Cannot find path '/tmp/11111111-1111-1111-1111-111111111111/main.json' because it does not exist.
Om du vill få mer felsökningsinformation använder du Bicep-kompileringskommandot . Utdata visar varje fels rad- och kolumnnummer inom parenteser och felmeddelandet.
bicep build main.bicep
/azuredeploy.bicep(22,51) : Error BCP064: Found unexpected tokens in interpolated expression.
/azuredeploy.bicep(22,51) : Error BCP004: The string at this location is not terminated due to an
unexpected new line character.
Andra omfång
Det finns Azure PowerShell cmdletar för att verifiera distributionsmallar för prenumeration, hanteringsgrupp och klientomfång.
az deployment group validate \
--resource-group examplegroup \
--template-file azuredeploy.json
Utdata visar felkoder som InvalidTemplateDeployment eller AccountNameInvalid som du kan använda för att felsöka och åtgärda mallen.
För en Bicep-fil visar utdata varje fels rad- och kolumnnummer inom parenteser och felmeddelandet.
az deployment group validate \
--resource-group examplegroup \
--template-file main.bicep
/azuredeploy.bicep(22,51) : Error BCP064: Found unexpected tokens in interpolated expression.
/azuredeploy.bicep(22,51) : Error BCP004: The string at this location is not terminated due to an
unexpected new line character.
Andra omfång
Det finns Azure CLI-kommandon för att verifiera distributionsmallar för prenumeration, hanteringsgrupp och klientomfång.
Flera åtgärder bearbetas för att distribuera en Azure-resurs. Distributionsfel uppstår när en åtgärd godkänns av verifieringen men misslyckas under distributionen. Du kan visa meddelanden om varje distributionsåtgärd och varje distribution för en resursgrupp.