Usare lo strumento di convalida del modello nell'hub di Azure Stack

Controllare i modelli di Azure Resource Manager con lo strumento di convalida del modello. Lo strumento verifica se il modello è pronto per la distribuzione nell'hub di Azure Stack. È possibile ottenere lo strumento di convalida dal repository GitHub degli strumenti di Azure Stack Hub.

Nota

Lo strumento convalida il modello di Resource Manager di Azure per i tipi di risorse e le versioni api supportate in Azure Stack. Tuttavia, lo strumento non convalida le proprietà supportate per ogni tipo di risorsa.

Panoramica

Per convalidare un modello, è prima necessario compilare un file di funzionalità cloud e quindi eseguire lo strumento di convalida. Usare i moduli di PowerShell seguenti dagli strumenti dell'hub di Azure Stack:

  • Nella cartella CloudCapabilities : Az.CloudCapabilities.psm1 crea un file JSON di funzionalità cloud che rappresenta i servizi e le versioni in un cloud di Hub di Azure Stack.
  • Nella cartella TemplateValidator: Az.TemplateValidator.psm1 usa un file JSON di funzionalità cloud per testare i modelli per la distribuzione nell'hub di Azure Stack.

Creare il file di funzionalità cloud

Prima di usare il validator modello, eseguire il modulo Az.CloudCapabilities PowerShell per compilare un file JSON.

Nota

Se si aggiorna il sistema integrato o si aggiungono nuovi servizi o estensioni virtuali, è necessario eseguire di nuovo questo modulo.

  1. Assicurarsi di avere la connettività all'hub di Azure Stack. Questi passaggi possono essere eseguiti dall'host ASDK (Azure Stack Development Kit) oppure è possibile usare una VPN per connettersi dalla workstation.

  2. Importare il modulo Az.CloudCapabilities PowerShell:

    Import-Module .\CloudCapabilities\Az.CloudCapabilities.psm1
    
  3. Usare il cmdlet Get-CloudCapabilities per recuperare le versioni del servizio e creare un file JSON delle funzionalità cloud. Se non si specifica -OutputPath, il file AzureCloudCapabilities.json viene creato nella directory corrente. Usare la posizione effettiva di Azure:

Get-AzCloudCapability -Location <your location> -Verbose

Convalidare i modelli

Usare questi passaggi per convalidare i modelli usando il modulo Az.TemplateValidator PowerShell. È possibile usare modelli personalizzati o usare i modelli di avvio rapido dell'hub di Azure Stack.

  1. Importare il modulo Az.TemplateValidator.psm1 PowerShell:

    cd "c:\AzureStack-Tools-az\TemplateValidator"
    Import-Module .\Az.TemplateValidator.psm1
    
  2. Eseguire il validator modello:

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

Il validator visualizza avvisi di convalida del modello o errori nella console di PowerShell e li scrive in un file HTML nella directory di origine. Lo screenshot seguente è un esempio di report di convalida:

Report di convalida dei modelli

Parametri

Il cmdlet di convalida del modello supporta i parametri seguenti.

Parametro Descrizione Obbligatoria
TemplatePath Specifica il percorso per trovare in modo ricorsivo i modelli di Azure Resource Manager.
TemplatePattern Specifica il nome dei file di modello da corrispondere. No
CapabilitiesPath Specifica il percorso del file JSON delle funzionalità cloud.
IncludeComputeCapabilities Include la valutazione delle risorse IaaS, ad esempio le dimensioni della macchina virtuale e le estensioni della macchina virtuale. No
IncludeStorageCapabilities Include la valutazione delle risorse di archiviazione, ad esempio i tipi di SKU. No
Report Specifica il nome del report HTML generato. No
Verbose Registra errori e avvisi nella console. No

Esempio

Questo esempio convalida tutti i modelli di avvio rapido dell'hub di Azure Stack scaricati nell'archiviazione locale. L'esempio convalida anche le dimensioni e le estensioni della macchina virtuale rispetto alle funzionalità ASDK.

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

Passaggi successivi