Rychlý start: Vytvoření aplikace App Service pomocí šablony ARM

Začněte se službou Aplikace Azure Service nasazením aplikace do cloudu pomocí šablony Azure Resource Manageru (šablony ARM) a Azure CLI v Cloud Shellu. Šablona Resource Manageru je soubor JSON (JavaScript Object Notation), který definuje infrastrukturu a konfiguraci projektu. Za dokončení tohoto rychlého startu se vám neúčtují žádné náklady, protože používáte bezplatnou úroveň služby App Service.

K dokončení tohoto rychlého startu budete potřebovat účet Azure s aktivním předplatným. Pokud účet Azure nemáte, můžete si ho zdarma vytvořit.

Přeskočit na konec

Pokud jste obeznámeni s používáním šablon ARM, můžete přejít na konec výběrem tohoto Button to deploy the Resource Manager template to Azure. tlačítka. Toto tlačítko otevře šablonu ARM na webu Azure Portal.

Screenshot of the ARM Template in the Azure portal.

Na webu Azure Portal vyberte Vytvořit novou a vytvořte novou skupinu prostředků a pak výběrem tlačítka Zkontrolovat a vytvořit aplikaci nasaďte.

Začněte se službou Aplikace Azure Service nasazením aplikace do cloudu pomocí šablony Azure Resource Manageru (šablony ARM) a Azure CLI v Cloud Shellu. Šablona Resource Manageru je soubor JSON (JavaScript Object Notation), který definuje infrastrukturu a konfiguraci projektu. Za dokončení tohoto rychlého startu se vám neúčtují žádné náklady, protože používáte bezplatnou úroveň služby App Service.

K dokončení tohoto rychlého startu budete potřebovat účet Azure s aktivním předplatným. Pokud účet Azure nemáte, můžete si ho zdarma vytvořit.

Přeskočit na konec

Pokud jste obeznámeni s používáním šablon ARM, můžete přejít na konec výběrem tohoto Button to deploy the Resource Manager template to Azure. tlačítka. Toto tlačítko otevře šablonu ARM na webu Azure Portal.

Screenshot of the ARM Template in the Azure portal.

Na webu Azure Portal vyberte Vytvořit novou a vytvořte novou skupinu prostředků a pak výběrem tlačítka Zkontrolovat a vytvořit aplikaci nasaďte.

Začněte se službou Aplikace Azure Service nasazením aplikace do cloudu pomocí šablony Azure Resource Manageru (šablony ARM) a Azure CLI v Cloud Shellu. Šablona Resource Manageru je soubor JSON (JavaScript Object Notation), který definuje infrastrukturu a konfiguraci projektu. K nasazení aplikace typu kontejner pro Windows je potřeba plán Premium. Podrobnosti o cenách najdete na stránce s cenami služby App Service.

Přeskočit na konec

Pokud jste obeznámeni s používáním šablon ARM, můžete přejít na konec výběrem tohoto Button to deploy the Resource Manager template to Azure. tlačítka. Toto tlačítko otevře šablonu ARM na webu Azure Portal.

Screenshot of the ARM Template in the Azure portal.

Na webu Azure Portal vyberte Vytvořit novou a vytvořte novou skupinu prostředků a pak výběrem tlačítka Zkontrolovat a vytvořit aplikaci nasaďte.

Kontrola šablony

Šablona použitá v tomto rychlém startu je jednou z šablon pro rychlý start Azure. Nasadí plán služby App Service a aplikaci App Service ve Windows. Je kompatibilní s aplikacemi .NET Core, .NET Framework, PHP, Node.js a Static HTML. Informace o Javě najdete v tématu Vytvoření aplikace v Javě.

{
  "$schema": "https://schema.management.azure.com/schemas/2019-04-01/deploymentTemplate.json#",
  "contentVersion": "1.0.0.0",
  "metadata": {
    "_generator": {
      "name": "bicep",
      "version": "0.25.53.49325",
      "templateHash": "16144177164140676603"
    }
  },
  "parameters": {
    "webAppName": {
      "type": "string",
      "defaultValue": "[format('webApp-{0}', uniqueString(resourceGroup().id))]",
      "minLength": 2,
      "metadata": {
        "description": "Web app name."
      }
    },
    "location": {
      "type": "string",
      "defaultValue": "[resourceGroup().location]",
      "metadata": {
        "description": "Location for all resources."
      }
    },
    "sku": {
      "type": "string",
      "defaultValue": "F1",
      "metadata": {
        "description": "The SKU of App Service Plan."
      }
    },
    "language": {
      "type": "string",
      "defaultValue": ".net",
      "allowedValues": [
        ".net",
        "php",
        "node",
        "html"
      ],
      "metadata": {
        "description": "The language stack of the app."
      }
    },
    "helloWorld": {
      "type": "bool",
      "defaultValue": false,
      "metadata": {
        "description": "true = deploy a sample Hello World app."
      }
    },
    "repoUrl": {
      "type": "string",
      "defaultValue": "",
      "metadata": {
        "description": "Optional Git Repo URL"
      }
    }
  },
  "variables": {
    "appServicePlanPortalName": "[format('AppServicePlan-{0}', parameters('webAppName'))]",
    "gitRepoReference": {
      ".net": "https://github.com/Azure-Samples/app-service-web-dotnet-get-started",
      "node": "https://github.com/Azure-Samples/nodejs-docs-hello-world",
      "php": "https://github.com/Azure-Samples/php-docs-hello-world",
      "html": "https://github.com/Azure-Samples/html-docs-hello-world"
    },
    "gitRepoUrl": "[if(bool(parameters('helloWorld')), variables('gitRepoReference')[toLower(parameters('language'))], parameters('repoUrl'))]",
    "configReference": {
      ".net": {
        "comments": ".Net app. No additional configuration needed."
      },
      "html": {
        "comments": "HTML app. No additional configuration needed."
      },
      "php": {
        "phpVersion": "7.4"
      },
      "node": {
        "appSettings": [
          {
            "name": "WEBSITE_NODE_DEFAULT_VERSION",
            "value": "12.15.0"
          }
        ]
      }
    }
  },
  "resources": [
    {
      "type": "Microsoft.Web/serverfarms",
      "apiVersion": "2023-01-01",
      "name": "[variables('appServicePlanPortalName')]",
      "location": "[parameters('location')]",
      "sku": {
        "name": "[parameters('sku')]"
      }
    },
    {
      "type": "Microsoft.Web/sites",
      "apiVersion": "2023-01-01",
      "name": "[parameters('webAppName')]",
      "location": "[parameters('location')]",
      "identity": {
        "type": "SystemAssigned"
      },
      "properties": {
        "siteConfig": "[variables('configReference')[parameters('language')]]",
        "serverFarmId": "[resourceId('Microsoft.Web/serverfarms', variables('appServicePlanPortalName'))]",
        "httpsOnly": true
      },
      "dependsOn": [
        "[resourceId('Microsoft.Web/serverfarms', variables('appServicePlanPortalName'))]"
      ]
    },
    {
      "condition": "[contains(variables('gitRepoUrl'), 'http')]",
      "type": "Microsoft.Web/sites/sourcecontrols",
      "apiVersion": "2023-01-01",
      "name": "[format('{0}/{1}', parameters('webAppName'), 'web')]",
      "properties": {
        "repoUrl": "[variables('gitRepoUrl')]",
        "branch": "master",
        "isManualIntegration": true
      },
      "dependsOn": [
        "[resourceId('Microsoft.Web/sites', parameters('webAppName'))]"
      ]
    }
  ]
}

V šabloně jsou definované dva prostředky Azure:

Tato šablona obsahuje několik parametrů, které jsou předdefinované pro vaše pohodlí. V tabulce najdete výchozí hodnoty parametrů a jejich popisy:

Parametry Type Default value Popis
webAppName string webApp-<uniqueString> Název aplikace založený na jedinečné řetězcové hodnotě
appServicePlanName string webAppPlan-<uniqueString> Název plánu služby App Service založený na jedinečné řetězcové hodnotě
location string [resourceGroup().location] Oblast aplikace
sku string F1 Velikost instance (F1 = úroveň Free)
jazyk string .NET Stack programovacího jazyka (.NET, php, node, html)
Helloworld boolean False True = Nasazení aplikace Hello World
repoUrl string Externí úložiště Git (volitelné)

Šablona použitá v tomto rychlém startu je jednou z šablon pro rychlý start Azure. Nasadí plán služby App Service a aplikaci App Service v Linuxu. Je kompatibilní se všemi podporovanými programovacími jazyky ve službě App Service.

{
  "$schema": "https://schema.management.azure.com/schemas/2019-04-01/deploymentTemplate.json#",
  "contentVersion": "1.0.0.0",
  "metadata": {
    "_generator": {
      "name": "bicep",
      "version": "0.5.6.12127",
      "templateHash": "10602523904429381366"
    }
  },
  "parameters": {
    "webAppName": {
      "type": "string",
      "defaultValue": "[format('webApp-{0}', uniqueString(resourceGroup().id))]",
      "minLength": 2,
      "metadata": {
        "description": "Web app name."
      }
    },
    "location": {
      "type": "string",
      "defaultValue": "[resourceGroup().location]",
      "metadata": {
        "description": "Location for all resources."
      }
    },
    "sku": {
      "type": "string",
      "defaultValue": "F1",
      "metadata": {
        "description": "The SKU of App Service Plan."
      }
    },
    "linuxFxVersion": {
      "type": "string",
      "defaultValue": "DOTNETCORE|3.0",
      "metadata": {
        "description": "The Runtime stack of current web app"
      }
    },
    "repoUrl": {
      "type": "string",
      "defaultValue": " ",
      "metadata": {
        "description": "Optional Git Repo URL"
      }
    }
  },
  "variables": {
    "appServicePlanPortalName": "[format('AppServicePlan-{0}', parameters('webAppName'))]"
  },
  "resources": [
    {
      "type": "Microsoft.Web/serverfarms",
      "apiVersion": "2021-02-01",
      "name": "[variables('appServicePlanPortalName')]",
      "location": "[parameters('location')]",
      "sku": {
        "name": "[parameters('sku')]"
      },
      "kind": "linux",
      "properties": {
        "reserved": true
      }
    },
    {
      "type": "Microsoft.Web/sites",
      "apiVersion": "2021-02-01",
      "name": "[parameters('webAppName')]",
      "location": "[parameters('location')]",
      "properties": {
        "httpsOnly": true,
        "serverFarmId": "[resourceId('Microsoft.Web/serverfarms', variables('appServicePlanPortalName'))]",
        "siteConfig": {
          "linuxFxVersion": "[parameters('linuxFxVersion')]",
          "minTlsVersion": "1.2",
          "ftpsState": "FtpsOnly"
        }
      },
      "identity": {
        "type": "SystemAssigned"
      },
      "dependsOn": [
        "[resourceId('Microsoft.Web/serverfarms', variables('appServicePlanPortalName'))]"
      ]
    },
    {
      "condition": "[contains(parameters('repoUrl'), 'http')]",
      "type": "Microsoft.Web/sites/sourcecontrols",
      "apiVersion": "2021-02-01",
      "name": "[format('{0}/{1}', parameters('webAppName'), 'web')]",
      "properties": {
        "repoUrl": "[parameters('repoUrl')]",
        "branch": "master",
        "isManualIntegration": true
      },
      "dependsOn": [
        "[resourceId('Microsoft.Web/sites', parameters('webAppName'))]"
      ]
    }
  ]
}

V šabloně jsou definované dva prostředky Azure:

Tato šablona obsahuje několik parametrů, které jsou předdefinované pro vaše pohodlí. V tabulce najdete výchozí hodnoty parametrů a jejich popisy:

Parametry Type Default value Popis
webAppName string webApp-<uniqueString> Název aplikace založený na jedinečné řetězcové hodnotě
appServicePlanName string webAppPlan-<uniqueString> Název plánu služby App Service založený na jedinečné řetězcové hodnotě
location string [resourceGroup().location] Oblast aplikace
sku string F1 Velikost instance (F1 = úroveň Free)
linuxFxVersion string DOTNETCORE|3.0 "Stack programovacího jazyka | Verze
repoUrl string Externí úložiště Git (volitelné)

Šablona použitá v tomto rychlém startu je jednou z šablon pro rychlý start Azure. Nasadí plán služby App Service a aplikaci App Service do kontejneru Windows.

{
  "$schema": "https://schema.management.azure.com/schemas/2019-04-01/deploymentTemplate.json#",
  "contentVersion": "1.0.0.0",
  "metadata": {
    "_generator": {
      "name": "bicep",
      "version": "0.25.53.49325",
      "templateHash": "10193476814580854111"
    }
  },
  "parameters": {
    "appServiceWebAppName": {
      "type": "string",
      "defaultValue": "[format('webApp-{0}', uniqueString(resourceGroup().id))]",
      "minLength": 2,
      "metadata": {
        "description": "Web App name."
      }
    },
    "appServicePlanName": {
      "type": "string",
      "defaultValue": "[format('webApp-{0}', uniqueString(resourceGroup().id))]",
      "minLength": 2,
      "metadata": {
        "description": "App Service Plan name."
      }
    },
    "skuTier": {
      "type": "string",
      "defaultValue": "P1v3"
    },
    "location": {
      "type": "string",
      "defaultValue": "[resourceGroup().location]"
    }
  },
  "resources": [
    {
      "type": "Microsoft.Web/sites",
      "apiVersion": "2023-01-01",
      "name": "[parameters('appServiceWebAppName')]",
      "location": "[parameters('location')]",
      "tags": {
        "[format('hidden-related:{0}', resourceId('Microsoft.Web/serverfarms', parameters('appServicePlanName')))]": "empty"
      },
      "properties": {
        "siteConfig": {
          "appSettings": [
            {
              "name": "PORT",
              "value": "8080"
            }
          ],
          "appCommandLine": "",
          "windowsFxVersion": "DOCKER|mcr.microsoft.com/dotnet/samples:aspnetapp"
        },
        "serverFarmId": "[resourceId('Microsoft.Web/serverfarms', parameters('appServicePlanName'))]"
      },
      "dependsOn": [
        "[resourceId('Microsoft.Web/serverfarms', parameters('appServicePlanName'))]"
      ]
    },
    {
      "type": "Microsoft.Web/serverfarms",
      "apiVersion": "2023-01-01",
      "name": "[parameters('appServicePlanName')]",
      "location": "[parameters('location')]",
      "sku": {
        "name": "[parameters('skuTier')]"
      },
      "kind": "windows",
      "properties": {
        "hyperV": true
      }
    }
  ]
}

V šabloně jsou definované dva prostředky Azure:

Tato šablona obsahuje několik parametrů, které jsou předdefinované pro vaše pohodlí. V tabulce najdete výchozí hodnoty parametrů a jejich popisy:

Parametry Type Default value Popis
webAppName string webApp-<uniqueString> Název aplikace založený na jedinečné řetězcové hodnotě
appServicePlanName string webAppPlan-<uniqueString> Název plánu služby App Service založený na jedinečné řetězcové hodnotě
location string [resourceGroup().location] Oblast aplikace
skuTier string P1v3 Velikost instance (zobrazení dostupných skladových položek)
aplikace Nastavení string [{"name": "PORT","value": "8080"}] Port naslouchání službě App Service Musí být 8080.
kind string windows Operační systém
hyperv string true Režim izolace
windowsFxVersion string DOCKER|mcr.microsoft.com/dotnet/samples:aspnetapp Image kontejneru

Nasazení šablony

Azure CLI se zde používá k nasazení šablony. Můžete také použít Azure Portal, Azure PowerShell a rozhraní REST API. Další metody nasazení najdete v tématu Nasazení šablon.

Následující kód vytvoří skupinu prostředků, plán služby App Service a webovou aplikaci. Pro vás byla nastavena výchozí skupina prostředků, plán služby App Service a umístění. Nahraďte <app-name> globálně jedinečným názvem aplikace (platné znaky jsou a-z, 0-9a -).

Spuštěním následujících příkazů nasaďte aplikaci .NET Framework ve Windows.

az group create --name myResourceGroup --location "southcentralus"

az deployment group create --resource-group myResourceGroup \
--parameters language=".NET" helloWorld="true" webAppName="<app-name>" \
--template-uri "https://raw.githubusercontent.com/Azure/azure-quickstart-templates/master/quickstarts/microsoft.web/app-service-docs-windows/azuredeploy.json"

Spuštěním následujících příkazů vytvořte aplikaci v Pythonu v Linuxu:

az group create --name myResourceGroup --location "southcentralus"

az deployment group create --resource-group myResourceGroup --parameters webAppName="<app-name>" linuxFxVersion="PYTHON|3.9" \
--template-uri "https://raw.githubusercontent.com/Azure/azure-quickstart-templates/master/quickstarts/microsoft.web/app-service-docs-linux/azuredeploy.json"

Pokud chcete nasadit jiný zásobník jazyků, aktualizujte linuxFxVersion odpovídající hodnoty. Ukázky se zobrazují v tabulce. Pokud chcete zobrazit aktuální verze, spusťte v Cloud Shellu následující příkaz: az webapp config show --resource-group myResourceGroup --name <app-name> --query linuxFxVersion

Jazyk Příklad
.NET linuxFxVersion="DOTNETCORE|3.0"
PHP linuxFxVersion="PHP|7.4"
Node.js linuxFxVersion="NODE|10.15"
Java linuxFxVersion="JAVA|1.8 |TOMCAT|9,0"
Python linuxFxVersion="PYTHON|3.7"

Spuštěním následujících příkazů nasaďte aplikaci .NET do kontejneru Windows.

az group create --name myResourceGroup --location "southcentralus"

az deployment group create --resource-group myResourceGroup \
--parameters webAppName="<app-name>" \
--template-uri "https://raw.githubusercontent.com/Azure/azure-quickstart-templates/master/quickstarts/microsoft.web/app-service-docs-windows-container/azuredeploy.json"

Ověření nasazení

http://<app_name>.azurewebsites.net/ Vyhledejte a ověřte, že je vytvořený.

Screenshot of the Windows code experience.

Screenshot of the Linux experience.

Screenshot of the Windows container experience.

Vyčištění prostředků

Pokud už skupinu prostředků nepotřebujete, odstraňte ji.

Další kroky