Het hulpprogramma voor sjabloonvalidatie gebruiken in Azure Stack Hub
Controleer uw Azure Resource Manager-sjablonen met het sjabloonvalidatieprogramma. Het hulpprogramma controleert of uw sjabloon gereed is voor implementatie in Azure Stack Hub. U kunt het validatieprogramma ophalen uit de Azure Stack Hub-hulpprogramma's GitHub opslagplaats.
Notitie
Het hulpprogramma valideert de Azure Resource Manager-sjabloon voor ondersteunde resourcetypen en API-versies in Azure Stack. Het hulpprogramma valideert echter niet de eigenschappen die worden ondersteund voor elk resourcetype.
Overzicht
Als u een sjabloon wilt valideren, moet u eerst een bestand met cloudmogelijkheden bouwen en vervolgens het validatieprogramma uitvoeren. Gebruik de volgende PowerShell-modules van Azure Stack Hub-hulpprogramma's:
- In de map CloudCapabilities : Az.CloudCapabilities.psm1 maakt een JSON-bestand met cloudmogelijkheden dat de services en versies in een Azure Stack Hub-cloud vertegenwoordigt.
- In de map TemplateValidator : Az.TemplateValidator.psm1 maakt gebruik van een JSON-bestand met cloudmogelijkheden om sjablonen te testen voor implementatie in Azure Stack Hub.
Het bestand met cloudmogelijkheden bouwen
Voordat u de sjabloonvalidator gebruikt, voert u de Az.CloudCapabilities PowerShell-module uit om een JSON-bestand te bouwen.
Notitie
Als u uw geïntegreerde systeem bijwerkt of nieuwe services of virtuele extensies toevoegt, moet u deze module opnieuw uitvoeren.
Zorg ervoor dat u verbinding hebt met Azure Stack Hub. Deze stappen kunnen worden uitgevoerd vanaf de ASDK-host (Azure Stack Development Kit) of u kunt een VPN gebruiken om verbinding te maken vanaf uw werkstation.
Importeer de PowerShell-module Az.CloudCapabilities :
Import-Module .\CloudCapabilities\Az.CloudCapabilities.psm1Gebruik de cmdlet Get-CloudCapabilities om serviceversies op te halen en een JSON-bestand met cloudmogelijkheden te maken. Als u dit niet opgeeft
-OutputPath, wordt het bestand AzureCloudCapabilities.json gemaakt in de huidige map. Uw werkelijke Azure-locatie gebruiken:
Get-AzCloudCapability -Location <your location> -Verbose
Sjablonen valideren
Gebruik deze stappen om sjablonen te valideren met behulp van de PowerShell-module Az.TemplateValidator . U kunt uw eigen sjablonen gebruiken of de Quickstart-sjablonen van Azure Stack Hub gebruiken.
Importeer de PowerShell-module Az.TemplateValidator.psm1 :
cd "c:\AzureStack-Tools-az\TemplateValidator" Import-Module .\Az.TemplateValidator.psm1Voer de sjabloonvalidator uit:
Test-AzTemplate -TemplatePath <path to template.json or template folder> `
-CapabilitiesPath <path to cloudcapabilities.json> `
-Verbose
De validatiefunctie geeft waarschuwingen of fouten voor sjabloonvalidatie weer in de PowerShell-console en schrijft deze naar een HTML-bestand in de bronmap. De volgende schermopname is een voorbeeld van een validatierapport:

Parameters
De cmdlet template validator ondersteunt de volgende parameters.
| Parameter | Beschrijving | Vereist |
|---|---|---|
TemplatePath |
Hiermee geeft u het pad op om Azure Resource Manager-sjablonen recursief te vinden. | Yes |
TemplatePattern |
Hiermee geeft u de naam op van sjabloonbestanden die moeten overeenkomen. | No |
CapabilitiesPath |
Hiermee geeft u het pad naar het JSON-bestand met cloudmogelijkheden op. | Yes |
IncludeComputeCapabilities |
Bevat evaluatie van IaaS-resources, zoals VM-grootten en VM-extensies. | No |
IncludeStorageCapabilities |
Omvat evaluatie van opslagbronnen, zoals SKU-typen. | No |
Report |
Hiermee geeft u de naam van het gegenereerde HTML-rapport. | No |
Verbose |
Registreert fouten en waarschuwingen voor de console. | No |
Voorbeelden
In dit voorbeeld worden alle Azure Stack Hub-quickstartsjablonen gevalideerd die zijn gedownload naar lokale opslag. In het voorbeeld worden ook vm-grootten (VM)-grootten en -extensies gevalideerd op basis van ASDK-mogelijkheden.
test-AzTemplate -TemplatePath C:\AzureStack-Quickstart-Templates `
-CapabilitiesPath .\TemplateValidator\AzureStackCloudCapabilities_with_AddOns_20170627.json `
-TemplatePattern MyStandardTemplateName.json `
-IncludeComputeCapabilities `
-Report TemplateReport.html