Rövid útmutató: App Service-alkalmazás létrehozása ARM-sablonnal
Ismerkedjen meg a Azure-alkalmazás Szolgáltatással, ha üzembe helyez egy alkalmazást a felhőben egy Azure Resource Manager-sablon (ARM-sablon) és egy Azure CLI használatával a Cloud Shellben. A Resource Manager-sablon egy JavaScript Object Notation (JSON) fájl, amely meghatározza a projekt infrastruktúráját és konfigurációját. Ennek a rövid útmutatónak a elvégzése nem jár költséggel, mivel ingyenes App Service-szintet használ.
A rövid útmutató elvégzéséhez aktív előfizetéssel rendelkező Azure-fiókra lesz szüksége. Ha nem rendelkezik Azure-fiókkal, ingyenesen létrehozhat egyet.
Ugrás a végére
Ha már ismeri az ARM-sablonok használatát, a gomb kiválasztásával a végére ugorhat. Ez a gomb megnyitja az ARM-sablont az Azure Portalon.
Az Azure Portalon válassza az Új létrehozása lehetőséget egy új erőforráscsoport létrehozásához, majd válassza a Véleményezés + létrehozás gombot az alkalmazás üzembe helyezéséhez.
Ismerkedjen meg a Azure-alkalmazás Szolgáltatással, ha üzembe helyez egy alkalmazást a felhőben egy Azure Resource Manager-sablon (ARM-sablon) és egy Azure CLI használatával a Cloud Shellben. A Resource Manager-sablon egy JavaScript Object Notation (JSON) fájl, amely meghatározza a projekt infrastruktúráját és konfigurációját. Ennek a rövid útmutatónak a elvégzése nem jár költséggel, mivel ingyenes App Service-szintet használ.
A rövid útmutató elvégzéséhez aktív előfizetéssel rendelkező Azure-fiókra lesz szüksége. Ha nem rendelkezik Azure-fiókkal, ingyenesen létrehozhat egyet.
Ugrás a végére
Ha már ismeri az ARM-sablonok használatát, a gomb kiválasztásával a végére ugorhat. Ez a gomb megnyitja az ARM-sablont az Azure Portalon.
Az Azure Portalon válassza az Új létrehozása lehetőséget egy új erőforráscsoport létrehozásához, majd válassza a Véleményezés + létrehozás gombot az alkalmazás üzembe helyezéséhez.
Ismerkedjen meg a Azure-alkalmazás Szolgáltatással, ha üzembe helyez egy alkalmazást a felhőben egy Azure Resource Manager-sablon (ARM-sablon) és egy Azure CLI használatával a Cloud Shellben. A Resource Manager-sablon egy JavaScript Object Notation (JSON) fájl, amely meghatározza a projekt infrastruktúráját és konfigurációját. Egy Windows-tárolóalkalmazás üzembe helyezéséhez prémium csomagra van szükség. A díjszabás részleteiért tekintse meg az App Service díjszabási oldalát .
Ugrás a végére
Ha már ismeri az ARM-sablonok használatát, a gomb kiválasztásával a végére ugorhat. Ez a gomb megnyitja az ARM-sablont az Azure Portalon.
Az Azure Portalon válassza az Új létrehozása lehetőséget egy új erőforráscsoport létrehozásához, majd válassza a Véleményezés + létrehozás gombot az alkalmazás üzembe helyezéséhez.
A sablon áttekintése
Az ebben a gyorsútmutatóban használt sablon az Azure-gyorssablonok közül származik. Egy App Service-csomagot és egy App Service-alkalmazást helyez üzembe Windows rendszeren. Kompatibilis a .NET Core-, .NET-keretrendszer-, PHP-, Node.js- és statikus HTML-alkalmazásokkal. A Java esetében lásd a Java-alkalmazás létrehozása című témakört.
{
"$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'))]"
]
}
]
}
A sablonban két Azure-erőforrás van definiálva:
- Microsoft.Web/serverfarms: Hozzon létre egy App Service-csomagot.
- Microsoft.Web/sites: App Service-alkalmazás létrehozása.
Ez a sablon számos olyan paramétert tartalmaz, amelyek előre vannak definiálva az Ön kényelme érdekében. Az alapértelmezett paramétereket és azok leírását az alábbi táblázatban tekinthetik meg:
Paraméterek | Típus | Alapértelmezett érték | Leírás |
---|---|---|---|
webAppName | húr | webApp-<uniqueString> |
Alkalmazásnév egyedi sztringérték alapján |
appServicePlanName | húr | webAppPlan-<uniqueString> |
App Service-csomag neve egyedi sztringérték alapján |
hely | húr | [resourceGroup().location] |
Alkalmazásrégió |
sku | húr | F1 |
Példány mérete (F1 = ingyenes szint) |
language | húr | .NET |
Programozási nyelvi verem (.NET, php, node, html) |
helloWorld | Logikai | False |
True = Deploy ""Helló világ!" alkalmazás" app |
repoUrl | húr | |
Külső Git-adattár (nem kötelező) |
Az ebben a gyorsútmutatóban használt sablon az Azure-gyorssablonok közül származik. Egy App Service-csomagot és egy App Service-alkalmazást helyez üzembe Linuxon. Kompatibilis az App Service összes támogatott programozási nyelvével.
{
"$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'))]"
]
}
]
}
A sablonban két Azure-erőforrás van definiálva:
- Microsoft.Web/serverfarms: Hozzon létre egy App Service-csomagot.
- Microsoft.Web/sites: App Service-alkalmazás létrehozása.
Ez a sablon számos olyan paramétert tartalmaz, amelyek előre vannak definiálva az Ön kényelme érdekében. Az alapértelmezett paramétereket és azok leírását az alábbi táblázatban tekinthetik meg:
Paraméterek | Típus | Alapértelmezett érték | Leírás |
---|---|---|---|
webAppName | húr | webApp-<uniqueString> |
Alkalmazásnév egyedi sztringérték alapján |
appServicePlanName | húr | webAppPlan-<uniqueString> |
App Service-csomag neve egyedi sztringérték alapján |
hely | húr | [resourceGroup().location] |
Alkalmazásrégió |
sku | húr | F1 |
Példány mérete (F1 = ingyenes szint) |
linuxFxVersion | húr | DOTNETCORE|3.0 |
"Programozási nyelvi verem | Verzió" |
repoUrl | húr | |
Külső Git-adattár (nem kötelező) |
Az ebben a gyorsútmutatóban használt sablon az Azure-gyorssablonok közül származik. Egy App Service-csomagot és egy App Service-alkalmazást helyez üzembe egy Windows-tárolón.
{
"$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
}
}
]
}
A sablonban két Azure-erőforrás van definiálva:
- Microsoft.Web/serverfarms: Hozzon létre egy App Service-csomagot.
- Microsoft.Web/sites: App Service-alkalmazás létrehozása.
Ez a sablon számos olyan paramétert tartalmaz, amelyek előre vannak definiálva az Ön kényelme érdekében. Az alapértelmezett paramétereket és azok leírását az alábbi táblázatban tekinthetik meg:
Paraméterek | Típus | Alapértelmezett érték | Leírás |
---|---|---|---|
webAppName | húr | webApp-<uniqueString> |
Alkalmazásnév egyedi sztringérték alapján |
appServicePlanName | húr | webAppPlan-<uniqueString> |
App Service-csomag neve egyedi sztringérték alapján |
hely | húr | [resourceGroup().location] |
Alkalmazásrégió |
skuTier | húr | P1v3 |
Példány mérete (Elérhető termékváltozatok megtekintése) |
alkalmazás Gépház | húr | [{"name": "PORT","value": "8080"}] |
App Service-figyelési port. 8080-nak kell lennie. |
kind | húr | windows |
Operációs rendszer |
hyperv | húr | true |
Elkülönítési mód |
windowsFxVersion | húr | DOCKER|mcr.microsoft.com/dotnet/samples:aspnetapp |
Tárolólemezkép |
A sablon üzembe helyezése
Itt az Azure CLI-t használjuk a sablon üzembe helyezéséhez. Használhatja az Azure Portalt, az Azure PowerShellt és a REST API-t is. Az egyéb üzembehelyezési módszerekről a Sablonok üzembe helyezése című témakörben olvashat.
Az alábbi kód létrehoz egy erőforráscsoportot, egy App Service-csomagot és egy webalkalmazást. Beállított egy alapértelmezett erőforráscsoportot, App Service-csomagot és helyet. Cserélje le <app-name>
egy globálisan egyedi alkalmazásnévre (az érvényes karakterek a következőka-z
: és 0-9
-
).
Futtassa az alábbi parancsokat egy .NET-keretrendszeralkalmazás Windows rendszeren való üzembe helyezéséhez.
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"
A következő parancsok futtatásával hozzon létre Egy Python-alkalmazást Linuxon:
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"
Egy másik nyelvi verem üzembe helyezéséhez frissítsen linuxFxVersion
a megfelelő értékekkel. A minták a táblázatban láthatók. Az aktuális verziók megjelenítéséhez futtassa a következő parancsot a Cloud Shellben: az webapp config show --resource-group myResourceGroup --name <app-name> --query linuxFxVersion
Nyelv | Példa |
---|---|
.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" |
Futtassa az alábbi parancsokat egy .NET-alkalmazás Windows-tárolón való üzembe helyezéséhez.
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"
Feljegyzés
További Azure-alkalmazás szolgáltatássablon-mintákat itt talál.
Az üzembe helyezés ellenőrzése
Keresse meg és http://<app_name>.azurewebsites.net/
ellenőrizze, hogy létrejött-e.
Az erőforrások eltávolítása
Ha már nincs rá szükség, törölje az erőforráscsoportot.