Korzystanie z narzędzia do sprawdzania poprawności szablonu w usłudze Azure Stack Hub
Sprawdź szablony usługi Azure Resource Manager za pomocą narzędzia do sprawdzania poprawności szablonu. Narzędzie sprawdza, czy szablon jest gotowy do wdrożenia w usłudze Azure Stack Hub. Narzędzie do sprawdzania poprawności można pobrać z repozytorium GitHub narzędzi usługi Azure Stack Hub.
Uwaga
Narzędzie weryfikuje szablon usługi Azure Resource Manager pod kątem obsługiwanych typów zasobów i wersji interfejsu API w usłudze Azure Stack. Jednak narzędzie nie weryfikuje właściwości obsługiwanych dla każdego typu zasobu.
Omówienie
Aby zweryfikować szablon, musisz najpierw utworzyć plik możliwości w chmurze, a następnie uruchomić narzędzie do walidacji. Użyj następujących modułów programu PowerShell z narzędzi usługi Azure Stack Hub:
- W folderze CloudCapabilities : Az.CloudCapabilities.psm1 tworzy plik JSON możliwości chmury reprezentujący usługi i wersje w chmurze usługi Azure Stack Hub.
- W folderze TemplateValidator: Az.TemplateValidator.psm1 używa pliku JSON możliwości w chmurze do testowania szablonów wdrażania w usłudze Azure Stack Hub.
Tworzenie pliku możliwości chmury
Przed użyciem modułu sprawdzania poprawności szablonu uruchom moduł Az.CloudCapabilities programu PowerShell, aby utworzyć plik JSON.
Uwaga
W przypadku zaktualizowania zintegrowanego systemu lub dodania nowych usług lub rozszerzeń wirtualnych należy ponownie uruchomić ten moduł.
Upewnij się, że masz łączność z usługą Azure Stack Hub. Te kroki można wykonać na hoście zestawu Azure Stack Development Kit (ASDK) lub użyć sieci VPN do nawiązania połączenia z poziomu stacji roboczej.
Zaimportuj moduł Az.CloudCapabilities programu PowerShell:
Import-Module .\CloudCapabilities\Az.CloudCapabilities.psm1
Użyj polecenia cmdlet Get-CloudCapabilities , aby pobrać wersje usługi i utworzyć plik JSON możliwości w chmurze. Jeśli nie określisz
-OutputPath
pliku AzureCloudCapabilities.json zostanie utworzony w bieżącym katalogu. Użyj rzeczywistej lokalizacji platformy Azure:
Get-AzCloudCapability -Location <your location> -Verbose
Walidacja szablonów
Wykonaj następujące kroki, aby zweryfikować szablony przy użyciu modułu Az.TemplateValidator programu PowerShell. Możesz użyć własnych szablonów lub użyć szablonów Szybkiego startu usługi Azure Stack Hub.
Zaimportuj moduł Az.TemplateValidator.psm1 programu PowerShell:
cd "c:\AzureStack-Tools-az\TemplateValidator" Import-Module .\Az.TemplateValidator.psm1
Uruchom moduł sprawdzania poprawności szablonu:
Test-AzTemplate -TemplatePath <path to template.json or template folder> `
-CapabilitiesPath <path to cloudcapabilities.json> `
-Verbose
Moduł sprawdzania poprawności wyświetla ostrzeżenia lub błędy walidacji szablonu w konsoli programu PowerShell i zapisuje je w pliku HTML w katalogu źródłowym. Poniższy zrzut ekranu przedstawia przykład raportu weryfikacji:
Parametry
Polecenie cmdlet modułu sprawdzania poprawności szablonu obsługuje następujące parametry.
Parametr | Opis | Wymagane |
---|---|---|
TemplatePath |
Określa ścieżkę do rekursywnego znajdowania szablonów usługi Azure Resource Manager. | Tak |
TemplatePattern |
Określa nazwę plików szablonu do dopasowania. | Nie |
CapabilitiesPath |
Określa ścieżkę do pliku JSON możliwości chmury. | Tak |
IncludeComputeCapabilities |
Obejmuje ocenę zasobów IaaS, takich jak rozmiary maszyn wirtualnych i rozszerzenia maszyn wirtualnych. | Nie |
IncludeStorageCapabilities |
Obejmuje ocenę zasobów magazynu, takich jak typy jednostek SKU. | Nie |
Report |
Określa nazwę wygenerowanego raportu HTML. | Nie |
Verbose |
Rejestruje błędy i ostrzeżenia w konsoli programu . | Nie |
Przykłady
Ten przykład sprawdza poprawność wszystkich szablonów szybkiego startu usługi Azure Stack Hub pobranych do magazynu lokalnego. Przykład weryfikuje również rozmiary i rozszerzenia maszyny wirtualnej względem możliwości zestawu ASDK.
test-AzTemplate -TemplatePath C:\AzureStack-Quickstart-Templates `
-CapabilitiesPath .\TemplateValidator\AzureStackCloudCapabilities_with_AddOns_20170627.json `
-TemplatePattern MyStandardTemplateName.json `
-IncludeComputeCapabilities `
-Report TemplateReport.html