使用模板验证工具检查 Azure 资源管理器模板 。 该工具检查模板是否已准备好部署到 Azure Stack Hub。 可以从 Azure Stack Hub 工具 GitHub 存储库获取验证工具。
注释
该工具验证 Azure Stack 中受支持的资源类型和 API 版本的 Azure 资源管理器模板。 但是,该工具不会验证每种资源类型支持的属性。
概述
要验证模板,必须先生成云功能文件,然后运行验证工具。 使用 Azure Stack Hub 工具中的以下 PowerShell 模块:
- 在 CloudCapabilities 文件夹中: Az.CloudCapabilities.psm1 创建表示 Azure Stack Hub 云中的服务和版本的云功能 JSON 文件。
- 在 TemplateValidator 文件夹中: Az.TemplateValidator.psm1 使用云功能 JSON 文件测试模板以在 Azure Stack Hub 中部署。
生成云功能文件
在使用模板验证程序之前,请运行 Az.CloudCapabilities PowerShell 模块以生成 JSON 文件。
注释
如果更新集成系统或添加任何新服务或虚拟扩展,则应再次运行此模块。
确保已连接到 Azure Stack Hub。 可以从 VPN 执行这些步骤,以便从工作站进行连接。
导入 Az.CloudCapabilities PowerShell 模块:
Import-Module .\CloudCapabilities\Az.CloudCapabilities.psm1
使用
Get-CloudCapabilities
cmdlet 检索服务版本并创建云功能 JSON 文件。 如果未指定-OutputPath
,则会在当前目录中创建 文件AzureCloudCapabilities.json 。 使用您实际的 Azure 位置:Get-AzCloudCapability -Location <your location> -Verbose
验证模板
使用以下步骤通过 Az.TemplateValidator PowerShell 模块验证模板。 可以使用自己的模板,也可以使用 Azure Stack Hub 快速入门模板。
导入 Az.TemplateValidator.psm1 PowerShell 模块:
cd "c:\AzureStack-Tools-az\TemplateValidator" Import-Module .\Az.TemplateValidator.psm1
运行模板验证程序:
Test-AzTemplate -TemplatePath <path to template.json or template folder> ` -CapabilitiesPath <path to cloudcapabilities.json> ` -Verbose
验证程序在 PowerShell 控制台中显示模板验证警告或错误,并将其写入源目录中的 HTML 文件。 以下屏幕截图是验证报告的示例:
参数
模板验证程序 cmdlet 支持以下参数。
参数 | DESCRIPTION | 必选 |
---|---|---|
TemplatePath |
指定以递归方式查找 Azure 资源管理器模板的路径。 | 是的 |
TemplatePattern |
指定要匹配的模板文件的名称。 | 否 |
CapabilitiesPath |
指定云功能 JSON 文件的路径。 | 是的 |
IncludeComputeCapabilities |
包括对 IaaS 资源的评估,例如 VM 大小和 VM 扩展。 | 否 |
IncludeStorageCapabilities |
包括存储资源的评估,例如 SKU 类型。 | 否 |
Report |
指定生成的 HTML 报表的名称。 | 否 |
Verbose |
将错误和警告记录到控制台。 | 否 |
例子
此示例验证下载到本地存储的所有 Azure Stack Hub 快速入门模板 。
test-AzTemplate -TemplatePath C:\AzureStack-Quickstart-Templates `
-CapabilitiesPath .\TemplateValidator\AzureStackCloudCapabilities_with_AddOns_20170627.json `
-TemplatePattern MyStandardTemplateName.json `
-IncludeComputeCapabilities `
-Report TemplateReport.html