使用 Azure Stack Hub 中的範本驗證工具

使用範本驗證工具,檢查您的 Azure Resource Manager 範本。 此工具會檢查您的範本是否已準備好部署至 Azure Stack Hub。 您可以從 Azure Stack Hub 工具 GitHub 存放庫取得驗證工具。

注意

此工具會驗證 Azure Stack 中支援的資源類型和 API 版本的 Azure Resource Manager 範本。 不過,此工具不會驗證每個資源類型所支援的屬性。

概觀

若要驗證範本,您必須先建置雲端功能檔案,然後執行驗證工具。 使用 Azure Stack Hub 工具中的下列 PowerShell 模組:

  • CloudCapabilities 資料夾中:AzureRM.CloudCapabilities.psm1 會建立雲端功能 JSON 檔案,該檔案代表 Azure Stack Hub 雲端中的服務與版本。
  • TemplateValidator 資料夾中:Az.TemplateValidator.psm1 會使用雲端功能 JSON 檔案來測試將在 Azure Stack Hub 中部署的範本。

建置雲端功能檔案

在使用範本驗證程式之前,請先執行 Az.CloudCapabilities PowerShell 模組來建置 JSON 檔案。

注意

如果您更新您的整合式系統,或新增任何新的服務或虛擬擴充功能,則應該再次執行此模組。

  1. 確定您能順利連線到 Azure Stack Hub。 這些步驟可從 Azure Stack 開發套件 (ASDK) 主機執行,或者您可以使用 VPN 從您的工作站連線。

  2. 匯入 Az.CloudCapabilities PowerShell 模組:

    Import-Module .\CloudCapabilities\Az.CloudCapabilities.psm1
    
  3. 使用 Get-CloudCapabilities Cmdlet 來擷取服務版本並建立雲端功能 JSON 檔案。 如未指定 -OutputPath,目前的目錄中會建立 AzureCloudCapabilities.json 檔案。 使用您的實際 Azure 位置:

Get-AzCloudCapability -Location <your location> -Verbose

驗證範本

藉由這些步驟,使用 Az.TemplateValidator PowerShell 模組來驗證範本。 您可以使用您自己的範本,或使用 Azure Stack Hub 快速入門範本

  1. 匯入 Az.TemplateValidator.psm1 PowerShell 模組:

    cd "c:\AzureStack-Tools-az\TemplateValidator"
    Import-Module .\Az.TemplateValidator.psm1
    
  2. 執行範本驗證程式:

Test-AzTemplate -TemplatePath <path to template.json or template folder> `
-CapabilitiesPath <path to cloudcapabilities.json> `
-Verbose

驗證程式會在 PowerShell 主控台中顯示範本驗證警告或錯誤,並將其寫入來源目錄中的 HTML 檔案。 下列螢幕擷取畫面是驗證報告的範例:

Template validation report

參數

範本驗證程式 Cmdlet 支援下列參數。

參數 描述 必要
TemplatePath 指定要在其中遞迴尋找 Azure Resource Manager 範本的路徑。
TemplatePattern 指定要比對的範本檔案名稱。
CapabilitiesPath 指定雲端功能 JSON 檔案的路徑。
IncludeComputeCapabilities 包括 IaaS 資源 (例如 VM 大小與 VM 擴充功能) 的評估。
IncludeStorageCapabilities 包括儲存體資源 (例如 SKU 類型) 的評估。
Report 指定所產生之 HTML 報告的名稱。
Verbose 將錯誤與警告記錄到主控台。

範例

這個範例會驗證已下載到本機儲存體的所有 Azure Stack Hub 快速入門範本。 此範例也會針對 ASDK 功能,驗證虛擬機器 (VM) 大小和延伸模組。

test-AzTemplate -TemplatePath C:\AzureStack-Quickstart-Templates `
-CapabilitiesPath .\TemplateValidator\AzureStackCloudCapabilities_with_AddOns_20170627.json `
-TemplatePattern MyStandardTemplateName.json `
-IncludeComputeCapabilities `
-Report TemplateReport.html

後續步驟