Esercitazione: Usare il modello esportato dal portale di Azure
In questa serie di esercitazioni è stato creato un modello per implementare un account di archiviazione di Azure. Nelle due esercitazioni successive verrà aggiunto un piano di servizio app e un sito Web. Invece di creare modelli da zero, verrà illustrato come esportare i modelli dal portale di Azure e come usare i modelli campione tra i modelli di avvio rapido di Azure. e si personalizzeranno tali modelli per l'uso. Questa esercitazione è incentrata sull'esportazione di modelli e sulla personalizzazione del risultato per il modello. Per completare l'esercitazione, sono necessari 14 minuti.
Prerequisiti
È consigliabile, ma non obbligatorio, completare l'esercitazione sugli output.
È necessario avere installato Visual Studio Code con l'estensione Strumenti di Resource Manager e Azure PowerShell o l'interfaccia della riga di comando di Azure (CLI). Per altre informazioni, vedere gli strumenti per i modelli.
Rivedere il modello
Al termine della precedente esercitazione, il modello includeva il seguente codice JSON:
{
"$schema": "https://schema.management.azure.com/schemas/2019-04-01/deploymentTemplate.json#",
"contentVersion": "1.0.0.0",
"parameters": {
"storagePrefix": {
"type": "string",
"minLength": 3,
"maxLength": 11
},
"storageSKU": {
"type": "string",
"defaultValue": "Standard_LRS",
"allowedValues": [
"Standard_LRS",
"Standard_GRS",
"Standard_RAGRS",
"Standard_ZRS",
"Premium_LRS",
"Premium_ZRS",
"Standard_GZRS",
"Standard_RAGZRS"
]
},
"location": {
"type": "string",
"defaultValue": "[resourceGroup().location]"
}
},
"variables": {
"uniqueStorageName": "[concat(parameters('storagePrefix'), uniqueString(resourceGroup().id))]"
},
"resources": [
{
"type": "Microsoft.Storage/storageAccounts",
"apiVersion": "2021-09-01",
"name": "[variables('uniqueStorageName')]",
"location": "[parameters('location')]",
"sku": {
"name": "[parameters('storageSKU')]"
},
"kind": "StorageV2",
"properties": {
"supportsHttpsTrafficOnly": true
}
}
],
"outputs": {
"storageEndpoint": {
"type": "object",
"value": "[reference(variables('uniqueStorageName')).primaryEndpoints]"
}
}
}
Questo modello è adatto per la distribuzione di account di archiviazione, ma è possibile che si voglia aggiungere altre risorse. È possibile esportare un modello da una risorsa esistente per ottenere rapidamente il codice JSON per tale risorsa.
Creare un piano di servizio app
Accedere al portale di Azure.
Selezionare Crea una risorsa.
In Servizio di ricerca e Marketplace, immettere Piano di servizio app e selezionare Piano di servizio app.
Seleziona Crea.
Nella pagina Crea piano si servizio app, immettere le seguenti informazioni:
- Sottoscrizione: selezionare la sottoscrizione di Azure dal menu a discesa.
- Gruppo di risorse: selezionare Crea nuovo e specificare un nome. Specificare un nome di gruppo di risorse diverso rispetto a quello usato in questa serie di esercitazioni.
- Nome: immettere un nome per il piano di servizio app.
- Sistema operativo: selezionare Linux.
- Area: selezionare una località di Azure dal menu a discesa, come Stati Uniti centrali.
- Piano tariffario: per ridurre i costi, selezionare Modifica dimensioni per modificare SKU e dimensioni nel primo Basic (B1), in Sviluppo/Test per carichi di lavoro meno impegnativi.
Seleziona Rivedi e crea.
Seleziona Crea. La creazione della risorsa richiede alcuni minuti.
Esportare il modello
Selezionare Vai alla risorsa.
Nel menu a sinistra, in Automazione, selezionare Esporta modello.
La funzionalità Esporta modello accetta lo stato corrente di una risorsa e genera un modello per distribuirlo. L'esportazione di un modello può essere utile per ottenere rapidamente il codice JSON necessario per distribuire una risorsa.
Esaminare la definizione
Microsoft.Web/serverfarms
e la definizione del parametro nel modello esportato. Non è necessario copiare queste sezioni. È possibile usare questo modello esportato solo come esempio di come aggiungere questa risorsa al modello.
Importante
In genere, il modello esportato è più dettagliato di quanto necessario quando si crea un modello. Ad esempio, l'oggetto SKU nel modello esportato include cinque proprietà. Questo modello funziona, ma è sufficiente usare la proprietà name
. È possibile iniziare con il modello esportato e quindi modificarlo in base alle esigenze.
Modificare il modello esistente
Il modello esportato include la maggior parte del codice JSON necessario, che va però personalizzato per il modello. Prestare particolare attenzione alle differenze tra parametri e variabili tra il modello e il modello esportato. Ovviamente, il processo di esportazione non conosce i parametri e le variabili già definiti nel modello.
L'esempio seguente evidenzia le aggiunte apportate al modello. Contiene infatti il codice esportato oltre ad alcune modifiche. In primo luogo, modifica il nome del parametro in modo che corrisponda alla convenzione di denominazione. Quindi, usa il parametro location per la località del piano di servizio app. In terzo luogo, rimuove alcune proprietà in cui il valore predefinito è corretto.
Copiare l'intero file e sostituire il modello con il contenuto del file.
{
"$schema": "https://schema.management.azure.com/schemas/2019-04-01/deploymentTemplate.json#",
"contentVersion": "1.0.0.0",
"parameters": {
"storagePrefix": {
"type": "string",
"minLength": 3,
"maxLength": 11
},
"storageSKU": {
"type": "string",
"defaultValue": "Standard_LRS",
"allowedValues": [
"Standard_LRS",
"Standard_GRS",
"Standard_RAGRS",
"Standard_ZRS",
"Premium_LRS",
"Premium_ZRS",
"Standard_GZRS",
"Standard_RAGZRS"
]
},
"location": {
"type": "string",
"defaultValue": "[resourceGroup().location]"
},
"appServicePlanName": {
"type": "string",
"defaultValue": "exampleplan"
}
},
"variables": {
"uniqueStorageName": "[concat(parameters('storagePrefix'), uniqueString(resourceGroup().id))]"
},
"resources": [
{
"type": "Microsoft.Storage/storageAccounts",
"apiVersion": "2021-09-01",
"name": "[variables('uniqueStorageName')]",
"location": "[parameters('location')]",
"sku": {
"name": "[parameters('storageSKU')]"
},
"kind": "StorageV2",
"properties": {
"supportsHttpsTrafficOnly": true
}
},
{
"type": "Microsoft.Web/serverfarms",
"apiVersion": "2021-03-01",
"name": "[parameters('appServicePlanName')]",
"location": "[parameters('location')]",
"sku": {
"name": "B1",
"tier": "Basic",
"size": "B1",
"family": "B",
"capacity": 1
},
"kind": "linux",
"properties": {
"perSiteScaling": false,
"reserved": true,
"targetWorkerCount": 0,
"targetWorkerSizeId": 0
}
}
],
"outputs": {
"storageEndpoint": {
"type": "object",
"value": "[reference(variables('uniqueStorageName')).primaryEndpoints]"
}
}
}
Distribuire un modello
Per distribuire un modello, usare l'interfaccia della riga di comando di Azure o Azure PowerShell.
Se non è stato ancora creato il gruppo di risorse, vedere Creare il gruppo di risorse. Nell'esempio si presuppone che la variabile templateFile
sia stata impostata sul percorso del file modello, come illustrato nella prima esercitazione.
New-AzResourceGroupDeployment `
-Name addappserviceplan `
-ResourceGroupName myResourceGroup `
-TemplateFile $templateFile `
-storagePrefix "store" `
-storageSKU Standard_LRS
Nota
Se la distribuzione fallisce, utilizzare l'opzione verbose
per ottenere informazioni sulle risorse create. Usare l'opzione debug
per ottenere ulteriori informazioni sul debug.
Verificare la distribuzione
Per verificare la distribuzione, esplorare il gruppo di risorse nel portale di Azure.
- Accedere al portale di Azure.
- Nel menu di sinistra selezionare Gruppi di risorse.
- Selezionare il gruppo di risorse in cui è stata eseguita la distribuzione.
- Il gruppo di risorse contiene un account di archiviazione e un piano di servizio app.
Pulire le risorse
Se si intende passare all'esercitazione successiva, non è necessario eliminare il gruppo di risorse.
Se invece ci si ferma, è opportuno eliminare il gruppo di risorse.
- Nel portale di Azure selezionare Gruppi di risorse nel menu a sinistra.
- Digitare il nome del gruppo di risorse nel campo di testo Filtra per qualsiasi campo....
- Spuntare la casella accanto a myResourceGroup e selezionare myResourceGroup o il nome del gruppo di risorse.
- Selezionare Elimina gruppo di risorse nel menu in alto.
Passaggi successivi
È stato illustrato come esportare un modello dal portale di Azure e come usare il modello esportato per lo sviluppo di modelli. Per semplificare lo sviluppo di modelli, è anche possibile usare i modelli di avvio rapido di Azure.