Het hulpprogramma voor sjabloonvalidatie gebruiken in Azure Stack Hub
Controleer uw Azure Resource Manager-sjablonen met het hulpprogramma voor sjabloonvalidatie. Het hulpprogramma controleert of uw sjabloon gereed is om te worden geïmplementeerd in Azure Stack Hub. U kunt het validatieprogramma ophalen uit de GitHub-opslagplaats van azure Stack Hub-hulpprogramma's.
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 voor elk resourcetype worden ondersteund.
Overzicht
Als u een sjabloon wilt valideren, moet u eerst een bestand met cloudmogelijkheden maken en vervolgens het validatieprogramma uitvoeren. Gebruik de volgende PowerShell-modules van Azure Stack Hub-hulpprogramma's:
- In de map CloudCapabilities maakt Az.CloudCapabilities.psm1 een JSON-bestand met cloudmogelijkheden dat de services en versies in een Azure Stack Hub-cloud vertegenwoordigt.
- In de map TemplateValidator gebruikt Az.TemplateValidator.psm1 een JSON-bestand met cloudmogelijkheden om sjablonen te testen voor implementatie in Azure Stack Hub.
Het bestand met cloudmogelijkheden bouwen
Voordat u de sjabloonvalidatie gebruikt, voert u de PowerShell-module Az.CloudCapabilities uit om een JSON-bestand te maken.
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.psm1
Gebruik de cmdlet Get-CloudCapabilities om serviceversies op te halen en een JSON-bestand met cloudmogelijkheden te maken. Als u 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 Azure Stack Hub-quickstartsjablonen gebruiken.
Importeer de PowerShell-module Az.TemplateValidator.psm1 :
cd "c:\AzureStack-Tools-az\TemplateValidator" Import-Module .\Az.TemplateValidator.psm1
Voer de sjabloonvalidator uit:
Test-AzTemplate -TemplatePath <path to template.json or template folder> `
-CapabilitiesPath <path to cloudcapabilities.json> `
-Verbose
De validator 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 sjabloonvalidator ondersteunt de volgende parameters.
Parameter | Beschrijving | Vereist |
---|---|---|
TemplatePath |
Hiermee geeft u het pad op voor recursief zoeken naar Azure Resource Manager-sjablonen. | Ja |
TemplatePattern |
Hiermee geeft u de naam van sjabloonbestanden overeenkomen. | Nee |
CapabilitiesPath |
Hiermee geeft u het pad naar het JSON-bestand met cloudmogelijkheden op. | Ja |
IncludeComputeCapabilities |
Bevat evaluatie van IaaS-resources, zoals VM-grootten en VM-extensies. | Nee |
IncludeStorageCapabilities |
Omvat evaluatie van opslagresources, zoals SKU-typen. | Nee |
Report |
Hiermee geeft u de naam van het gegenereerde HTML-rapport. | Nee |
Verbose |
Registreert fouten en waarschuwingen naar de console. | Nee |
Voorbeelden
In dit voorbeeld worden alle Azure Stack Hub-quickstart-sjablonen gevalideerd die zijn gedownload naar de lokale opslag. In het voorbeeld worden ook de grootten en extensies van virtuele machines (VM's) 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