Hızlı Başlangıç: ARM şablonu kullanarak App Service uygulaması oluşturma
Cloud Shell'de Azure Resource Manager şablonu (ARM şablonu) ve Azure CLI kullanarak bir uygulamayı buluta dağıtarak Azure Uygulaması Hizmeti'ni kullanmaya başlayın. Resource Manager şablonu, projenizin altyapısını ve yapılandırmasını tanımlayan bir JavaScript Nesne Gösterimi (JSON) dosyasıdır. Ücretsiz bir App Service katmanı kullandığınızdan bu hızlı başlangıcı tamamlamak için ücret ödemezsiniz.
Bu hızlı başlangıcı tamamlamak için etkin aboneliği olan bir Azure hesabınız olmalıdır. Azure hesabınız yoksa ücretsiz olarak bir hesap oluşturabilirsiniz.
Sona atla
ARM şablonlarını kullanmayı biliyorsanız, bu düğmeyi seçerek sona atlayabilirsiniz. Bu düğme ARM şablonunu Azure portalında açar.
Azure portalında Yeni oluştur'u seçerek yeni bir Kaynak Grubu oluşturun ve ardından gözden geçir ve oluştur düğmesini seçerek uygulamayı dağıtın.
Cloud Shell'de Azure Resource Manager şablonu (ARM şablonu) ve Azure CLI kullanarak bir uygulamayı buluta dağıtarak Azure Uygulaması Hizmeti'ni kullanmaya başlayın. Resource Manager şablonu, projenizin altyapısını ve yapılandırmasını tanımlayan bir JavaScript Nesne Gösterimi (JSON) dosyasıdır. Ücretsiz bir App Service katmanı kullandığınızdan bu hızlı başlangıcı tamamlamak için ücret ödemezsiniz.
Bu hızlı başlangıcı tamamlamak için etkin aboneliği olan bir Azure hesabınız olmalıdır. Azure hesabınız yoksa ücretsiz olarak bir hesap oluşturabilirsiniz.
Sona atla
ARM şablonlarını kullanmayı biliyorsanız, bu düğmeyi seçerek sona atlayabilirsiniz. Bu düğme ARM şablonunu Azure portalında açar.
Azure portalında Yeni oluştur'u seçerek yeni bir Kaynak Grubu oluşturun ve ardından gözden geçir ve oluştur düğmesini seçerek uygulamayı dağıtın.
Cloud Shell'de Azure Resource Manager şablonu (ARM şablonu) ve Azure CLI kullanarak bir uygulamayı buluta dağıtarak Azure Uygulaması Hizmeti'ni kullanmaya başlayın. Resource Manager şablonu, projenizin altyapısını ve yapılandırmasını tanımlayan bir JavaScript Nesne Gösterimi (JSON) dosyasıdır. Bir Windows kapsayıcı uygulamasını dağıtmak için premium plan gerekir. Fiyatlandırma ayrıntıları için App Service fiyatlandırma sayfasına bakın.
Sona atla
ARM şablonlarını kullanmayı biliyorsanız, bu düğmeyi seçerek sona atlayabilirsiniz. Bu düğme ARM şablonunu Azure portalında açar.
Azure portalında Yeni oluştur'u seçerek yeni bir Kaynak Grubu oluşturun ve ardından gözden geçir ve oluştur düğmesini seçerek uygulamayı dağıtın.
Şablonu gözden geçirme
Bu hızlı başlangıçta kullanılan şablon Azure Hızlı Başlangıç Şablonlarından alınmıştır. Windows'da bir App Service planı ve App Service uygulaması dağıtır. .NET Core, .NET Framework, PHP, Node.js ve Statik HTML uygulamalarıyla uyumludur. Java için bkz . Java uygulaması oluşturma.
{
"$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'))]"
]
}
]
}
Şablonda iki Azure kaynağı tanımlanır:
- Microsoft.Web/serverfarms: App Service planı oluşturun.
- Microsoft.Web/sites: App Service uygulaması oluşturun.
Bu şablon, kolaylık sağlamak için önceden tanımlanmış çeşitli parametreler içerir. Parametre varsayılanları ve açıklamaları için tabloya bakın:
Parametreler | Tür | Default value | Açıklama |
---|---|---|---|
webAppName | Dize | webApp-<uniqueString> |
Benzersiz dize değerini temel alan uygulama adı |
appServicePlanName | Dize | webAppPlan-<uniqueString> |
Benzersiz bir dize değerini temel alan App Service Planı adı |
konum | Dize | [resourceGroup().location] |
Uygulama bölgesi |
sku | Dize | F1 |
Örnek boyutu (F1 = Ücretsiz Katman) |
dil | Dize | .NET |
Programlama dil yığını (.NET, php, node, html) |
Helloworld | boolean | False |
True = "Merhaba Dünya" uygulamasını dağıtma |
repoUrl | Dize | |
Dış Git deposu (isteğe bağlı) |
Bu hızlı başlangıçta kullanılan şablon Azure Hızlı Başlangıç Şablonlarından alınmıştır. Linux'ta bir App Service planı ve App Service uygulaması dağıtır. App Service'te desteklenen tüm programlama dilleri ile uyumludur.
{
"$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'))]"
]
}
]
}
Şablonda iki Azure kaynağı tanımlanır:
- Microsoft.Web/serverfarms: App Service planı oluşturun.
- Microsoft.Web/sites: App Service uygulaması oluşturun.
Bu şablon, kolaylık sağlamak için önceden tanımlanmış çeşitli parametreler içerir. Parametre varsayılanları ve açıklamaları için tabloya bakın:
Parametreler | Tür | Default value | Açıklama |
---|---|---|---|
webAppName | Dize | webApp-<uniqueString> |
Benzersiz dize değerini temel alan uygulama adı |
appServicePlanName | Dize | webAppPlan-<uniqueString> |
Benzersiz bir dize değerini temel alan App Service Planı adı |
konum | Dize | [resourceGroup().location] |
Uygulama bölgesi |
sku | Dize | F1 |
Örnek boyutu (F1 = Ücretsiz Katman) |
linuxFxVersion | Dize | DOTNETCORE|3.0 |
"Programlama dili yığını | Sürüm" |
repoUrl | Dize | |
Dış Git deposu (isteğe bağlı) |
Bu hızlı başlangıçta kullanılan şablon Azure Hızlı Başlangıç Şablonlarından alınmıştır. Bir App Service planı ve Bir App Service uygulamasını bir Windows kapsayıcısı üzerinde dağıtır.
{
"$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
}
}
]
}
Şablonda iki Azure kaynağı tanımlanır:
- Microsoft.Web/serverfarms: App Service planı oluşturun.
- Microsoft.Web/sites: App Service uygulaması oluşturun.
Bu şablon, kolaylık sağlamak için önceden tanımlanmış çeşitli parametreler içerir. Parametre varsayılanları ve açıklamaları için tabloya bakın:
Parametreler | Tür | Default value | Açıklama |
---|---|---|---|
webAppName | Dize | webApp-<uniqueString> |
Benzersiz dize değerini temel alan uygulama adı |
appServicePlanName | Dize | webAppPlan-<uniqueString> |
Benzersiz bir dize değerini temel alan App Service Planı adı |
konum | Dize | [resourceGroup().location] |
Uygulama bölgesi |
skuTier | Dize | P1v3 |
Örnek boyutu (Kullanılabilir SKU'ları görüntüleme) |
uygulama Ayarlar | Dize | [{"name": "PORT","value": "8080"}] |
App Service dinleme bağlantı noktası. 8080 olması gerekiyor. |
tür | Dize | windows |
İşletim Sistemi |
hyperv | Dize | true |
Yalıtım modu |
windowsFxVersion | Dize | DOCKER|mcr.microsoft.com/dotnet/samples:aspnetapp |
Kapsayıcı görüntüsü |
Şablonu dağıtma
Azure CLI burada şablonu dağıtmak için kullanılır. Azure portalını, Azure PowerShell'i ve REST API'yi de kullanabilirsiniz. Diğer dağıtım yöntemlerini öğrenmek için bkz . Şablonları dağıtma.
Aşağıdaki kod bir kaynak grubu, App Service planı ve bir web uygulaması oluşturur. Sizin için varsayılan bir kaynak grubu, App Service planı ve konumu ayarlanmıştır. değerini genel olarak benzersiz bir uygulama adıyla değiştirin <app-name>
(geçerli karakterler : a-z
, 0-9
ve -
).
Windows'da bir .NET framework uygulaması dağıtmak için aşağıdaki komutları çalıştırın.
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"
Linux'ta bir Python uygulaması oluşturmak için aşağıdaki komutları çalıştırın:
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"
Farklı bir dil yığını dağıtmak için uygun değerlerle güncelleştirin linuxFxVersion
. Örnekler tabloda gösterilmiştir. Geçerli sürümleri göstermek için Cloud Shell'de aşağıdaki komutu çalıştırın: az webapp config show --resource-group myResourceGroup --name <app-name> --query linuxFxVersion
Dil | Örnek |
---|---|
.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" |
Windows kapsayıcısına bir .NET uygulaması dağıtmak için aşağıdaki komutları çalıştırın.
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"
Not
Burada daha fazla Azure Uygulaması Hizmet şablonu örneği bulabilirsiniz.
Dağıtımı doğrulama
http://<app_name>.azurewebsites.net/
Adresine gidin ve oluşturulduğunu doğrulayın.
Kaynakları temizleme
Artık gerekli olmadığında kaynak grubunu silin.