Share via


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

  1. Accedere al portale di Azure.

  2. Selezionare Crea una risorsa.

  3. In Servizio di ricerca e Marketplace, immettere Piano di servizio app e selezionare Piano di servizio app.

  4. Seleziona Crea.

  5. 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.

    Screenshot of the Create App Service Plan page in the Azure portal.

  6. Seleziona Rivedi e crea.

  7. Seleziona Crea. La creazione della risorsa richiede alcuni minuti.

Esportare il modello

  1. Selezionare Vai alla risorsa.

    Screenshot of the Go to resource button in the Azure portal.

  2. Nel menu a sinistra, in Automazione, selezionare Esporta modello.

    Screenshot of the Export template option in the Azure portal.

    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.

  3. 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.

    Screenshot of the exported template JSON code in the Azure portal.

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.

  1. Accedere al portale di Azure.
  2. Nel menu di sinistra selezionare Gruppi di risorse.
  3. Selezionare il gruppo di risorse in cui è stata eseguita la distribuzione.
  4. 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.

  1. Nel portale di Azure selezionare Gruppi di risorse nel menu a sinistra.
  2. Digitare il nome del gruppo di risorse nel campo di testo Filtra per qualsiasi campo....
  3. Spuntare la casella accanto a myResourceGroup e selezionare myResourceGroup o il nome del gruppo di risorse.
  4. 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.